आप मेनू प्रबंधक से मेनू प्राप्त कर सकते हैं और फिर योगदान संशोधित कर सकते हैं। यह स्निपेट दिखाता है कि मेनू प्रबंधक का उपयोग कैसे करें और नामित आइटम को कैसे हटाएं।
आपको उन्हें पुनर्स्थापित करने के लिए हटाए गए आइटम और आइटम इंडेक्स का ट्रैक रखने की आवश्यकता होगी। एकमात्र समस्या यह है कि indexOf विधि दिखाई नहीं दे रही है। इस स्निपेट को एक ही पैकेज में मेनूमैनेजर के रूप में जोड़ने और इसे एक टुकड़े में जोड़ने के लिए एक तरफ है।
IWorkbenchWindow window = Workbench.getInstance().getActiveWorkbenchWindow()
if(window instanceof WorkbenchWindow) {
MenuManager menuManager = ((WorkbenchWindow)window).getMenuManager();
//TODO you may need to remove items from the coolbar as well
ICoolBarManager coolBarManager = null;
if(((WorkbenchWindow) window).getCoolBarVisible()) {
coolBarManager = ((WorkbenchWindow)window).getCoolBarManager2();
}
Menu menu = menuManager.getMenu();
//you'll need to find the id for the item
String itemId = "menuId";
IContributionItem item = menuManager.find(itemId);
// remember position, TODO this is protected
int controlIdx = menu.indexOf(mySaveAction.getId());
if (item != null) {
// clean old one
menuManager.remove(item);
// refresh menu gui
menuManager.update();
}
}
स्रोत
2009-07-29 19:03:43
मैं सोच रहा था, क्या यह आईडीई आधारित अनुप्रयोगों के लिए भी संभव है? उदाहरण के लिए, 'प्रोजेक्ट' जैसे ग्रहण के कुछ मेनू को निकालने के लिए। – nbz