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 :

getActivePage().openEditor( ? )


Sujet :

Eclipse Platform

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut getActivePage().openEditor( ? )
    Bonjour,
    Je suis en train de développer un plugin pour éclipse, et me sert donc de la partie déja faite "XMLEditor".
    J'aimerais pouvoir, à partir d'un double-click sur un TreeViewer, ouvrir un nouvel editeur de texte. La partie double-click, aucun probleme.
    La partie ouvrir l'éditeur de texte... Gros problème!

    J'ai déja pas mal galerré, à cause de la méthode openEditor, que j'appelle à partir d'ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(
    Celle-ci prend en paramètre un IEditorInput, qui est juste une interface... J'ai donc perdu trois jours pour trouver une instance qui me convenait (et que je comprenais!) sur internet...
    Cela donne cela:
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    import java.io.File;
    import org.eclipse.core.runtime.IPath;
    import org.eclipse.core.runtime.Path;
    import org.eclipse.core.runtime.Platform;
    import org.eclipse.jface.resource.ImageDescriptor;
    import org.eclipse.ui.IPathEditorInput;
    import org.eclipse.ui.IPersistableElement;
     
    public class FileEditorInput implements IPathEditorInput {
     
    	private File file;
     
    	public FileEditorInput( File file ) {
    		this.file= file;
    	}
     
    	public boolean exists() {
    		return false;
    	}
     
    	public ImageDescriptor getImageDescriptor() {
    		return null;
    	}
     
    	public String getName() {
    		return file.getName();
    	}
     
    	public IPersistableElement getPersistable() {
    		return null;
    	}
     
    	public String getToolTipText() {
    		return file.getAbsolutePath();
    	}
     
    	public Object getAdapter(Class adapter) {
    		return Platform.getAdapterManager().getAdapter(this, adapter);
    	}
     
    	public boolean equals(Object o) {
    		if (o == this)
    			return true;
     
    		if (o instanceof FileEditorInput) {
    			FileEditorInput input = (FileEditorInput) o;
    			return file.equals(input.file);
    		}
     
    		return false;
    	}
     
    	public int hashCode() {
    		return file.hashCode();
    	}
     
    	public IPath getPath() {
    		return new Path(file.getAbsolutePath());
    	}
     
    }
    Mais malgré cela, je n'arrive pas à ouvrir de fichier, j'obtiens une nouvelle page (ça c'est la bonne nouvelle), mais non-éditable, avec une barre bleue horizontale (très mignonne), et un non moins mignon "ERROR" (ça, il me semble bien que c'est la mauvaise nouvelle)...

    Quelqu'un aurait l'Astuce qu'il me manque depuis maintenant une semaine?

    Merci d'avance pour tout commentaire, même si vous n'avez pas de solution, je me sentirais moins seul!

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 96
    Par défaut
    Je ne sais pas si çà va t'aider, mais as-tu jeter un oeil à cette méthode?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IDE.openEditor(IWorkbenchPage page, IFile input,boolean activate);
    Nico

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    J'en avait entendu parler (enfin, disons plutot que je l'avais lue quelque part), mais je ne sais pas d'où sort le IDE?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 96
    Par défaut
    c'est une final class d'eclipse :
    org.eclipse.ui.ide.IDE

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut
    ...
    Je n'ai pas de org.eclipse.ui.ide?
    Mais il est vrai que je n'ai pas être pas RCP...
    Un plugin développé avec une class non présente sur un éclipse normal, fonctionnera sur tout les éclipses?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    96
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 96
    Par défaut
    Sur tous les eclipse qui auront le jar contenant ladite classe...
    En tout cas c'est bizarre que tu n'ait pas cette classe dispo...

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