Cannot add an item to the toolbar programmatically [message #1137376] |
Mon, 14 October 2013 08:51  |
Eclipse User |
|
|
|
Hi,
I'm trying to create a toolbar that will be filled in programmatically. Unfortunately I cannot add a new item to the toolbar due to ClassCastException. I try to add a button to the toolbar in the following way:
String commandId = "example.command";
MToolBar toolbar = ...
MHandledToolItem element = eModelService.createModelElement(MHandledToolItem.class);
element.setElementId("my.new.item.id");
element.setLabel("New item");
ParameterizedCommand wbCommand = getCommand(commandId);
element.setWbCommand(wbCommand);
toolbar.getChildren().add(element);
The last line throws the ClassCastException exception:
java.lang.ClassCastException: org.eclipse.fx.ui.workbench.renderers.fx.DefToolItemRenderer$ToolItemImpl cannot be cast to org.eclipse.fx.ui.workbench.renderers.base.widget.WLayoutedWidget
at org.eclipse.fx.ui.workbench.renderers.base.BaseToolBarRenderer.childRendered(BaseToolBarRenderer.java:103)
at org.eclipse.fx.ui.workbench.renderers.base.BaseToolBarRenderer.childRendered(BaseToolBarRenderer.java:1)
at org.eclipse.fx.ui.workbench.fx.PartRenderingEngine.createGui(PartRenderingEngine.java:161)
at org.eclipse.fx.ui.workbench.fx.PartRenderingEngine.createGui(PartRenderingEngine.java:251)
at org.eclipse.fx.ui.workbench.renderers.base.BaseRenderer.engineCreateWidget(BaseRenderer.java:307)
at org.eclipse.fx.ui.workbench.renderers.base.BaseToolBarRenderer.handleChildrenAddition(BaseToolBarRenderer.java:135)
at org.eclipse.fx.ui.workbench.renderers.base.BaseToolBarRenderer.handleChildrenAddition(BaseToolBarRenderer.java:1)
at org.eclipse.fx.ui.workbench.renderers.base.EventProcessor$1.handleEvent(EventProcessor.java:41)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:41)
at org.eclipse.fx.ui.workbench.fx.E4Application$1.syncExec(E4Application.java:156)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
I also encountered one more issue with the toolbar. After starting my application all toolbar buttons(that I declared in the Application.e4xmi) are disabled. I checked your demo application (e4 Media Application) and toolbar is disabled as well.
|
|
|
|
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.05039 seconds