Bug 305807 iconURI does not work for HandledMenuItem
Given the following declaration, the menu item shows up but does not have the specified icon. The same iconURI attribute works when used with a part descriptor. <components parentID="org.eclipse.ui.main.menu"> <children xsi:type="application:MenuItem" label="Fa&amp;vorites"> <children xsi:type="application:HandledMenuItem" label="Open Favorites View" command="com.qualityeclipse.favorites.commands.openView" iconURI="platform:/plugin/com.qualityeclipse.favorites_e4/icons/sample.gif" /> </children> </components>
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/MenuItemRenderer.java
MenuItem menuItem = (MenuItem) itemModel.getWidget();
				
				if (menuItem == null)
					return;
				String attName = (String) event
						.getProperty(UIEvents.EventTags.ATTNAME);
				if (UIEvents.UILabel.LABEL.equals(attName)) {
					setItemText(itemModel, menuItem);
				} else if (UIEvents.UILabel.ICONURI.equals(attName)) {
					menuItem.setImage(getImage(itemModel));
				}
			}
		};
		eventBroker.subscribe(UIEvents.buildTopic(UIEvents.UILabel.TOPIC),
				itemUpdater);
	}
	@PreDestroy
	public void contextDisposed() {
		eventBroker.unsubscribe(itemUpdater);
	}
	public Object createWidget(final MUIElement element, Object parent) {
		if (!(element instanceof MMenuItem) || !(parent instanceof Menu))
			return null;
		MMenuItem itemModel = (MMenuItem) element;
		Menu parentMenu = (Menu) parent;
		
		int addIndex = calcVisibleIndex(element);
		if (itemModel.getType() == ItemType.SEPARATOR) {
			return new MenuItem(parentMenu, SWT.SEPARATOR, addIndex);
		}