Imbrication
Chaque composant "part" est hermétique vu de l'extérieur. Le composant "part" peut utiliser IPartFactory
pour créer des enfants imbriqués là où cela lui semble convenir, sans exposer ces enfants au monde extérieur. L'exemple qui suit illustre une vue avec deux enfants imbriqués.
/**
* Example view containing a nested error log on the left and a nested
property
* view on the right.
*
* @since 3.1
*/
public class TestCompositeView {
public TestCompositeView(Composite parent, IPartFactory factory)
throws CoreException {
//
Create PDE error log view
ContainerContext
logViewContext = new ContainerContext();
ISite
logView = factory.createView(
"org.eclipse.pde.runtime.LogView",
parent, logViewContext, null);
//
Create Property view
ContainerContext
emptyContext = new ContainerContext();
ISite
propertiesView = factory.createView(IPageLayout.ID_PROP_SHEET, parent, emptyContext,
null);
// Construct layout
GridLayout layout = new GridLayout();
layout.numColumns = 2;
parent.setLayout(layout);
// Arrange error log view
GridData data1 = new GridData(GridData.FILL_BOTH);
logView.getControl().setLayoutData(data1);
// Arrange properties view
GridData data2 = new GridData(GridData.FILL_BOTH);
propertiesView.getControl().setLayoutData(data2);
}
}