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 :

[API] PlaceholderFolder et Folder


Sujet :

Eclipse Platform

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Octobre 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 80
    Points : 58
    Points
    58
    Par défaut [API] PlaceholderFolder et Folder
    Bonjour,
    Je me penche sur la programmation de l'interface Eclipse et j'aimerais comprendre la différence entre ces deux méthodes ou plutôt la différence de traitement de ces deux types de zones par Eclipse. Et si en plus, quelqu'un connaît des liens sur une bonne explication de l'API org.eclipse.ui, ce serait sympa de me les communiquer. Pour l'instant tout ce que j'ai trouvé, c'est la documentation de l'API et c'est un peu juste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    createFolder
    Creates and adds a new folder with the given id to this page layout.
    
    createPlaceholderFolder
    Creates and adds a placeholder for a new folder with the given id to this page layout.
    Bon, c'est sur que j'exagère un peu, mais il n'y a pas grand chose de plus.
    Merci pour vos conseils à un pauvre newbie.

  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
    Si mes souvenirs sont bons, un Folder (createFolder) créé un espace dans ta perspective, même si tu n'as pas de vue activée dedans. Il se peut donc que tu te retrouves avec des trous peu esthétiques dans ta perspective. Un PlaceholderFolder (createPlaceholderFolder) ne sera valide que si une vue active est placée dedans. Dans le cas contraire, il n'apparaîtra pas d'espace vide dans ta perspective, les autres fenêtres vont remplir l'espace en s'étirant.
    RCP rulez!

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Octobre 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 80
    Points : 58
    Points
    58
    Par défaut
    Bon, je reviens à la charge car je ne trouve pas une documentation claire sur le positionnement des folders et des vues. Voici un bout de ma classe perspective :
    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
    public void createInitialLayout(IPageLayout layout) {
     
            String editorArea = layout.getEditorArea();
            layout.setEditorAreaVisible(false);
     
            IPlaceholderFolderLayout rightPlaceholder = 
                layout.createPlaceholderFolder("right",
                        IPageLayout.RIGHT, 0.25f, editorArea);
     
            IPlaceholderFolderLayout leftPlaceholder = 
                layout.createPlaceholderFolder("left",
                        IPageLayout.LEFT, 0.25f, editorArea);
     
            layout.addView(ActionsView.ID, IPageLayout.LEFT, 0.25f, "left");
            layout.addView(ReactionView.ID, IPageLayout.LEFT, 0.25f, "left");
            layout.addView(EditorView.ID, IPageLayout.RIGHT, 0.25f,"right");
    Tel quel, cela m'affiche :



    1ere question, pourquoi pas cela :



    puisque je mets deux vues dans le même Placeholder.

    Si maintenant je crée des folders à la place des Placeholder :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            IFolderLayout leftFolder = layout.createFolder("left",
                    IPageLayout.LEFT, 0.25f,
                    editorArea);
            IFolderLayout rightFolder = layout.createFolder("right",
                    IPageLayout.RIGHT, 0.25f,
                    editorArea);
    J'ai cela :


    Pourquoi tant de découpage ?

    Et pendant que j'y suis, peut-on créer plusieurs zones dans lesquels plusieurs vues peuvent être affichées mais en empêchant les vues d'une zone de pouvoir se déplacer dans une autre. dites-moi si je ne suis pas clair, j'essayerais de faire le ménage dans mon texte.

    Merci pour votre patience.
    Cordialement.

  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
    Si tu veux obtenir ta deuxième figure, utilise 1 folder et place tes 2 vues dedans.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    IFolderLayout leftFolder = layout.createFolder("left",
                    IPageLayout.LEFT, 0.25f,
                    editorArea);
     
    //Add views in each folder
    leftFolder.addView(ActionsView.ID);
    leftFolder.addView(ReactionView.ID);
    Et pendant que j'y suis, peut-on créer plusieurs zones dans lesquels plusieurs vues peuvent être affichées mais en empêchant les vues d'une zone de pouvoir se déplacer dans une autre. dites-moi si je ne suis pas clair, j'essayerais de faire le ménage dans mon texte.
    oui et ça s'utilise comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    layout.addStandaloneView(...)
    layout.addStandaloneViewPlaceholder(...)
    Pour ce qui est de la documentation va lire les api, y a en masse d'infos.
    http://help.eclipse.org/help31/nftop...api/index.html

    cherche pour IPageLayout et IPlaceholderFolderLayout
    RCP rulez!

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Octobre 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 80
    Points : 58
    Points
    58
    Par défaut
    Merci beaucoup pour tous ces renseignements. Effectivement, en y réfléchissant, la méthode 'layout.addView' n'ajoute pas la vue au folder . J'étais fatigué, hier soir.

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

Discussions similaires

  1. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 15h28
  2. Réponses: 3
    Dernier message: 09/11/2004, 10h44
  3. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07
  4. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44
  5. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45

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