2011-08-20 11 views

cevap

0
+0

Bunu görebildiğim kadarıyla, bu sorunla kesinlikle ilgilenmiyor. Her 'nesne' bir EditPart'a sahiptir ve nesnelerle etkileşimde bulunmak bu EditParts kullanılarak yapılır. Cevabınız editörün kendisinin API'lerini beğenir. Dolayısıyla, çift tıklamayı yakalamak ve buna tepki vermek mümkün olsa bile, GEF çerçevesini atlatmanın tercih ettiği yol değildir. Yanlışım varsa lütfen düzelt. – Veger

17

için "kutu" GraphicalEditPart yılında dinleyiciyi eklemek istediğinizde, performRequest(Request req) yöntemini geçersiz kılmanız gerekir. Çerçeve, parçanın şeklini çift tıklattığında, bu yöntemi req.getType()==RequestConstants.REQ_OPEN olan bir istekle çağırır. Buradan devralınabilirsin. Komple kod eserlerinin test etmek için:

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

Umut bu hile yok.

+0

Çok teşekkürler, çok çalışıyor :) – jean24

+1

Lütfen cevabı doğru olarak işaretleyiniz – vainolo

+0

@vainolo - Teşekkürler. Faydalı. :) – Pushkar

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

     @Override 
     public void handleEvent(Event event) { 
     //write the double click action 
    }); 
İlgili konular