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 :

Action "ouvrir un fichier"


Sujet :

Eclipse Platform

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Octobre 2005
    Messages : 103
    Points : 81
    Points
    81
    Par défaut Action "ouvrir un fichier"
    Bonjour à tous,

    J'aimerai ajouter à mon application RCP l'action "ouvrir un fichier" afin d'ouvrir des éditeurs particuliers selon l'extension du fichier.
    J'arrive à faire apparaitre l'action lorsque j'ajoute org.eclipse.ui.editors dans la configuration de lancement.

    Seulement ce plug-in ajoute également d'autres menus et d'autres actionset dans mon appli alors que je ne veux que "ouvrir un fichier".
    Comment faire à part aller copier la classe OpenExternalFileAction du plug-in org.eclipse.ui.editors ?

  2. #2
    Membre averti Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Points : 340
    Points
    340
    Par défaut
    Dans ta classe ActionBarContributor, tu dois utiliser une action de l'objet ActionFactory. Genre ActionFactory.OPEN_FILE, je ne suis pas sûr du terme exact.
    RCP rulez!

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Octobre 2005
    Messages : 103
    Points : 81
    Points
    81
    Par défaut
    Justement, j'ai commencé ma recherche par là mais je n'ai trouvé que : OPEN_NEW_WINDOW et OPEN_PERSPECTIVE_DIALOG.

  4. #4
    Membre averti Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Points : 340
    Points
    340
    Par défaut
    Excuse-moi j'ai écris des conneries dans le dernier post. Tu dois te dériver une action dans le style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public class OpenAction extends Action implements IWorkbenchAction
    avec ça comme fonction principale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    public void run() {
     
    <div style="margin-left:40px">FileDialog fd = new FileDialog(window.getShell(), SWT.OPEN);
    fd.setFilterExtensions(new String[] {"*.xml"});
    fd.setText("Open...");
     
    IEditorPart editor = null;
    if(fd.open() != null) {
     
    File file = new File(fd.getFilterPath() + "/" + fd.getFileName());</div>}
    Après ça tu fais ce que tu veux avec le fichier.
    RCP rulez!

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Octobre 2005
    Messages : 103
    Points : 81
    Points
    81
    Par défaut
    OK, d'ailleurs, c'est ce que je viens de faire et ça tourne.

    Mais en fait, j'espérais plutôt récupérer l'action ouvrir implémenter dans Eclipse : celle qui ouvre l'éditeur adéquat (référencé par les plug-ins) par rapport à l'extension du fichier.
    Ce qui se fait si tu ajoutes un plug-in à eclipse avec un éditeur spécifiant qu'il ouvre l'extension xyz.
    Ensuite, si tu cliques sur Fichier -> Ouvrir un fichier et que ce fichier a l'extension xyz alors, il est ouvert avec ton éditeur.

  6. #6
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Points : 2 061
    Points
    2 061
    Par défaut
    Bonjour,

    Dans ton plugin.xml tu peux associé une extension a un éditeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <extension
             point="org.eclipse.ui.editors">
          <editor
                class="MaClassEditor"
                default="true"
                extensions="MonExtension ou MesExtension"
                icon="MonIcone"
                id="Id de l'editeur"
                name="Label de l'editeur">
          </editor>
       </extension>
    et comme ca lorsque tu double cliques sur un fichier de monFichier.MonExtension il l'ouvre dans le bon etiteur
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/08/2006, 09h14
  2. [C#] [.net compact] Ouvrir un fichier a partir d'une action
    Par AdriM dans le forum Windows Mobile
    Réponses: 5
    Dernier message: 29/11/2005, 11h51

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