I\'m using GEF. I have a graphical editor with some \"boxes\" implemented. Now, I want to add a double-click listener to each box (Rectangle). I tried to add a listener to t
I am not familiar with GEF myself, however I found this in documentation:
viewer.getControl().addListener(SWT.MouseDoubleClick, new Listener() {
@Override
public void handleEvent(Event event) {
//write the double click action
});
In the GraphicalEditPart
of the "box" for which you want to add the listener, you have to override the performRequest(Request req)
method. When the framework identifies a double-click on the part's figure, it calls this method with a request that has req.getType()==RequestConstants.REQ_OPEN
. You can take over from here.
Complete code to test that his works:
@Override
public void performRequest(Request req) {
if(req.getType() == RequestConstants.REQ_OPEN) {
System.out.println("requested double-click.");
}
}
Hope this does the trick.