@Override public void checkEnablement(final MToolItem toolbarElement) { @SuppressWarnings("unchecked") final WToolItem<N> widget = (WToolItem<N>) toolbarElement.getWidget(); // can we call canExecute in the none ui thread???? this.sync.asyncExec(new Runnable() { @Override public void run() { try { IEclipseContext context = getModelContext(toolbarElement); if (context != null && (widget.getWidgetState() == WidgetState.CREATED || widget.getWidgetState() == WidgetState.IN_SETUP)) { widget.setHandled(canExecute(toolbarElement, 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 MToolItem)) return; MToolItem itemModel = (MToolItem) event .getProperty(UIEvents.EventTags.ELEMENT); ToolItem toolItem = (ToolItem) itemModel.getWidget(); if (toolItem != null) { toolItem.setEnabled(itemModel.isEnabled()); } } };
public void handleEvent(Event event) { // Ensure that this event is for a MToolItem if (!(event.getProperty(UIEvents.EventTags.ELEMENT) instanceof MToolItem)) return; MToolItem itemModel = (MToolItem) event .getProperty(UIEvents.EventTags.ELEMENT); ToolItem toolItem = (ToolItem) itemModel.getWidget(); if (toolItem != null) { toolItem.setSelection(itemModel.isSelected()); } } };
public void handleEvent(Event event) { // Ensure that this event is for a MToolItem if (!(event.getProperty(UIEvents.EventTags.ELEMENT) instanceof MToolItem)) return; MToolItem itemModel = (MToolItem) event .getProperty(UIEvents.EventTags.ELEMENT); ToolItem toolItem = (ToolItem) itemModel.getWidget(); // No widget == nothing to update if (toolItem == null) return; String attName = (String) event .getProperty(UIEvents.EventTags.ATTNAME); if (UIEvents.UILabel.LABEL.equals(attName)) { setItemText(itemModel, toolItem); } else if (UIEvents.UILabel.ICONURI.equals(attName)) { toolItem.setImage(getImage(itemModel)); } else if (UIEvents.UILabel.TOOLTIP.equals(attName)) { toolItem.setToolTipText(getToolTipText(itemModel)); toolItem.setImage(getImage(itemModel)); } } };