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

SWT/JFace Java Discussion :

MessageBox et Yes to All


Sujet :

SWT/JFace Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Par défaut MessageBox et Yes to All
    Bonjour,

    Réalisant un plug-in Eclipse, j'ai besoin pour la suppression de plusieurs projets à la fois, d'une MessageBox avec des boutons "Yes to All" et "Not to All".

    Je me demandais s'il existait déjà un widget ou si je devais créer une dialog "à la main".
    De plus, je ne vois pas trop comment implémenter ce "Yes to all".

    Merci d'avance,
    link_915

  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,

    Il te suffit de rajouter une dépendance vers org.eclipse.jface dans ton plugin.xml puis d'utiliser la classe MessageDialog et de tester le retour pour savoir quelle action adoptée::
    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
    MessageDialog dialog = new MessageDialog(parent, title, null, 
                    message, QUESTION, new String[] { IDialogConstants.YES_TO_ALL_LABEL,
                            IDialogConstants.YES_LABEL, IDialogConstants.NO_TO_ALL_LABEL,
                            IDialogConstants.NO_LABEL }, 1); // yes par defaut
    int userChoice = dialog.open();
    switch(userChoice) {
    case IDialogConstants.YES_TO_ALL_ID:
        // traitement pour yes to all
        break;
    case IDialogConstants.YES_ID:
        // traitement pour yes
        break;
    case IDialogConstants.NO_ID:
        // traitement pour no
        break;
    case IDialogConstants.NO_TO_ALL_ID:
        // traitement pour no to all
        break;
    default:
        break;
    }
    Ensuite, ce que tu peux faire, c'est avoir une Map<Projet,Boolean> (ou String, Boolean pour le nom de projet) que tu mets à jour selon le retour de l'utilisateur. Cette Map va contenir le choix de l'utilisateur par projet (le boolean: true pour le supprimer, false pour le garder).

    Voilà, à+
    Gueritarish

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Par défaut
    Bonjour,

    merci de la réponse.

    Je suis effectivement tombé sur la classe MessageDialog, JFace se trouvait déjà dans mon plugin.xml.

    Et donc j'ai reussi à faire ma boite de dialogue avec mes boutons, etc ...

    Sauf que je me trouve confronté à un autre problème :

    dans ma clase MultipleDeletionDialog, j'ai fait un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    shell.getDisplay().syncExec(
    	new Runnable() {
    	public void run() {
    	dialog.open();
    	}
    });
    pour pouvoir implémenter le "yes to all" et "not to all" mais maintenant pour mon bouton cancel, je lance une new Exception() toute bête pour stopper mon thread mais ca me lance une erreur.

    Il y aurais un autre moyen de stopper ce thread ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 75
    Par défaut
    En fait c'était juste un break mal remonté.

    merci ça fonctionne.

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

Discussions similaires

  1. Ext.MessageBox.confirm Yes/NO en Oui/Non
    Par Tail dans le forum Ext JS / Sencha
    Réponses: 2
    Dernier message: 20/10/2010, 21h04
  2. MessageBox All language
    Par bkadoum dans le forum Windows
    Réponses: 6
    Dernier message: 12/08/2008, 09h07
  3. Confirmation dialog Yes/No to all
    Par yupa dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 27/02/2008, 16h24
  4. Problème avec les Yes\No MessageBox...
    Par YolLuTRaC dans le forum C++Builder
    Réponses: 4
    Dernier message: 23/08/2005, 14h38
  5. [all]
    Par atao dans le forum Langage SQL
    Réponses: 5
    Dernier message: 22/08/2003, 20h16

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