Hallo,
ich benutze einen TreeViewer um einen Baum anzuzeigen. Dieser Baum liegt auf einem Server und wird von dort geladen. Ich habe eine Menge N von Clienten die diesen Baum anzeigen. Wenn einer dieser Clients etwas an dem Baum ändert (irgendwo ein Kind hinzufügt), wird diese Änderung auf dem Server weiter gegeben und alle Clients darüber informiert das es einen Änderung gibt. Darauf hin holen diese sich den Inhalt des Baums neu vom Server (RMI).
Nun habe ich das Problem das mit treeViewer.setInput(baum) auch immer der Expand lvl der Knoten zurückgesetzt wird. Das heisst nur der Wurzelknoten wird angezeigt und alle Kindelemente sind zugeklappt. Das ist natürlich nicht sonderlich praktisch wenn man den Baum betrachtet und er bei jeder Änderung wieder komplett zuklappt. Die Update, bzw. Refresh Methode des TreeViewers kann ich nicht benutzen weil der Inhalt des Baums ja quasi ein anderer ist. Ebendso wenig bringt die Verwendung von get-/setExpandedElements(). Da passiert leider nix.
Kann mir evtl. jemand weiterhelfen und mir sagen wie ich es hin bekomme das die Änderungen zwar angezeigt (sprich: Inhalt neu setzen), aber der aktuelle Expand Lvl beibehalten wird?
Mfg Mirco
ich benutze einen TreeViewer um einen Baum anzuzeigen. Dieser Baum liegt auf einem Server und wird von dort geladen. Ich habe eine Menge N von Clienten die diesen Baum anzeigen. Wenn einer dieser Clients etwas an dem Baum ändert (irgendwo ein Kind hinzufügt), wird diese Änderung auf dem Server weiter gegeben und alle Clients darüber informiert das es einen Änderung gibt. Darauf hin holen diese sich den Inhalt des Baums neu vom Server (RMI).
Nun habe ich das Problem das mit treeViewer.setInput(baum) auch immer der Expand lvl der Knoten zurückgesetzt wird. Das heisst nur der Wurzelknoten wird angezeigt und alle Kindelemente sind zugeklappt. Das ist natürlich nicht sonderlich praktisch wenn man den Baum betrachtet und er bei jeder Änderung wieder komplett zuklappt. Die Update, bzw. Refresh Methode des TreeViewers kann ich nicht benutzen weil der Inhalt des Baums ja quasi ein anderer ist. Ebendso wenig bringt die Verwendung von get-/setExpandedElements(). Da passiert leider nix.
Kann mir evtl. jemand weiterhelfen und mir sagen wie ich es hin bekomme das die Änderungen zwar angezeigt (sprich: Inhalt neu setzen), aber der aktuelle Expand Lvl beibehalten wird?
Mfg Mirco