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/SWTPartFactory.java
parentMenu.addListener(SWT.Show, new Listener() {
				public void handleEvent(Event event) {
					if (newMenuItem.isDisposed()) {
						return;
					}
					Object result = canExecuteItem(localContext, newMenuItem
							.getDisplay(), handledItem);
					((MenuItem) newMenuItem).setEnabled(Boolean.TRUE
							.equals(result));
				}
			});
		}
	}
	public <P extends MPart<?>> void processContents(MPart<P> me) {
		Widget parentWidget = getParentWidget(me);
		if (parentWidget == null)
			return;
		
		List<P> parts = me.getChildren();
		if (parts != null) {
			for (Iterator<P> childIter = parts.iterator(); childIter.hasNext();) {
				MPart<?> childME = childIter.next();
				renderer.createGui(childME);
			}
		}
	}
	public void bindWidget(MPart<?> me, Object widget) {
		me.setWidget(widget);
		((Widget) widget).setData(OWNING_ME, me);
	}