Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Eclipse > Eclipse Platform
Eclipse Platform Développement de plugins Eclipse et d'applications Eclipse RCP (Rich Client Platform). Avant de poster -> Tutoriels sur le développement de plugins Eclipse
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 05/12/2012, 08h18   #21
Gueritarish
Modérateur
 
Avatar de Gueritarish
 
Homme Marc
Développeur Java
Inscription : mai 2007
Messages : 1 566
Détails du profil
Informations personnelles :
Nom : Homme Marc
Âge : 28
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 566
Points : 3 422
Points : 3 422
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 :
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.

Le 5 et 6 juin à Toulouse, la première EclipseCon France !
Gueritarish est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/12/2012, 13h31   #22
thierrybenji
Membre Expert
 
Avatar de thierrybenji
 
Homme Benjamin
Étudiant
Inscription : décembre 2008
Messages : 1 186
Détails du profil
Informations personnelles :
Nom : Homme Benjamin
Âge : 25
Localisation : France, Doubs (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2008
Messages : 1 186
Points : 2 026
Points : 2 026
Envoyer un message via MSN à thierrybenji
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 :
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 :
IEditorPart org.eclipse.ui.IWorkbenchPage.openEditor(IEditorInput input, String editorId) throws PartInitException
Existait aussi comme ça :
Code :
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.
__________________
Aidez la chaîne Nolife, abonnez-vous : http://www.nolife-tv.com/
thierrybenji est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2012, 14h16   #23
thierrybenji
Membre Expert
 
Avatar de thierrybenji
 
Homme Benjamin
Étudiant
Inscription : décembre 2008
Messages : 1 186
Détails du profil
Informations personnelles :
Nom : Homme Benjamin
Âge : 25
Localisation : France, Doubs (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2008
Messages : 1 186
Points : 2 026
Points : 2 026
Envoyer un message via MSN à thierrybenji
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 :
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).
__________________
Aidez la chaîne Nolife, abonnez-vous : http://www.nolife-tv.com/
thierrybenji est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2012, 08h35   #24
Gueritarish
Modérateur
 
Avatar de Gueritarish
 
Homme Marc
Développeur Java
Inscription : mai 2007
Messages : 1 566
Détails du profil
Informations personnelles :
Nom : Homme Marc
Âge : 28
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 566
Points : 3 422
Points : 3 422
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.

Le 5 et 6 juin à Toulouse, la première EclipseCon France !
Gueritarish est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/12/2012, 13h20   #25
thierrybenji
Membre Expert
 
Avatar de thierrybenji
 
Homme Benjamin
Étudiant
Inscription : décembre 2008
Messages : 1 186
Détails du profil
Informations personnelles :
Nom : Homme Benjamin
Âge : 25
Localisation : France, Doubs (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2008
Messages : 1 186
Points : 2 026
Points : 2 026
Envoyer un message via MSN à thierrybenji
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 :
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é.
__________________
Aidez la chaîne Nolife, abonnez-vous : http://www.nolife-tv.com/
thierrybenji est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2012, 13h11   #26
thierrybenji
Membre Expert
 
Avatar de thierrybenji
 
Homme Benjamin
Étudiant
Inscription : décembre 2008
Messages : 1 186
Détails du profil
Informations personnelles :
Nom : Homme Benjamin
Âge : 25
Localisation : France, Doubs (Franche Comté)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2008
Messages : 1 186
Points : 2 026
Points : 2 026
Envoyer un message via MSN à thierrybenji
J'ai réussi à afficher des commandes dans la barre d'outils quand un DetailEditorPart est sélectionné :
Code :
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.
__________________
Aidez la chaîne Nolife, abonnez-vous : http://www.nolife-tv.com/
thierrybenji est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 13h42.


 
 
 
 
Partenaires

Hébergement Web