統合開発環境Eclipse ..
[2ch|▼Menu]
46: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

4891日前に更新/164 KB
担当:undef