統合開発環境Eclipseプラグイン開発QA
at TECH
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検索をかけて調べました。
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4891日前に更新/164 KB
担当:undef