私はEclipse製品を開発しています。プラグインにナビゲータビューを追加しました。これで、デフォルトアクションの一部を削除し、カスタムアクションを追加することで、コンテキストメニューをカスタマイズしたいと考えています。Eclipse Navigator contextMenu
メニューからアクションを削除するにはどうすればよいですか?そして私の行動をどうやって追加できますか?
コンテキストメニューを作成する方法はありますか?
私はEclipse製品を開発しています。プラグインにナビゲータビューを追加しました。これで、デフォルトアクションの一部を削除し、カスタムアクションを追加することで、コンテキストメニューをカスタマイズしたいと考えています。Eclipse Navigator contextMenu
メニューからアクションを削除するにはどうすればよいですか?そして私の行動をどうやって追加できますか?
コンテキストメニューを作成する方法はありますか?
終わりに、私はこの方法で解決:
私は がo.e.ui.navigator.viewerを拡張ナビゲータビューアを、作成した、と私は "allowPlatformContributions = false" に指定するポップアップメニューを提供 。 その後、コンテキストメニューに必要な数のinsertionPoint を作成しました。 のアクションは、 のコンテキストメニューで提供されるeclipseが、 group.new、group.edit、 group.reorganizeに含まれています。結果のXMLは次のとおりです。
<extension
point="org.eclipse.ui.navigator.viewer">
.....
<viewer viewerId="...">
<popupMenu
allowsPlatformContributions="false">
<insertionPoint
name="group.xvr.management"
separator="true">
</insertionPoint>
<insertionPoint
name="group.new"
separator="true">
</insertionPoint>
<insertionPoint
name="group.edit"
separator="true">
</insertionPoint>
<insertionPoint
name="group.reorganize">
</insertionPoint>
<insertionPoint
name="group.xvr.launch"
separator="true">
</insertionPoint>
</popupMenu>
</viewer>
...
</extension>
他の二つのグループ名、 group.xvr.launchと group.xvr.management、自分の行動のためのカスタム プレースホルダです。
は、私が見る人にバインド 私のカスタムコンテンツを作成o.e.ui.navigator.navigatorContent を拡張しました。私は ナビゲータのコンテンツに多くの actionProviderを追加しました。それぞれ のうち、 fillContextMenuメソッドをオーバーライドして、コンテキストメニューにカスタム アクションを提供します。私は完全にコンテキストメニューを制御するために多くをしなければならないtrue..but
@Override
public void fillContextMenu(IMenuManager menu) {
menu.appendToGroup("group.xvr.launch", new CommandContributionItem(new CommandContributionItemParameter(...)));
menu.appendToGroup("group.xvr.launch", new CommandContributionItem(new CommandContributionItemParameter(...)));
}
hyouはナビゲータビューを拡張し、コンテキストメニューをオーバーライドする必要があります(createPartControlメソッドである必要があります)。今は私はEclipseソースにアクセスできません。
これが役に立ちます。
o.e.ui.navigator.navigatorContentを拡張し、actionProviderを提供する必要があります。
yes..itです。 – hara