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);

    }
}