Hallo,
in einem derzeitigen RCP Projekt mit SWT-Elementen hat sich folgendes Problem ereignet.
Erstmal vorweg ein paar Informationen:
Wir erstellen eine RCP Anwendung unter Eclipse 3.3 und verfügen dort über einige Views die auf mehrere Elemente aus org.eclipse.ui.forms.* zugreifen.
Sprich: ScrolledForm, FormToolkit, etc.
Nun habe ich einige Sections erstellt, welche wiederrum eine Composite mit einem Gridlayout beinhalten.
Auf diesem Layout sind verschiedene Labels und Textboxen zu finden.
Mein Problem nun ist: Sobald ich die Section schließe und wieder öffne orientiert sich die Größe bzw. Länge der Elemente um. (Siehe Anhang) Es ist etwas kompliziert zu erklären.
Ich würde nun gerne, dass die Elemente immer im 'normalen' Zustand bleiben, wie ich sie angelegt habe. Liegt es eventuell am SWT.LEFT? Oder sollte ich lieber ein ganz anderes Layout wählen? Bin für jeden Tipp dankbar.
Der Codeausschnitt, passend zum Dateianhang:
Gruß,
Jens
in einem derzeitigen RCP Projekt mit SWT-Elementen hat sich folgendes Problem ereignet.
Erstmal vorweg ein paar Informationen:
Wir erstellen eine RCP Anwendung unter Eclipse 3.3 und verfügen dort über einige Views die auf mehrere Elemente aus org.eclipse.ui.forms.* zugreifen.
Sprich: ScrolledForm, FormToolkit, etc.
Nun habe ich einige Sections erstellt, welche wiederrum eine Composite mit einem Gridlayout beinhalten.
Auf diesem Layout sind verschiedene Labels und Textboxen zu finden.
Mein Problem nun ist: Sobald ich die Section schließe und wieder öffne orientiert sich die Größe bzw. Länge der Elemente um. (Siehe Anhang) Es ist etwas kompliziert zu erklären.
Ich würde nun gerne, dass die Elemente immer im 'normalen' Zustand bleiben, wie ich sie angelegt habe. Liegt es eventuell am SWT.LEFT? Oder sollte ich lieber ein ganz anderes Layout wählen? Bin für jeden Tipp dankbar.
Der Codeausschnitt, passend zum Dateianhang:
Java:
// [...]
final Section sStamm = toolkit.createSection(body, Section.TITLE_BAR | Section.TWISTIE | Section.EXPANDED);
final GridData gdsStamm = new GridData(SWT.FILL, SWT.FILL, true, false);
sStamm.setLayoutData(gdsStamm);
sStamm.setText("Stammdaten");
final Composite csStamm = toolkit.createComposite(sStamm, SWT.NONE);
final GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 2;
csStamm.setLayout(gridLayout);
toolkit.paintBordersFor(csStamm);
sStamm.setClient(csStamm);
form.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
// das Label
toolkit.createLabel(csStamm, "Belegungskunde", SWT.NONE);
toolkit.adapt(csStamm);
// die Textbox
control[0] = new Text(csStamm, SWT.BORDER);
control[0].setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false));
// [...]
Gruß,
Jens
Zuletzt bearbeitet: