More Related Content
Similar to Plug In Spyのソースコードリーディング
Similar to Plug In Spyのソースコードリーディング (13)
Plug In Spyのソースコードリーディング
- 8. plugin.xml <extension point="org.eclipse.ui.commands"> <category id="org.eclipse.pde.runtime.spy.commands.category" name="%spy-category.name"> </category> <command categoryId="org.eclipse.pde.runtime.spy.commands.category" id="org.eclipse.pde.runtime.spy.commands.spyCommand" name="%spy-command.name"> </command> </extension> <extension point="org.eclipse.ui.bindings"> <key commandId="org.eclipse.pde.runtime.spy.commands.spyCommand" contextId="org.eclipse.ui.contexts.dialogAndWindow" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="M3+M2+F1"> </key> </extension> <extension point="org.eclipse.ui.handlers"> <handler class="org.eclipse.pde.internal.runtime.spy.handlers.SpyHandler" commandId="org.eclipse.pde.runtime.spy.commands.spyCommand"> </handler> </extension> コマンドの定義 キーバインドの定義 ハンドラの定義
- 12. ISpySection の実装クラス 情報の表示に FormToolkit を継承したSpyFormTool kit と FormText( フォームに HTML を表示するウィジェット ) を 使用している アクティブな Help の情報を表示 HandlerUtil#getActiveShell で Shell を取得し Shell の型によって処理を分けている ActiveHelpSection アクティブな Dialog の情報を表示 HandlerUtil#getActiveShell で Shell を取得し IPageChangeProvider かどうか調べている ActiveDialogPageSection アクティブな Wizard の情報を表示 HandlerUtil#getActiveShell で Shell を取得し WizardDialog かどうか調べている ActiveWizardSection アクティブな Selection の情報を表示 HandlerUtil#getCurrentSelection を使用 ActiveSelectionSection アクティブな Editor,View の情報を表示 HandlerUtil#getActivePart を使用 ActivePartSection アクティブな Shell の情報を表示 HandlerUtil#getActiveShell を使用 ActiveShellSection
- 14. SpyFormToolkit のメソッド ヘルプの id を表示する部分を FormText に設定する HTML の形式で生成する FormText にイメージも設定する createHelpIdentifierSection 使われてない メニューとかの id の表示は ActivePartSection で生成されている createIdentifierSection クラスを表示する部分を FormText に設定する HTML の形式で生成する FormText にイメージも設定する createClassSection インターフェイスを表示する部分を FormText に設定する HTML の形式で生成する FormText にイメージも設定する createInterfaceSection FormText を生成して SpyHyperlinkAdapter を設定する createFormText
- 15. SpyFormToolkit のメソッド SaveImageAction を生成してツールバーマネージャに設定している createImageAction アイコンを保存するツールバーを生成する createSectionToolbar パッケージ名を含めたクラス名からクラス名だけを抽出する getSimpleName FormText に設定するプラグインの情報とマニフェストファイルへのリンクを生成する generatePluginDetailsText FormText に設定するクラスとインターフェイスのリンクの部分を生成する createClassReference
- 17. SpyIDEUtil のメソッド kojihashi さんのブログ: http://d.hatena.ne.jp/kojihashi/20071116#1195221898 同上 computeClasspath org.eclipse.pde.internal.core.SearchablePluginsManager のメソッドを丸ごとコピーしたらしい createProxyProject bundleID を引数に ManifestEditor#openPluginEditor を使ってマニフェストエディタを開く openBundleManifest Project とクラス名を引数に JavaUI#openInEditor を使って Java のエディタを開く openInEditor クラスをエディタで表示するメソッド 内部で ProxyProject を作成し openInEditor メソッドを呼び出している openClass