Anidación
En el mundo exterior, cada componente es una caja negra. El componente puede
utilizar IPartFactory
para crear hijos anidados independientemente de lo que sea adecuado, pero no
expondrá a esos hijos directamente al mundo exterior. El ejemplo siguiente muestra una vista con dos hijos anidados.
/**
* Vista de ejemplo que contiene anotaciones de error anidadas a la
izquierda y una
* vista de propiedades anidada a la derecha.
*
* @since 3.1
*/
public class TestCompositeView {
public TestCompositeView(Composite parent, IPartFactory factory)
throws CoreException {
//
Crear vista de anotaciones de error PDE
ContainerContext
logViewContext = new ContainerContext();
ISite
logView = factory.createView(
"org.eclipse.pde.runtime.LogView",
parent, logViewContext, null);
//
Crear vista Propiedades
ContainerContext
emptyContext = new ContainerContext();
ISite
propertiesView = factory.createView(IPageLayout.ID_PROP_SHEET, parent, emptyContext,
null);
// Diseño de construcción
GridLayout layout = new GridLayout();
layout.numColumns = 2;
parent.setLayout(layout);
// Ordenar vista de anotaciones de error
GridData data1 = new GridData(GridData.FILL_BOTH);
logView.getControl().setLayoutData(data1);
// Ordenar vista de propiedades
GridData data2 = new GridData(GridData.FILL_BOTH);
propertiesView.getControl().setLayoutData(data2);
}
}