我知道爲什麼不使用內部類的原因,我通常很樂意堅持不使用它們。在RCP中使用內部類AboutHandler的解決方法(不鼓勵訪問)
但是,在我的RCP中,我想使用command
而不是action
來顯示About dialog
。因此,我已經爲我的處理程序類擴展了org.eclipse.ui.internal.about.AboutHandler
,這是令人沮喪的。
是否有解決方法可用於使用此類或更確切地說它的功能?
我知道爲什麼不使用內部類的原因,我通常很樂意堅持不使用它們。在RCP中使用內部類AboutHandler的解決方法(不鼓勵訪問)
但是,在我的RCP中,我想使用command
而不是action
來顯示About dialog
。因此,我已經爲我的處理程序類擴展了org.eclipse.ui.internal.about.AboutHandler
,這是令人沮喪的。
是否有解決方法可用於使用此類或更確切地說它的功能?
我想,你可以重用現有的貢獻:
如果您有命令ID,則可以使用剪切/複製/粘貼項目簡單指定該項目的菜單貢獻,如以下tutorial所示。
我只補充一點,你可以免費獲得該默認AboutHandler當你依賴org.eclipse.ui
(它提供了RCP工作臺支持),而且是簡單地創建org.eclipse.ui.actions.ActionFactory.ABOUT
行動,並在您的WorkbenchWindowAdvisor
註冊它的默認前會免費填寫命令的處理程序。
謝謝。在我閱讀之前(在Jeff McAffer的書中),我認爲'command'比'actions'更受歡迎。所以我嘗試過'ui.internal.AboutHandler'作爲處理程序(不鼓勵),並簡單地擴展該類(也不鼓勵)。如果我找不到一個體面的方式(還沒有嘗試過Zoltán的建議),我只需回到使用「動作」。 – 2012-01-10 08:21:14
你爲什麼不免費獲得處理程序?它沒有被定義爲目標平臺'org.eclipse.ui/plugin.xml'中的defaultHandler嗎? – 2012-01-10 13:03:50
Hi @Paul,'org.eclipse.ui/plugin.xml'中的'defaultHandler'是內部類'org.eclipse.ui.internal.about.AboutHandler' ... 但是,也許我只是沒有沒有正確理解你的觀點?我的插件中沒有'WorkbenchWindowAdvisor.java'(只有'ApplicationWorkbenchWindowAdvisor')... – 2012-01-10 15:25:12
謝謝。除此之外,插件菜單間諜的熱鍵是'ALT + SHIFT + F2'(當你的建議無效時很容易發現:)),這非常有幫助。菜單間諜說''About'菜單和彈出確實是通過'ActionFactory.ABOUT'' action'而不是'command'來實現的,所以我想我會堅持使用'action'。 – 2012-01-10 08:58:57
感謝您對熱鍵的反饋 - 我使用的Mac有一些不同的按鍵。我更新了我的答案來表達這一點。 – 2012-01-10 11:13:11