1
我有一个Eclipse RCP,其视图的Control是CheckboxTableViewer。Eclipse RCP:如何在其他视图中侦听CheckboxTableViewer选择
我想使用WorkbenchPage的SelectionService(出于松散耦合的原因)来响应在编辑器中查看/取消选中视图中的操作。
所以我在视图的createPartControl()
方法中做了getSite().setSelectionProvider(myTableViewer);
。
另外,我在编辑器中创建一个监听器领域:
private ISelectionListener mylistener = new ISelectionListener() {
public void selectionChanged(IWorkbenchPart sourcepart, ISelection selection) {
System.out.println(((IStructuredSelection) selection).size());
}
};
不幸的是,我只得到行那些在控制台中选择打印出来,选中的元素的数量不限次数。我试图通过myTableViewer.getCheckedElements()
到SelectionProvider
不知何故,却找不到一个接入点:(。
谢谢。你的意思是我的类应该实现'ISelectionProvider',并且在getSelection()中我应该返回'getCheckedElements()'?我想我必须将选中的元素包装在' ISelection'? – QueNuevo 2015-02-11 12:38:31
是的。 – 2015-02-11 13:15:00