IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Platform Discussion :

Capter la fermeture du fenêtre extension


Sujet :

Eclipse Platform

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Par défaut Capter la fermeture du fenêtre extension
    Bonjour,

    J'ai ajouté une fenêtre extension (dans la zone "console") et je voudrais savoir quand elle est fermée (par la croix et non par la fermeture d'eclipse).
    J'ai vu passer ça quelque part mais impossible de remettre la main dessus

    J'ai un AbstractHandler qui fait un showview via une fonction execute mais quelle fonction rajouter pour capter la fermeture ?

    D'avance merci et sorry si la réponse est triviale mais là j'arrive pas à trouver l'info !

  2. #2
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Qu'entends tu par une "fenêtre extension"? T'as rajouté une vue?
    Si c'est le cas, il faut que ta IViewPart implémente IPartListener. Cela va te permettre d'implémenter les méthodes : partClosed, partDeactivated, partHidden, ... qui vont te servir à connaître les différents états de ta vue.

    Voilà, à+
    Gueritarish

  3. #3
    Membre éclairé Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Par défaut
    oui c'est bien une vue.
    Je vais essayer merci

    je te tiens au courant

  4. #4
    Membre éclairé Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Par défaut
    faut-il ajouter un addlistener quelque part ?
    J'ai ajouter à ma classe qui étend une viewPart l' IPartListener tel que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public class ConfigArchiView extends ViewPart implements IPartListener{
    avec les fonctions suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    	@Override
    	public void partActivated(IWorkbenchPart part) {
    		System.out.println("partActivated conf");
    	}
    	@Override
    	public void partBroughtToTop(IWorkbenchPart part) {
    		System.out.println("partBroughtToTop conf");
    	}
    	@Override
    	public void partClosed(IWorkbenchPart part) {
    		System.out.println("partClosed conf");
    	}
    	@Override
    	public void partDeactivated(IWorkbenchPart part) {
    		System.out.println("partDeactivated conf");
    	}
    	@Override
    	public void partOpened(IWorkbenchPart part) {
    		System.out.println("partOpened conf");
    	}
    Mais je ne passe dans aucune de ces fonctions.
    Ais-je oublier qqchose ?

    Merci

  5. #5
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Oups... Au temps pour moi. À vouloir aller trop vite, on oublie des choses
    Oui, il faut que tu ajoutes ta classe au gestionnaire de listeners de la page :
    Deux méthodes, soit en passant par la page active (donc, dans le constructeur de ta vue):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                .addPartListener(this);
    Soit lors de la création des contrôles de ta vue (à ce moment là, le site de ta vue sera créé) dans la méthode createPartControl donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    final IWorkbenchPage viewPage = getSite().getPage();
    viewPage.addPartListener(this);
    Il faut aussi penser à supprimer le listener dans la méthode dispose de la vue.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    IWorkbenchPage page = getSite().getPage();
    if (page != null) {
        page.removePartListener(this);
    }
    Voilà, à+
    Gueritarish

  6. #6
    Membre éclairé Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Par défaut
    ça marche mieux.
    Par contre c'est bizarre je ne passe que dans les fonctions :
    • partActivated
    • partDeactivated

    Je ne passe dans le partClosed que si je quitte Eclipse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Javascript][VBScript]Détection de Fermeture de Fenêtre
    Par JohnBlatt dans le forum Windows
    Réponses: 1
    Dernier message: 24/01/2007, 16h09
  2. fermeture de fenêtre
    Par fontaigo dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 15/04/2006, 21h17
  3. [WD9] Evénement de fermeture de fenêtre
    Par EpOnYmE187 dans le forum WinDev
    Réponses: 3
    Dernier message: 14/12/2005, 10h50
  4. ouverture et fermeture de fenêtre
    Par froggies dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 11h36
  5. opération sur fermeture de fenêtre
    Par java_math dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 20/06/2004, 22h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo