-1
コンテキストメニューオプションに基づいてツリービューア要素を編集したいとします。基本的に私は表示されている要素の値を更新する必要があります。ツリービューアの要素をダブルクリックすると、値を更新することができましたが、コンテキストメニューを使用しても可能です。コンテキストメニューを追加するためのコンテキストメニューの選択に基づいてツリービューア要素を編集する方法
サンプルコード:
protected def void createContextMenu(Viewer viewer) {
val MenuManager contextMenu = new MenuManager("Menu"); // $NON-NLS-1$
contextMenu.setRemoveAllWhenShown(true);
contextMenu.addMenuListener(new IMenuListener() {
public override void menuAboutToShow(IMenuManager mgr) {
fillContextMenu(mgr);
}
});
val Menu menu = contextMenu.createContextMenu(viewer.getControl());
viewer.getControl().setMenu(menu);
}
/**
* Fill dynamic context menu
*
* @param contextMenu
*/
protected def void fillContextMenu(IMenuManager contextMenu) {
contextMenu.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
contextMenu.add(new Action("Rename") {
public override void run() {
val selectedElement = (treeViewer.selection as IStructuredSelection).firstElement
}
});
}
あなたはここで理解していない何を知っているかどうかを確認?選択した要素がツリーにありますが、何をしたいのですか?ダブルクリックリスナーで何をしていますか? –
こんにちは@ greg-449:選択要素の値を編集する必要があります。ダブルクリック操作中に、ColumnViewerEditorActivationStrategyを追加してDoubleclickイベントをリッスンしました –