Bonjour bonjour...
Je continue ma petite application d'apprentissage d'Eclipse RCP, et voilà que je bute sur un autre problème tout bête :
Je voudrai faire en sorte que mes commandes ( qui sont utilisés dans la toolbar et le menu contextuel ma vue) soient grisées ou disponibles en fonction du type de l'objet sélectionné dans cette même vue.
Pour info, mes menus + popup sont créés dans l'onglet extension (sous org.eclipse.ui.menus) en utilisant :
-popup:maVueID
-toolbar:maVueID
Après avoir cherché longuement sur le net, j'ai quand même trouvé quelques façons de faire, mais que je n'ai pas réussi à mettre en place :
- En rajoutant le point d'extension org.eclipse.ui.handlers, en mettant dessous des handler, des enableWhen... J'ai réussi à faire fonctionner l'exemple que j'avais trouvé (activer ma commande uniquement si il y a une sélection de faite), mais je n'ai pas réussi à faire beaucoup mieux, et dans tous les cas je ne pense pas pouvoir faire des trucs assez détaillés pour correspondre à tous mes besoins (par exemple activer uniquement si la racine de l'arbre de la vue en cours est sélectionnée...)
- Je suis tombé sur une autre façon de faire, qui correspondrait peut être plus à mes besoins (Vu qu'on peut faire par programmation, ça doit permettre de faire des trucs un peu plus évolués), en utilisant IHandlerService, mais là par contre j'ai pas tout compris et certaines classes de l'exemple n'existent pas chez moi (par exemple "Expression")...
Si quelqu'un pouvait m'aiguiller sur la bonne marche à suivre parce que là je cale et il y a tellement de façon de tout faire avec RCP qu'on est jamais trop sûr de partir dans la bonne direction !
Merci d'avance et à plus !
Partager