RCPプログラムでは、ワークベンチウィンドウにメニュー「デモ」を追加し、「デモ」の下にセパレータ「追加」を追加しました。コードは以下のとおりです。
public class ApplicationActionBarAdvisor extends ActionBarAdvisor {
private ExampleAction exampleAction;
@Override
protected void makeActions(IWorkbenchWindow window) {
// TODO Auto-generated method stub
super.makeActions(window);
exampleAction = new ExampleAction(window);
}
@Override
protected void fillMenuBar(IMenuManager menuBar) {
// TODO Auto-generated method stub
super.fillMenuBar(menuBar);
MenuManager demoMenu = new MenuManager("&Demo", "demo");
demoMenu.add(exampleAction);
demoMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
menuBar.add(demoMenu);
}
..............
}
ここで、「デモ/追加」の位置にサブメニューを提供したいと思います。以下のようにactionSet拡張ポイントを宣言します。
<extension
point="org.eclipse.ui.actionSets">
<actionSet
id="RCP-View-Example.actionSet"
label="actionSet">
<menu
id="RCP-View-Example.menu"
label="ActionSetMenu"
path="demo/additions">
<groupMarker
name="menuItem">
</groupMarker>
</menu>
<action
class="Action1"
id="RCP-View-Example.action"
label="Action"
menubarPath="RCP-View-Example.menu/menuItem"
style="push"
toolbarPath="main/additions">
</action>
</actionSet>
</extension>
<extension
point="org.eclipse.ui.actionSetPartAssociations">
<actionSetPartAssociation
targetID="RCP-View-Example.actionSet">
<part
id="my.view">
</part>
</actionSetPartAssociation>
</extension>
メニューが「デモ」メニューの下に表示されているのがわかりません。メニューパスを「path="demo/additions」から「path="org.eclipse.ui.main.menu / demo / additions」に変更しましたが、まだ表示されません。
誰かが私のプログラムの何が悪いのかを知るのを手伝ってもらえますか?
メニューパスをpath="demo/additionsからpath="additions"に変更します。ビューを開くと、「デモ」の後にメニューが表示されます。ただし、actionSetPartAssociations拡張ポイントで指定されたビューを閉じた後も、メニューは表示されたままです。メニューに関連付けられているビューを閉じると、メニューが消えると思います。プログラムの何が問題になっていますか?