抽象图形编辑部分的单选和火选择

时间:2015-03-20 13:13:37

标签: java eclipse-plugin eclipse-gef

我有一个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);
    }
}

1 个答案:

答案 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
}
}};