treeView :: refresh() klappt ganzen Tree zusammen...

menet

Grünschnabel
Hallo zusammen

Ich verstehe nicht ganz, was ich falsch mache...

Ich habe eine RCP-Application für eine Büroanwendung gebaut:

Der Tree setzt sich aus diversen Nodes zusammen. Webdaten, Projekte, Kontakte, usw.
Wenn ich einen Kontakt öffne, geht rechts neben dem Tree der PersonenEditor auf und ich kann die Person bearbeiten und speichern. Funktioniert alles bestens, sogar der Editor-Reiter wird mit dem neuen Namen aktualisiert.

Nur der TreeViewer macht das nicht?! Habe mich schon versucht mit ContentBinding schlau zu machen, aber verstehe es nicht ganz. Nun versuche ich eine Methode im TreeViewer, mit der ich den View refreshen, oder updaten möchte:

Code:
public static void refreshTree(){
     Object[] elements = m_treeViewer.getExpandedElements();
     TreePath[] treePaths = m_treeViewer.getExpandedTreePaths();
     m_treeViewer.refresh();
     m_treeViewer.setExpandedElements(elements);
     m_treeViewer.setExpandedTreePaths(treePaths); 
}

Ohne die Zeile m_treeViewer.refresh() bewegt sich gar nichts.
Mit der Zeile aktualisiert er den View, aber klappt den ganzen Tree zusammen.

Wie kann ich das refreshen, und den Tree wieder so aufbauen, dass er so aufgeklappt ist wie vorher?

Vielleicht hat mir ja jemand einen Tipp... :)

Gruss Thomas
 
Zuletzt bearbeitet:
Zurück