[英]Eclipse RCP: Suppress the context menu of the persective bar
我想取消右鍵單擊rcp應用程序中的透視工具欄時顯示的上下文菜單。 為了澄清,我確實希望透視欄和快捷方式顯示,但我不希望彈出上下文菜單。 所有透視工具欄api似乎都是內部的。
謝謝。
你可以試試這個
PerspectiveBarManager perspectiveBarManager = ((WorkbenchWindow) PlatformUI.getWorkbench()
.getActiveWorkbenchWindow()).getPerspectiveBar();
ToolBar toolBar = perspectiveBarManager.getControl();
Listener[] listeners = toolBar.getListeners(SWT.MenuDetect);
if (listeners != null)
{
for (Listener listener : listeners)
{
toolBar.removeListener(SWT.MenuDetect, listener);
}
}
正如您所提到的,PerspectiveSwitcher的上下文菜單深深地創建在工作台框架的內部類中。 您不能阻止它被創建,也不能獲得對PerspectiveSwitcher的引用以某種方式抑制菜單,而不會大量使用內部類和大量重新實現現有功能。
所以,簡單來說,恕我直言,似乎上下文菜單並不意味着被壓制。
解決問題最簡單,最干凈的方法是壓制整個透視圖,然后實現自己的透視圖。 有用於查詢現有透視圖(IWorkbench.getPerspectiveRegistry)和切換透視圖(IWorkbenchPage.setPerspective)的公共API,您需要編寫的所有代碼都是UI。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.