不要なメニューとボタン、プリファレンスを削除

875 ワード

Eclipse RCP Productをするとき、他のプラグインが点を拡張することで隠す必要があるMenuやCoolItemによく遭遇します.
 
非表示方法:A p p l i c a tionWorkbenchWindowAdvisorのpostWindowOpenメソッドでMenuとCoolBarを処理する
Sample code
IActionBarConfigurer configurer = getWindowConfigurer().getActionBarConfigurer();

IContributionItem[] menuItems = configurer.getMenuManager().getItems();

IContributionItem[] coolItems = configurer.getCoolBarManager().getItems();

XXXX //    

configurer.getMenuManager().update(true);
configurer.getCoolBarManager().update(true);
PreferenceManager pm = getWindowConfigurer().getWindow().getWorkbench()
   .getPreferenceManager();
IPreferenceNode[] prefNodes = pm.getRootSubNodes();
for ( IPreferenceNode node : prefNodes ) {
   if (XXX) {
       pm.remove(node);
   }
}