Bonjour à tous,
Je teste un peu RCP en implémentant un TreeViewer.
J'ai mis en place un filtre, un tri et un drag & drop.
Mais je bloque sur la modification des icônes des éléments du TreeViewer selon leur état.
Je cherche simplement à définir un icône pour un dossier ouvert et un pour un dossier fermé.
J'ai commencé par :
puis j'ai ajouté dans la méthode getImage de ma classe dérivée de LabelProvider :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 treeViewer.addTreeListener(new ITreeViewerListener(){ public void treeCollapsed(TreeExpansionEvent event) { ((TreeViewer)event.getSource()).update(event.getElement(), null); } public void treeExpanded(TreeExpansionEvent event) { ((TreeViewer)event.getSource()).update(event.getElement(), null); } });
Evidemment, ça ne fonctionne pas.
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 public Image getImage(Object element) { Noeud noeud = (Noeud)element; ImageDescriptor aDescriptor = null; if(noeud.hasEnfants()){ if(treeViewer.getExpandedState(element)){ aDescriptor = Activator.getImageDescriptor("/icons/folder_red.png"); } else{ aDescriptor = Activator.getImageDescriptor("/icons/folder.png"); } } else{ aDescriptor = Activator.getImageDescriptor("/icons/kuser.png"); } Image aImage = aDescriptor.createImage(); return aImage; }
Quelqu'un a déjà rencontré ce souci ?
Merci d'avance.
Partager