統合開発環境Eclipseプラグイン開発QAat TECH
統合開発環境Eclipseプラグイン開発QA - 暇つぶし2ch46:44
04/05/02 18:29
>>42
そんな特殊なextension pointはないという事で
CoolBarインスタンスに直接アクセスするしかなさそうです。
WorkbenchインスタンスからたどればCoolBarのインスタンスを取得できます。

Workbenchのメソッド
 public static final Workbench getInstance() //クラスメソッド
 public IWorkbenchWindow[] getWorkbenchWindows() // WorkbenchWindowはWorkbench内に複数
 public IWorkbenchWindow getActiveWorkbenchWindow() // ActiveWorkbenchWindowはWorkbench内に一つ
WorkbenchWindowのメソッド
 public CoolBarManager getCoolBarManager() // 親クラスのApplicationWindowで定義
 public boolean isApplicationMenu(String menuID) // 指定したメニューが含まれているか判定
CoolBarManagerのメソッド
 public CoolBar getControl()

複数WorkbenchWindowから目的のWorkbenchWindowを見つけるには
isApplicationMenu()で特定のメニューが含まれているか調べるのが簡単かと思います。
ActiveWorkbenchWindowのCoolBarなら1行で取得できます。
CoolBar coolBar = Workbench.getInstance().getActiveWorkbenchWindow().getCoolBarManager().getControl();

このレスはソースを調べただけで書いており、動作検証はしていません。
バイナリと同じページから落とせるSource BuildにExplorer検索をかけて調べました。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch