@Override public void checkEnablement(final MMenuItem menuElement) { @SuppressWarnings("unchecked") final WMenuItem<N> widget = (WMenuItem<N>) menuElement.getWidget(); // can we call canExecute in the none ui thread???? this.sync.syncExec(new Runnable() { @Override public void run() { try { IEclipseContext context = getModelContext(menuElement); if (context != null && (widget.getWidgetState() == WidgetState.CREATED || widget.getWidgetState() == WidgetState.IN_SETUP)) { widget.setHandled(canExecute(menuElement, context)); } } catch (Throwable t) { // TODO Log it t.printStackTrace(); } } }); } }
public void handleEvent(Event event) { // Ensure that this event is for a MToolItem if (!(event.getProperty(UIEvents.EventTags.ELEMENT) instanceof MMenuItem)) return; MMenuItem itemModel = (MMenuItem) event .getProperty(UIEvents.EventTags.ELEMENT); MenuItem menuItem = (MenuItem) itemModel.getWidget(); if (menuItem != null) { menuItem.setSelection(itemModel.isSelected()); } } };
public void handleEvent(Event event) { // Ensure that this event is for a MMenuItem if (!(event.getProperty(UIEvents.EventTags.ELEMENT) instanceof MMenuItem)) return; MMenuItem itemModel = (MMenuItem) event .getProperty(UIEvents.EventTags.ELEMENT); MenuItem menuItem = (MenuItem) itemModel.getWidget(); if (menuItem != null) { menuItem.setEnabled(itemModel.isEnabled()); } } };
public void handleEvent(Event event) { // Ensure that this event is for a MMenuItem if (!(event.getProperty(UIEvents.EventTags.ELEMENT) instanceof MMenuItem)) return; MMenuItem itemModel = (MMenuItem) event .getProperty(UIEvents.EventTags.ELEMENT); MenuItem menuItem = (MenuItem) itemModel.getWidget(); // No widget == nothing to update 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)); } } };