Bug 282875 [UI] Allow parts of models to be rendered
We need to change the rendering protocol to allow a 'createGui' to specify the container it should be created under (in SWT-land this would be a Composite). This is necessary to facilitate unit tests and to allow the ad-hoc rendering of chunks of a model within an arbitrary container (i.e. a Dialog or Wizard). In order to do this we'll have to make an API change to the PartFactory's 'createWidget' so that it will get the parent container as a parameter. In order to 'upgrade' an existing PartFactory you would simply replace the code you're currently using to find the correct container with the new parameter's value.
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/TrimPartFactory.java
/**
	 * @param trimmedComp
	 * @param horizontal
	 * @param topTrim
	 * @return
	 */
	private Composite createTrim(Composite trimmedComp, int orientation,
			MTrimmedPart<?> trimModel, MToolBarContainer trimContainer) {
		Composite trimComposite = new Composite(trimmedComp, SWT.NONE);
		RowLayout trl = new RowLayout(orientation);
		trl.marginBottom = trl.marginTop = 1;
		trimComposite.setLayout(trl);
		
		for (MToolBar tb : trimContainer.getToolbars()) {
			createToolBar(trimModel, trimComposite, tb);
		}
		return trimComposite;
	}
	/**
	 * @param trimSide
	 * @return
	 */
	private boolean hasVisibleChildren(MToolBarContainer trimSide) {
		if (trimSide == null)
			return false;
		EList<?> kids = trimSide.getToolbars();
		return kids != null && kids.size() > 0;
	}
}