[英]How do I make a mouse click event be acknowledged by a TreeItem in a TreeView?
[英]How to select a treeview node like a click of mouse to update properties view
我在Eclipse插件中有一个自定义大纲,使用类TreeViewer
实现,并使用以下代码创建了该大纲:
public class MyOutlinePage extends ContentOutlinePage
(...)
Object[] data = (...)
TreeViewer treeViewer = getTreeViewer();
treeViewer.setInput(data);
设置输入后,我需要选择轮廓中的一个特定元素。 例如,我需要在大纲中选择元素data[2]
。
我试图使用此代码选择大纲的精华:
treeViewer.setSelection(new StructuredSelection(data[2]));
如果我使用鼠标选择轮廓项目,则轮廓被选中,并且“属性视图”已更新。 选择大纲项目,如下所示:
但是,如果我使用setSelection
方法选择轮廓项目,则“属性视图”未更新,并且如下所示选择了轮廓项目:
我需要使用代码选择大纲项目,并且此选择必须像单击鼠标一样更新“属性视图”。
灰色高亮显示轮廓视图不是活动部件。 属性视图始终显示活动零件中的值。
您可以使用以下方法激活“大纲”视图:
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
page.showView(IPageLayout.ID_OUTLINE, null, IWorkbenchPage.VIEW_ACTIVATE);
但是请注意,这会将焦点从当前处于活动状态的任何部分移开。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.