views:

102

answers:

0

I have a custom graphical EditorPart in a Eclipse RCP application.

It sets a custom ISelectionProvider in the createPartControl(..) method:

@Override
public void createPartControl(Composite parent) {
    // [snip] 
    getSite().setSelectionProvider((ISelectionProvider)model.getSelection());
}

I have two ViewParts listening to selection changes via the ISelectionService. They get notified when the selection in the EditorPart changes. So far so good.

Now I've added a handler using the following XML:

<handlerclass="my.custom.Handler" commandId="org.eclipse.ui.edit.delete">
    <enabledWhen>
        <count value="+"/>
    </enabledWhen>
</handler>

If the selection in the EditPart contains > 0 elements, this should enable the handler my.custom.Handler, but it doesn't.

It is, however enabled if the selection provided by built-in selection providers changes to > 0 element (i.e. those provided by JFace viewers).

Any hint how to integrate a custom implementation of ISelectionProvider with the expression framework used in the handler declaration?

related questions