2011-08-20 15 views

risposta

0
+0

Per quanto posso vedere, questo non aiuta assolutamente il problema. Ogni 'oggetto' ha una EditPart e l'interazione con gli oggetti viene eseguita usando questi EditParts. La tua risposta contiene Mi piace alle API dell'editor stesso. Quindi, anche se sarebbe possibile cogliere i doppi clic e reagire, non è il modo preferito in cui eludete il quadro GEF. Perfavore, correggimi se sbaglio. – Veger

17

Nel GraphicalEditPart della "scatola" per il quale si desidera aggiungere l'ascoltatore, è necessario sovrascrivere il metodo performRequest(Request req). Quando il framework identifica un doppio clic sulla figura della parte, chiama questo metodo con una richiesta che ha req.getType()==RequestConstants.REQ_OPEN. Puoi prendere il controllo da qui. completo del codice per verificare che le sue opere:

@Override 
public void performRequest(Request req) { 
    if(req.getType() == RequestConstants.REQ_OPEN) { 
     System.out.println("requested double-click."); 
    } 
} 

Spero che questo fa il trucco.

+0

Grazie mille, funziona :) – jean24

+1

Quindi si prega di contrassegnare la risposta come corretta – vainolo

+0

@vainolo - Grazie. Utile . :) – Pushkar

0
viewer.getControl().addListener(SWT.MouseDoubleClick, new Listener() { 

     @Override 
     public void handleEvent(Event event) { 
     //write the double click action 
    }); 
Problemi correlati