Egymásba ágyazás
A külső világ számára minden rész egy fekete doboz. A rész használhatja az
IPartFactory felületet egymásba ágyazott utódok létrehozására, ami megfelelőnek
tűnik, azonban nem teszi elérhetővé ezen utódokat a külső világ számára. Az
alábbi példa egy nézetet mutat be két egymásba ágyazott utóddal.
/**
* Példa nézet, amely a bal oldalon egy beágyazott hibanaplót és a jobb oldalon egy beágyazott
tulajdonságnézetet
* tartalmaz.
*
* A 3.1 változat óta
*/
public class TestCompositeView {
public TestCompositeView(Composite parent, IPartFactory factory)
throws CoreException {
//
PDE hibanaplónézet létrehozása
ContainerContext
logViewContext = new ContainerContext();
ISite
logView = factory.createView(
"org.eclipse.pde.runtime.LogView",
parent, logViewContext, null);
//
Tulajdonságnézet létrehozása
ContainerContext
emptyContext = new ContainerContext();
ISite
propertiesView = factory.createView(IPageLayout.ID_PROP_SHEET, parent, emptyContext,
null);
// Elrendezés összeállítása
GridLayout layout = new GridLayout();
layout.numColumns = 2;
parent.setLayout(layout);
// Hibanaplónézet elrendezése
GridData data1 = new GridData(GridData.FILL_BOTH);
logView.getControl().setLayoutData(data1);
// Tulajdonságok nézet elrendezése
GridData data2 = new GridData(GridData.FILL_BOTH);
propertiesView.getControl().setLayoutData(data2);
}
}