Bug 269058 [UI] Remove product specific code
The current implementation of org.eclipse.e4.workbench.ui.internal.Workbench currently contains code (based on the availability of the LegacyHook) that is specific to running either the compatibility layer (LH == true) or the photo demo (PH == false). We should make the base Workbench logic work whichever of the two 'applications' are running (i.e. based -only- on the difference in their 'default' model XMI).
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/WBPartFactory.java
localContext.set(MWorkbenchWindow.class.getName(), part);
			} else {
				wbwShell.setLayout(new FillLayout());
			}
			if (((MWindow<?>) part).getName() != null)
				wbwShell.setText(((MWindow<?>) part).getName());
		} else {
			newWidget = null;
		}
		return newWidget;
	}
	@Override
	public <P extends MPart<?>> void processContents(MPart<P> me) {
		if (me instanceof MWorkbenchWindow) {
			MWorkbenchWindow wbwModel = (MWorkbenchWindow) me;
			Shell wbwShell = (Shell) wbwModel.getWidget();
			TrimmedLayout tl = (TrimmedLayout) wbwShell.getLayout();
			
			MPart<?> topTrim = wbwModel.getTrim().getTopTrim();
			if (topTrim != null) {
				bindWidget(topTrim, tl.top);
				topTrim.setOwner(this);
				super.processContents(topTrim);
			}
			MPart<?> bottomTrim = wbwModel.getTrim().getBottomTrim();
			if (bottomTrim != null) {
				bindWidget(bottomTrim, tl.bottom);
				bottomTrim.setOwner(this);
				super.processContents(bottomTrim);
			}