Tach,
ich hab da mal ne Frage zum Thema Layout mit Sections in Eclipse Forms.
Ich habe ein Programm, dass einen View zum Navigieren in Plugins bietet. Dieser View besteht im Prinzip nur aus dynamisch untereinander angeordneten Sections, deren Client-Area jeweils mit einem TreeViewer befüllt ist.
Nun ist es so, dass ich in jedem TreeViewer beim erstellen des jeweiligen Trees "viewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);" machen muss, ansonsten wird die Höhe der Section-Inhalte nicht richtig berechnet. Sprich, mache ich das nicht, wird nur eine Default-Höhe der Sections angenommen und wenn ich dann die Trees expandiere, bleibt die höhe der Client-Area der Sections gleich.
Ich verwende derzeit GridLayout(1, true) wobei das passiert, wie die angehängten Bilder darstellen sollen.
Bild 1: alle Plugins, eins geöffnet, nicht expandiert
Bild 2: das konkrete Beispiel-Plugin, expandiert --> Section Client hat selbe höhe wie in Bild 1
Bild 3: Bereits beim erstellen des Baum expandiert: Section hat volle Höhe des Trees
Ich dachte, dass ich es mit dem ColumnLayout umgehen könnte, aber das war falsch.
Gibt es
a) eine Möglichkeit, dass ähnlich wie beim Nebula PShelf, die Gesamthöhe des Views auf alle Sections verteilt wird? (Sprich: Klappe eine Section auf und sie hat der Client hat die maximal verfügbare Höhe)
oder
b) eine Möglichkeit, dass die Client-Höhe bei jedem expandieren/kollabieren eines Baum-Element immer so hoch ist, wie der gerade sichtbare Teil des Baums? von mir aus kann es ja scrollen.
Vielleicht sollte ich erwähnen, dass ich als Parent für die Sections ein ScrolledForm verwende - vielleicht hat das ja Einfluss.
Ich hoffe es ist verständlich geworden, was mein Problem ist.
Danke und Grüße,
Daniel
ich hab da mal ne Frage zum Thema Layout mit Sections in Eclipse Forms.
Ich habe ein Programm, dass einen View zum Navigieren in Plugins bietet. Dieser View besteht im Prinzip nur aus dynamisch untereinander angeordneten Sections, deren Client-Area jeweils mit einem TreeViewer befüllt ist.
Nun ist es so, dass ich in jedem TreeViewer beim erstellen des jeweiligen Trees "viewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);" machen muss, ansonsten wird die Höhe der Section-Inhalte nicht richtig berechnet. Sprich, mache ich das nicht, wird nur eine Default-Höhe der Sections angenommen und wenn ich dann die Trees expandiere, bleibt die höhe der Client-Area der Sections gleich.
Ich verwende derzeit GridLayout(1, true) wobei das passiert, wie die angehängten Bilder darstellen sollen.
Bild 1: alle Plugins, eins geöffnet, nicht expandiert
Bild 2: das konkrete Beispiel-Plugin, expandiert --> Section Client hat selbe höhe wie in Bild 1
Bild 3: Bereits beim erstellen des Baum expandiert: Section hat volle Höhe des Trees
Ich dachte, dass ich es mit dem ColumnLayout umgehen könnte, aber das war falsch.
Gibt es
a) eine Möglichkeit, dass ähnlich wie beim Nebula PShelf, die Gesamthöhe des Views auf alle Sections verteilt wird? (Sprich: Klappe eine Section auf und sie hat der Client hat die maximal verfügbare Höhe)
oder
b) eine Möglichkeit, dass die Client-Höhe bei jedem expandieren/kollabieren eines Baum-Element immer so hoch ist, wie der gerade sichtbare Teil des Baums? von mir aus kann es ja scrollen.
Vielleicht sollte ich erwähnen, dass ich als Parent für die Sections ein ScrolledForm verwende - vielleicht hat das ja Einfluss.
Ich hoffe es ist verständlich geworden, was mein Problem ist.
Danke und Grüße,
Daniel