Salut!
Je développe un plugin pour Eclipse et je rencontre un pb !
Je voudrais savoir si la fenêtre d'Eclipse a le focus ou non.
A l'activation de mon plugin sous Eclipse, j'instancie la classe suivante.
Je ne peux placer un addFocusListener uniquement sur le shell et pas
sur le Workbench complet pour détecter si la fenêtre d'Eclipse a le
focus.
Le code ci-après déclenche focusGained et focusLost après avoir réduit
puis agrandit ma fenêtre d'Eclipse. D'ailleurs je ne sais pas pourquoi
ça déclenche ces 2 evenements.
Bref, dans tous les cas il faudrait appliquer addFocusListener à la fenêtre principale !! grr
Si tu as une idée ou non fais moi signe.
Merci d'avance !
Go
package plugin.actions;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
public class FocusDetection implements FocusListener
{
private IWorkbenchWindow window;
public FocusDetection ()
{
System.out.println("HELLO");
window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
System.out.println("window : " + window);
window.getShell().addFocusListener(this);
}
public void focusGained(FocusEvent e) {
// TODO Auto-generated method stub
System.out.println("GAIN : " + e);
}
public void focusLost(FocusEvent e) {
// TODO Auto-generated method stub
System.out.println("LOST : " + e);
}
}