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 :

Comment créer une vue avec des paramètres (objets) ?


Sujet :

Eclipse Platform

  1. #21
    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 vaut mieux, selon moi, passer par le service de sélection plutôt que par HandlerUtil. Pour ce faire, dans ton Handler, tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    final ISelectionService iService = (ISelectionService) PlatformUI.getWorkbench().getService(ISelectionService.class);
    final IWorkbenchPart iActivePart = HandlerUtil.getActivePart(event);
    if (iActivePart != null) {
      final String iPartId = iActivePart.getSite().getId();
      ISelection  iCurrentSelection = iService.getSelection(iPartId);
    }
    Et tu es sûr d'avoir la sélection de la vue ou de l'éditeur courant.

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

  2. #22
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 603
    Points : 18 518
    Points
    18 518
    Par défaut
    Merci, mais ça ne change en rien mon problème.
    L'ActivePart ne change pas quand je clic sur mon treeViewer.

    À la base je voulais faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener (){
    	@Override
    	public void selectionChanged(SelectionChangedEvent event) {
                    // Ici quelque chose pour réactiver la vue
                    // Mais je ne sais pas quoi
    	}});
    Mais en fait je viens de voir que la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IEditorPart org.eclipse.ui.IWorkbenchPage.openEditor(IEditorInput input, String editorId) throws PartInitException
    Existait aussi comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IEditorPart org.eclipse.ui.IWorkbenchPage.openEditor(IEditorInput input, String editorId, boolean activate) throws PartInitException
    Et donc maintenant quand je créer un onglet EditorPart je met le booléen activate à false, et donc ma vue reste active, au lieu que l'onglet devienne actif.

    J'ai mal expliqué, mais en fait quand je créer un onglet depuis la ViewPart, l'EditorPart créé est actif et du coup la ViewPart ne l'est plus.
    Keith Flint 1969 - 2019

  3. #23
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 603
    Points : 18 518
    Points
    18 518
    Par défaut
    En fait j'aurai préféré mettre la vue active dans le SelectionChangedListener.

    Parce que là si j'ouvre un onglet et que j'appuie sur le bouton retour, la sélection est sur la ViewPart alors qu'il faudrait qu'elle soit sur l'EditorPart, mais comme elle n'est pas active par défaut à cause de mon openEditor je suis obligé de sélectionner l'EditorPart pour la rendre active.

    Mais je n'ai pas trouvé comme activé une vue...

    Edit : j'ai trouvé une solution dans mon BackHandler je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    HandlerUtil.getActiveEditor(event);
    au lieu de :
    HandlerUtil.getActivePage(event);
    J'ai des commandes en commun depuis la View ou depuis l'Editor, c'est les commandes que j'affiche avec le clique droit.

    Et j'ai, sur la barre de commande, ces commandes, plus des autres commandes uniquement utile depuis l'Editor (Back fait partie de ces commandes).
    Keith Flint 1969 - 2019

  4. #24
    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,

    Essaye de reformuler mieux ce que tu attends. Parce que là, pour moi ça reste du chinois.
    Qu'est-ce que tu veux faire exactement?

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

  5. #25
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 603
    Points : 18 518
    Points
    18 518
    Par défaut
    Ouais désolé j'ai vraiment du mal à éxpliquer... Pourtant c'est simple !

    Je veux que la View soit active quand on clique dessus et je veux que l'Editor soit actif quand on clique dessus.

    Du coup dans le TreeViewer de la View j'ai mis ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener (){
    	@Override
    	public void selectionChanged(SelectionChangedEvent event) {
    		getSite().getPage().activate(MaView.this);
    	}});
    Comme ça dès que je sélectionne un objet dans le TreeViewer la View est active.
    Tout fonctionne maintenant.

    Je vais peut être juste ajouter de quoi activer ou désactiver des commandes selon ce qui est actif et j'aurai terminé.
    Keith Flint 1969 - 2019

  6. #26
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 603
    Points : 18 518
    Points
    18 518
    Par défaut
    J'ai réussi à afficher des commandes dans la barre d'outils quand un DetailEditorPart est sélectionné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <command
          commandId="package.maCommande"
          style="push">
          <visibleWhen
    		checkEnabled="false">
     		<with
           		      variable="activePartId">
            	      <equals
                  	            value="ProjetRCP.detailEditorPart">
            	      </equals>
     		</with>
    	</visibleWhen>                  
    </command>
    C'était simple à implémenter, mais j'ai eu un peu de mal à trouver cette technique.

    Je crois que je vais m'arrêter là.
    La seule chose que je ferais bien encore c'est d'utiliser QuickAccess pour filtrer un DetailEditorPart, mais ce n'est pas nécessaire.

    En tout cas merci pour votre aide.
    Keith Flint 1969 - 2019

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/10/2008, 00h37
  2. comment créer une application avec des switchs
    Par abderrahim_05 dans le forum Débuter
    Réponses: 5
    Dernier message: 28/12/2007, 19h07
  3. Créer une vue avec des onglets
    Par Flackou dans le forum MFC
    Réponses: 2
    Dernier message: 14/06/2007, 11h43
  4. [PHP-JS] Comment créer une boucle avec des headers
    Par djinnwatcher dans le forum Langage
    Réponses: 10
    Dernier message: 17/07/2006, 15h48
  5. Créer une vue avec des requêtes UNION ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/04/2005, 12h37

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