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/internal/Workbench.java
}
		}
	}
	private EObject findObject(TreeIterator<EObject> it, String id) {
		while (it.hasNext()) {
			EObject el = it.next();
			if (el instanceof MApplicationElement) {
				if (el.eResource().getURIFragment(el).equals(id)) {
					return el;
				}
			}
		}
		return null;
	}
	private void init() {
		Activator.trace(Policy.DEBUG_WORKBENCH, "init() workbench", null); 
		
		workbenchContext.set(MApplication.class.getName(), workbench);
		workbench.setContext(workbenchContext);
		
		Activator.trace(Policy.DEBUG_CMDS, "Initialize service from model", null); 
		ECommandService cs = (ECommandService) workbenchContext
				.get(ECommandService.class.getName());
		Category cat = cs.getCategory(MApplication.class.getName());
		cat.define("Application Category", null); 
		EList<MCommand> commands = workbench.getCommand();
		for (MCommand cmd : commands) {
			String id = cmd.getId();
			String name = cmd.getName();
			Command command = cs.getCommand(id);