Hallo zusammen,
ich bin neu in der SWT/JFace Welt und habe ein (hoffentlich) triviales Problem. Ich möchte ein container-Composite zur Laufzeit in ein parent-Composite packen. Das funktioniert auch soweit. Einziges Problem: Das container-Composite füllt nur eine kleine Ecke in meinem parent-Composite aus. Erst wenn ich die View vergrößere, wird das container-Composite in der ganzen View angezeigt. Das ist natürlich nicht erstrebenswert
Hier der Code:
Vielen Dank im voraus,
Lkatsch
ich bin neu in der SWT/JFace Welt und habe ein (hoffentlich) triviales Problem. Ich möchte ein container-Composite zur Laufzeit in ein parent-Composite packen. Das funktioniert auch soweit. Einziges Problem: Das container-Composite füllt nur eine kleine Ecke in meinem parent-Composite aus. Erst wenn ich die View vergrößere, wird das container-Composite in der ganzen View angezeigt. Das ist natürlich nicht erstrebenswert

Hier der Code:
Code:
public class BaseQuickView extends ViewPart implements ISelectionListener {
public static final String VIEW_ID = BaseQuickView.class.getName();
Composite parent = null; // Parent Composite Handle
Composite container = null; // Container Composite Handle
@Override
public void createPartControl(Composite parent) {
this.parent = parent;
container = new Composite(parent, SWT.None);
container.setLayout(new FillLayout(SWT.VERTICAL));
getSite().getPage().addSelectionListener(this);
}
@Override
public void setFocus() {
container.setFocus();
}
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
container.dispose();
container = new Composite(parent, SWT.None);
container.setLayout(new FillLayout(SWT.VERTICAL));
if (selection instanceof IStructuredSelection) {
IStructuredSelection is = (IStructuredSelection) selection;
for (Iterator iterator = is.iterator(); iterator.hasNext();) {
Object selectedObject = iterator.next();
BaseQuickViewContentPage contentAdapter = (BaseQuickViewContentPage) Platform.getAdapterManager().getAdapter(
selectedObject, BaseQuickViewContentPage.class);
contentAdapter.createControl(container);
}
}
parent.layout(true);
container.pack(true);
parent.pack(true);
}
}
Vielen Dank im voraus,
Lkatsch