<property name="rendererFactoryUri" value="platform:/plugin/com.rcp.myproject.renderer/com.rcp.myproject.renderer.MyRendererFactory"> </property>
public class NewElementRenderer extends SWTPartRenderer { public Object createWidget(final MUIElement element, Object parent) { Label label = new Label((Composite)parent, SWT.NONE); label.setText("test widget"); return label; } }
public class MyRendererFactory extends WorkbenchRendererFactory { protected NewElementRenderer newElementRenderer; @Override public AbstractPartRenderer getRenderer(MUIElement uiElement, Object parent) { if(uiElement instanceof Label){ if(newElementRenderer == null) { newElementRenderer = new NewElementRenderer(); initRenderer(newElementRenderer); } return newElementRenderer; } return super.getRenderer(uiElement, parent); }
If uiElement instanceof Label
@Override public void createWindowContents(final Shell shell) { super.createWindowContents(shell); WorkbenchWindow window = (WorkbenchWindow) getWindowConfigurer() .getWindow(); ITrimManager defaultLayout = window.getTrimManager(); logo = new ApplicationLogo(shell, SWT.NONE); Application.setApplicationLogo(((ApplicationLogo) logo)); logoTrim = new WindowTrimProxy(logo, "com.birosoft.workday.logo", "birosLogo", SWT.NONE, true); defaultLayout.addTrim(ITrimManager.TOP, logoTrim, defaultLayout .getTrim(WorkbenchMessages.TrimCommon_Main_TrimName)); }