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 :

Ouvrir un fichier dans mon application Eclipse RCP


Sujet :

Eclipse Platform

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Ouvrir un fichier dans mon application Eclipse RCP
    Bonjour,

    J'ai réalisé tout un tas de traitements qui fonctionnent quand je drag&drop un fichier externe à mon application vers mon application.

    J'ai déjà réalisé le traitement qui vérifie que mon type de fichier est traitable.

    Mon problème est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void openFileAction(String fileUrl)
      {
        // TODO Ouvrir le fichier au chemin fileURL dans un editeur
      }
    Je souhaiterai ouvrir mon fichier (qu'il soit txt, pdf ou doc ...) dans une nouvelle vue/editeur afin de le consulter.

    En gros je cherche à faire ce que l'IDE Eclipse propose de base lorsque vous lui glissez un fichier dedans

    Avez vous une idée du code que je dois mettre ?

    Merci d'avance

  2. #2
    Nouveau membre du Club Avatar de Vincent Z.
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 18
    Points : 29
    Points
    29
    Par défaut
    Bonjour,

    Voilà une piste.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    try {
    	IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
    	IDE.openEditor( page, yourIFile );
     
    } catch( PartInitException e ) {
    	e.printStackTrace();
    }
    L'objet doit être un IFile (et pas une URL).
    Cela doit donc être un fichier dans l'espace de travail.

    Pour les fichiers externes à l'espace de travail, il y a d'autres solutions, mais c'est un peu plus compliqué.
    Il faut aussi savoir que certains éditeurs Eclipse ne supportent pas de fichiers externes en entrée (c'est rare, mais ça arrive).
    Mécanicien en chef sur Roboconf.
    Et il y a encore du boulot...

  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Merci Vincent pour votre réponse mais mon travail repose justement sur des fichiers externes au workspace (d'ailleurs il n'y a pas de workspace dans mon application RCP)

  4. #4
    Nouveau membre du Club Avatar de Vincent Z.
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 18
    Points : 29
    Points
    29
    Par défaut
    Et ces fichiers ont tous un éditeur associé dans votre RCP ?
    Ou bien cela peut être n'importe quel fichier ? Auquel cas il faudrait lancer l'application du système qui les supporte...

    Si c'est ce dernier cas, sur quelle version de Java cette application doit-elle tourner ?
    Mécanicien en chef sur Roboconf.
    Et il y a encore du boulot...

  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Les fichiers doivent avoir un editeur associé sur Eclipse puisque dans l'IDE de base je peux faire des drag and drop. Je prends l'exemple d'un fichier DOC qui ouvre WORD dans un editeur eclipse.

    Je pense me limiter à des fichiers de type TXT, DOC, XLS, ...

  6. #6
    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 : 39
    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
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Il te suffit de jeter un oeil sur la FAQ Eclipse.
    La première solution est exactement celle que tu cherches.
    Sinon, tu peux utiliser la seconde qui créée un lien vers ton fichier dans le workspace et ouvres l'éditeur correspondant (déjà testé, ça marche nickel).

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  7. #7
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    A partir du deuxieme code.

    mon Eclipse ne reconnait pas IWorkspace, ResourcesPlugin, Iresource et Ifile
    Je dois créer des classes qui l'implémente ?
    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
     
    IWorkspace ws = ResourcesPlugin.getWorkspace();
        IProject project = ws.getRoot().getProject("External Files");
        if (!project.exists())
            project.create(null);
        if (!project.isOpen())
            project.open(null);
        Shell shell = window.getShell();
        String name = new FileDialog(shell, SWT.OPEN).open();
        if (name == null)
            return;
        IPath location = new Path(name);
        IFile file = project.getFile(location.lastSegment());
        file.createLink(location, IResource.NONE, null);
        IWorkbenchPage page = window.getActivePage();
        if (page != null)
            page.openEditor(file);

  8. #8
    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 : 39
    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
    Points : 3 919
    Points
    3 919
    Par défaut
    Ce qu'ils n'ont pas précisé (mais qui reste naturel), c'est:
    • que pour la première solution, il faut dépendre du plug-in org.eclipse.core.filesystem
    • et que pour la seconde solution il faut dépendre du plug-in org.eclipse.core.resources

    Pour rajouter une dépendance à un plug-in, il te suffit d'ouvrir le MANIFEST.MF (présent dans le dossier META-INF) avec l'éditeur PDE. Ensuite, tu cliques sur l'onglet "Dependencies" et tu cliques sur le bouton "Add".

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  9. #9
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Impeccable merci de ton aide !

    Le seul problème reste qu'on ne peux pas sauvegarder un fichier doc par exemple.

    Mais le problème d'ouverture d'un fichier externe est résolu merci beaucoup

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

Discussions similaires

  1. Import de fichier dans mon application
    Par freddy000 dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 17/12/2010, 17h20
  2. Récupérer un fichier dans mon application
    Par 1rageux dans le forum Android
    Réponses: 7
    Dernier message: 19/12/2009, 17h42
  3. Intégrer CVS dans une application Eclipse RCP
    Par evenl dans le forum Eclipse Platform
    Réponses: 3
    Dernier message: 16/02/2009, 20h02
  4. Connection Base de donnée mysql dans une application eclipse RCP
    Par Flowers dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 06/06/2008, 22h41
  5. Ouvrir un fichier dans son application d'origine
    Par nic1319 dans le forum Delphi
    Réponses: 5
    Dernier message: 21/05/2007, 13h56

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