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/src/org/eclipse/e4/workbench/ui/renderers/PartRenderer.java
if (factory == null)
					return;
				if (msg.getEventType() == Notification.ADD) {
					Activator.trace(Policy.DEBUG_RENDERER, "Child Added", null); 
					MPart added = (MPart) msg.getNewValue();
					
					
					if (!added.isVisible()) {
						installLifeCycleHooks(added);
						return;
					}
					
					
					if (added.getWidget() == null)
						
						createGui(added);
					else {
						factory.childAdded(changedPart, added);
					}
				} else if (msg.getEventType() == Notification.REMOVE) {
					Activator.trace(Policy.DEBUG_RENDERER, "Child Removed", null); 
					MPart removed = (MPart) msg.getOldValue();
					
					
					if (!removed.isVisible())
						return;
					factory.childRemoved(changedPart, removed);
				}
			}