我有一个AbstractDecoratedTextEditor
,它有一个包含AbstractGraphicalEditPart
组件的标签。
我想
1)选择单个组件。如果我选择一个组件,则取消选择其他组件
2)当我选择一个组件时,我想解雇日食的选择监听器。因为这个监听器会改变Eclipse的属性视图。
我试过这个代码为2号,但没有用。
((IFigure) componentFigure).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent arg0) {
ComponentEditPart.this.setSelected(SELECTED);
fireSelectionChanged();
super.mousePressed(arg0);
}
}
答案 0 :(得分:1)
GEF中有一个选择侦听器,但它位于EditPartViewer上。将ISelectionChangedListener添加到Graphical查看器。每个editpart都有一个方法#getViewer()(即AbstractGraphicalEditPart#getViewer())。
graphicalEditPart.getViewer().addSelectionChangedListener(new ISelectionChangedListener() {
public void selectionChanged(SelectionChangedEvent event) {
// TODO: implement it to handle selection change
}
}};