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 :

Annuler la création d'un EditorPart


Sujet :

Eclipse Platform

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut Annuler la création d'un EditorPart
    Bonjour à tous,

    Je suis en train de réaliser une application RCP. Et j'ai une interrogation concernant la manipulation d'un EditorPart.

    Je voudrais savoir s'il y avait un procédé pour annuler sa création. En gros je vérifie une clause à l'initialisation (la méthode init) mais comment faire de cette clause une condition ou non de création de l'EditorPart. Pour le moment, ma solution de secours est de laisser se propager une PartInitException sauf que ce n'est pas très beau puisque la fenêtre affiche une erreur de code avec la stacktrace au sein de l'éditeur.

    Quel(s) moyen(s) ai-je pour réaliser ce que je souhaite ?

    Merci d'avance.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  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,

    A mon sens, si tu ne veux pas de message d'erreur ou d'exception, il faut que tu procèdes à tes vérifications avant d'afficher l'éditeur (ex: dans ta Commande d'affichage).

    Voilà, à+
    Gueritarish

  3. #3
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Citation Envoyé par Gueritarish Voir le message
    Salut,

    A mon sens, si tu ne veux pas de message d'erreur ou d'exception, il faut que tu procèdes à tes vérifications avant d'afficher l'éditeur (ex: dans ta Commande d'affichage).
    M'ouai sauf que mon découpage permettait de garder une certaine autonomie de chacun des composants.

    Je m'explique, j'ai la structure suivante :
    - Un plugin contenant :
    -> Le Component qui fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(new EditorInput(),EDITOR_ID);
    -> L'EditorInput
    - Un autre plugin contenant :
    -> L'EditorPart avec le même ID que "EDITOR_ID"
    Celui-ci contient un point d'extension qui permet de lier cet EditorPart à l'EditorInput de l'autre plugin.

    Tout ça pour dire que ma vérification était plus pratique à faire au sein de l'EditorPart. Le premier plugin ne devrait pas avoir à connaitre le code de l'autre.

    Voici pour quoi je me demandais s'il n'y avait pas un mécanisme au sein même de l'EditorPart qui permettait de jouer sur sa création ou non.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

  4. #4
    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
    Bon, la bonne nouvelle, c'est qu'il y a un bug Eclipse sur le sujet. La mauvaise nouvelle, c'est qu'il est toujours d'actualité
    Une façon de contourner le problème consiste à rattraper ton exception PartInitException et dans ce cas là, de faire un asyncExec() qui va fermer l'éditeur (après avoir affiché une boite de dialogue d'erreur si tu le souhaites).

    Sinon, côté appel, tu peux toujours te tourner vers cette solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    IEditorPart part = page.openEditor(editorInput, id);
    // See bug 90582 for the reasons behind this discouraged access
    if (part instanceof ErrorEditorPart) {
        page.closeEditor(part, false);
        part = null;
    }
    Voilà, à+
    Gueritarish

  5. #5
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Par défaut
    Merci bien Gueritarish.

    J'ai mis en place cette solution et ça fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    IEditorPart part = page.openEditor(editorInput, id);
    // See bug 90582 for the reasons behind this discouraged access
    if (part instanceof ErrorEditorPart) {
        page.closeEditor(part, false);
        part = null;
    }
    Il me reste à trouver une solution pour fermer le composant supérieur quand je n'ai aucun EditorPart d'ouvert mais le problème initial est résolu.
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d'un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Architecte Solution
    LinkedIn : https://www.linkedin.com/in/nicolascaudard/

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/05/2011, 21h26
  2. Réponses: 5
    Dernier message: 09/09/2006, 11h10
  3. [Kylix] Création d'un fichier lien
    Par DrQ dans le forum EDI
    Réponses: 2
    Dernier message: 14/05/2002, 21h30
  4. Création image BMP
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 16h04

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