2012-01-09 29 views
0

我知道爲什麼不使用內部類的原因,我通常很樂意堅持不使用它們。在RCP中使用內部類AboutHandler的解決方法(不鼓勵訪問)

但是,在我的RCP中,我想使用command而不是action來顯示About dialog。因此,我已經爲我的處理程序類擴展了org.eclipse.ui.internal.about.AboutHandler,這是令人沮喪的。

是否有解決方法可用於使用此類或更確切地說它的功能?

回答

2

我想,你可以重用現有的貢獻:

  1. Alt鍵 + + F2按Ctrl + + 在Mac F2
  2. 從Eclipse實例中選擇關於
  3. 將打開插件菜單間諜,它應該爲您提供關於命令的菜單貢獻的ID(基本上是命令ID)。

如果您有命令ID,則可以使用剪切/複製/粘貼項目簡單指定該項目的菜單貢獻,如以下tutorial所示。

+0

謝謝。除此之外,插件菜單間諜的熱鍵是'ALT + SHIFT + F2'(當你的建議無效時很容易發現:)),這非常有幫助。菜單間諜說''About'菜單和彈出確實是通過'ActionFactory.ABOUT'' action'而不是'command'來實現的,所以我想我會堅持使用'action'。 – 2012-01-10 08:58:57

+0

感謝您對熱鍵的反饋 - 我使用的Mac有一些不同的按鍵。我更新了我的答案來表達這一點。 – 2012-01-10 11:13:11

2

我只補充一點,你可以免費獲得該默認AboutHandler當你依賴org.eclipse.ui(它提供了RCP工作臺支持),而且是簡單地創建org.eclipse.ui.actions.ActionFactory.ABOUT行動,並在您的WorkbenchWindowAdvisor註冊它的默認前會免費填寫命令的處理程序。

+0

謝謝。在我閱讀之前(在Jeff McAffer的書中),我認爲'command'比'actions'更受歡迎。所以我嘗試過'ui.internal.AboutHandler'作爲處理程序(不鼓勵),並簡單地擴展該類(也不鼓勵)。如果我找不到一個體面的方式(還沒有嘗試過Zoltán的建議),我只需回到使用「動作」。 – 2012-01-10 08:21:14

+0

你爲什麼不免費獲得處理程序?它沒有被定義爲目標平臺'org.eclipse.ui/plugin.xml'中的defaultHandler嗎? – 2012-01-10 13:03:50

+0

Hi @Paul,'org.eclipse.ui/plugin.xml'中的'defaultHandler'是內部類'org.eclipse.ui.internal.about.AboutHandler' ... 但是,也許我只是沒有沒有正確理解你的觀點?我的插件中沒有'WorkbenchWindowAdvisor.java'(只有'ApplicationWorkbenchWindowAdvisor')... – 2012-01-10 15:25:12

相關問題