Aninhando
Para o mundo externo, cada parte é uma caixa preta. A parte pode utilizar IPartFactory
para criar filhos aninhados sempre que achar conveniente, mas ela não expõe esses filhos
diretamente ao mundo externo. O exemplo a seguir demonstra uma visualização com
dois filhos aninhados.
/**
* Visualização de exemplo contendo um log de erros aninhado à esquerda e uma visualização de propriedade
* aninhada à direita.
*
* @since 3.1
*/
public class TestCompositeView {
public TestCompositeView(Composite parent, IPartFactory factory)
throws CoreException {
//
Criar visualização de log de erros PDE
ContainerContext
logViewContext = new ContainerContext();
ISite
logView = factory.createView(
"org.eclipse.pde.runtime.LogView",
parent, logViewContext, null);
//
Criar visualização de propriedade
ContainerContext
emptyContext = new ContainerContext();
ISite
propertiesView = factory.createView(IPageLayout.ID_PROP_SHEET, parent, emptyContext,
null);
// Construir layout
GridLayout layout = new GridLayout();
layout.numColumns = 2;
parent.setLayout(layout);
// Organizar visualização de log de erros
GridData data1 = new GridData(GridData.FILL_BOTH);
logView.getControl().setLayoutData(data1);
// Organizar visualização de propriedades
GridData data2 = new GridData(GridData.FILL_BOTH);
propertiesView.getControl().setLayoutData(data2);
}
}