Eclipse/プラグイン開発のTIPS集/FormEditor
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#topicpath
----
FormEditor (org.eclipse.ui.forms.editor.FormEditor)はEcli...
-plugin.xmlのマニフェストエディタのような外観
-複数タブ(ページ)を持つ
ようなエディタを作成することができます。
**クラス構成 [#i2b8ab07]
まずFormEditor は org.eclipse.ui.part.MultiPageEditorPart...
通常のMultiPageEditorPart は
protected void createPages();
メソッドをオーバーライドし、各エディタ(やウィジェット)を
editor = new MyEditor();
int index = addPage(editor, getEditorInput());
setPageText(index, editor.getTitle());
としたり、
Composite composite = new Composite(getContainer(), SWT....
FillLayout layout = new FillLayout();
composite.setLayout(layout);
text = new StyledText(composite, SWT.H_SCROLL | SWT.V_SC...
text.setEditable(false);
int index = addPage(composite);
setPageText(index, "Preview");
などとしていきます。ようするにEditorやCompositeを各ページ...
それに対してFormEditor は、同じく
protected void createPages();
ないで
addPage(new HogePage());
と追加していくのですが、登録するクラスが org.eclipse.ui.f...
***TextEditorを追加したい [#c5e9957a]
FormEditorはMultiPageEditorPart なので、簡単にテキストエ...
SourceEditorPageBridge extends TextEditor implements IFo...
をつくって FormEditor#addPagesないで
SourceEditorPageBridge sourcePage = new SourceEditorPage...
sourcePage.setInput(this.getEditorInput());
としました。
***まとめると [#af5238a4]
まとめるとクラス構成はだいたいこんな感じになっています
FormEditor(の実装クラス) 1 -> N FormPage(の実装クラス)
1 -> 1 MasterDetailsBlock(の実装クラス) 1 -> N ItemDeta...
で、FormEditor -> FormPage は
FormEditor#addPages(); と
FormEditor#addPage(IEditorPart, IEditorInput);
FormEditor#addPage(new ItemPage(this));
で関連づけられます。
FormPage と MasterDetailsBlock は
FormPage#createFormContent(IManagedForm)
ないでMasterDetailsBlock#createContent(managedForm)を呼ぶ...
さらにMasterDetailsBlock と ItemDetailsPage は
MasterDetailsBlock#registerPages(DetailsPart)
ないで detailsPart.registerPage(Hoge.class, new HogeDetai...
----
この記事は
#vote(おもしろかった[16],そうでもない[0])
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
#topicpath
----
FormEditor (org.eclipse.ui.forms.editor.FormEditor)はEcli...
-plugin.xmlのマニフェストエディタのような外観
-複数タブ(ページ)を持つ
ようなエディタを作成することができます。
**クラス構成 [#i2b8ab07]
まずFormEditor は org.eclipse.ui.part.MultiPageEditorPart...
通常のMultiPageEditorPart は
protected void createPages();
メソッドをオーバーライドし、各エディタ(やウィジェット)を
editor = new MyEditor();
int index = addPage(editor, getEditorInput());
setPageText(index, editor.getTitle());
としたり、
Composite composite = new Composite(getContainer(), SWT....
FillLayout layout = new FillLayout();
composite.setLayout(layout);
text = new StyledText(composite, SWT.H_SCROLL | SWT.V_SC...
text.setEditable(false);
int index = addPage(composite);
setPageText(index, "Preview");
などとしていきます。ようするにEditorやCompositeを各ページ...
それに対してFormEditor は、同じく
protected void createPages();
ないで
addPage(new HogePage());
と追加していくのですが、登録するクラスが org.eclipse.ui.f...
***TextEditorを追加したい [#c5e9957a]
FormEditorはMultiPageEditorPart なので、簡単にテキストエ...
SourceEditorPageBridge extends TextEditor implements IFo...
をつくって FormEditor#addPagesないで
SourceEditorPageBridge sourcePage = new SourceEditorPage...
sourcePage.setInput(this.getEditorInput());
としました。
***まとめると [#af5238a4]
まとめるとクラス構成はだいたいこんな感じになっています
FormEditor(の実装クラス) 1 -> N FormPage(の実装クラス)
1 -> 1 MasterDetailsBlock(の実装クラス) 1 -> N ItemDeta...
で、FormEditor -> FormPage は
FormEditor#addPages(); と
FormEditor#addPage(IEditorPart, IEditorInput);
FormEditor#addPage(new ItemPage(this));
で関連づけられます。
FormPage と MasterDetailsBlock は
FormPage#createFormContent(IManagedForm)
ないでMasterDetailsBlock#createContent(managedForm)を呼ぶ...
さらにMasterDetailsBlock と ItemDetailsPage は
MasterDetailsBlock#registerPages(DetailsPart)
ないで detailsPart.registerPage(Hoge.class, new HogeDetai...
----
この記事は
#vote(おもしろかった[16],そうでもない[0])
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: