2011-03-03 72 views

回答

0

沒有測試,但this old 2006 thread可能仍然存在,正確的原則:

一定的標準菜單項可以在多個視圖和編輯器之間共享。
所謂的全局或可重定向操作,包括撤銷/重做,剪切/複製/粘貼,打印,查找,刪除等工具。 (看類IWorkbenchActionFactory)。
允許每個視圖或編輯器爲這些操作提供處理程序;當一個新部件變爲活動狀態時,其處理程序將控制該操作。一種觀點在createPartControl方法來註冊其全球行動的處理程序:

IActionBars actionBars = getViewSite().getActionBars(); 
    actionBars.setGlobalActionHandler(
     IWorkbenchActionFactory.COPY, 
     myCopyAction); 

爲了覆蓋複製/粘貼執行Package Explorer中的你需要得到它的ViewSite

+0

我不知道霍伊得到包資源管理器ViewState,我試過通過我的插件獲取工作臺,然後活動工作臺窗口,然後活動頁面,但我總是變空。它還有其他任何wat來獲取Package Explorer的ViewSite嗎? – MrCatacroquer 2011-03-04 08:24:25

+0

您是否首先獲得了viewPart? 'IWorkbenchPage page = myPlugin.getDefault()。getWorkbench()。getActiveWorkbenchWindow()。getActivePage(); IViewPart viewPart = page.findView(JavaUI.ID_PACKAGES);' – VonC 2011-03-04 09:23:02

+0

是的,這正是我做它的方式,但「頁面」始終爲空。有另一種方法嗎? – MrCatacroquer 2011-03-04 09:33:51

相關問題