Hallo,
ich schreibe gerade einen Editor für ein eigenes Model. Dabei habe ich ein Problem mit den GUI-Elementen, speziell mit Sections und einer ScrolledForm.
Ich habe eine ScrolledForm und möchte darauf eine gewisse Anzahl (später dynamisch) von Sections platzieren. Das Problem ist, dass die Sections nicht zu sehen sind. Der Text der ScrolledForm ist wiederum sichtbar.
Zur Veranschaulichung ein bisschen Code:
Code:
public void createPartControl(Composite parent) {
FormToolkit toolkit = new FormToolkit(parent.getDisplay());
ScrolledForm form = toolkit.createScrolledForm(parent);
form.setText("ScrolledForm");
for (int i=0; i<=6; ++i){
Section section = toolkit.createSection(form.getBody(), Section.TITLE_BAR | Section.TWISTIE | Section.EXPANDED);
section.setText("Test " + i);
Label label1 = toolkit.createLabel(section, "Ein sehr langer Text", SWT.WRAP);
section.setClient(label1);
section.setVisible(true);
}
form.update();
form.redraw();
}
Der Text im Label ist in Wirklichkeit sehr viel länger und passt nicht auf eine Editorseite, so dass ich gerne einen Scrollbalken bekommen möchte.
Was mach ich hier falsch?
Schon mal vielen Dank für die Hilfe.
Danke erstmal (wenn auch etwas spät), hat soweit funktioniert, zumindest sind die Sections zu sehen.
Nun sitz ich aber seit fast drei Tagen am nächsten Problem. Die Sections werden zwar angezeigt, nur sind sie viel zu klein. D.h. ihr Inhalt (ein GEF TreeViewer) wird höchstens zu einem Viertel angezeigt, der Rest ist nur durch Scrollen erreichbar. Auch wird das Editorfenser in keinster Weise voll ausgenutzt. Ich habe nun schon die verschiedensten Layouts (FillLayout, RowLayout, GridLayout) ausprobiert, überall derselbe Effekt. Auch Methoden wie computeSize(int, int) oder setSize(int, int) bringen irgendwie nichts.
Nun frag ich Euch, ob jemand weiß, wie ich die Sections vergrößert bekomme.
Zur Veranschaulichung ein Stück vom Code:
Code:
@Override
public void createPartControl(Composite parent) {
FormToolkit toolkit = new FormToolkit(parent.getDisplay());
ScrolledForm form = toolkit.createScrolledForm(parent);
Composite body = form.getBody();
GridLayout gridLayout = new GridLayout();
gridLayout.makeColumnsEqualWidth = false;
gridLayout.numColumns = 3;
body.setLayout(gridLayout);
body.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
for (TaskModelSimulationInstance tmsInstance : simulation.getTaskModelSimulationInstance()){
Section section = toolkit.createSection(body, Section.TITLE_BAR | Section.TWISTIE | Section.EXPANDED | Section.COMPACT);
section.setText(tmsInstance.getName());
EditPartFactory editpartfactory = new TaskModelSimulationEditPartFactory();
TreeViewer treeViewer = new TreeViewer();
treeViewer.createControl(section);
treeViewer.setEditPartFactory(editpartfactory);
treeViewer.setContents(tmsInstance.getSimulation().get(0));
section.setClient(treeViewer.getControl());
}
}