巢狀

對外界而言,每一個組件都是黑色的方框。組件可以使用 IPartFactory 來建立巢狀子項,雖然它認為合適,但卻不把那些子項直接顯現給外界。下列範例示範具有兩個巢狀子項的視圖。

/**
 * 左邊包含一個巢狀錯誤日誌和右邊包含一個巢狀內容的
 * 視圖範例。
 *
 * @自 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);

        // 建立內容視圖
        ContainerContext emptyContext = new ContainerContext();
        ISite propertiesView = factory.createView(IPageLayout.ID_PROP_SHEET, parent, emptyContext, null);

        // 建構佈置
        GridLayout layout = new GridLayout();
        layout.numColumns = 2;
        parent.setLayout(layout);

        // 安排錯誤日誌視圖
        GridData data1 = new GridData(GridData.FILL_BOTH);
        logView.getControl().setLayoutData(data1);
       
        // 安排內容視圖
        GridData data2 = new GridData(GridData.FILL_BOTH);
        propertiesView.getControl().setLayoutData(data2);

    }
}