@Override public void hookControllerLogic(MUIElement me) { // If the item is a CHECK or RADIO update the model's state to match if (me instanceof MItem) { final MItem item = (MItem) me; if (item.getType() == ItemType.CHECK || item.getType() == ItemType.RADIO) { MenuItem ti = (MenuItem) me.getWidget(); ti.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { item.setSelected(((MenuItem) e.widget).getSelection()); } public void widgetDefaultSelected(SelectionEvent e) { item.setSelected(((MenuItem) e.widget).getSelection()); } }); } } } }
protected void handleWidgetSelection(Event event) { if (widget != null && !widget.isDisposed()) { if (dropdownEvent(event)) { return; } if (modelItem.getType() == ItemType.CHECK || modelItem.getType() == ItemType.RADIO) { boolean selection = false; if (widget instanceof MenuItem) { selection = ((MenuItem) widget).getSelection(); } else if (widget instanceof ToolItem) { selection = ((ToolItem) widget).getSelection(); } modelItem.setSelected(selection); } if (canExecuteItem(event)) { executeItem(event); } } }
private void handleWidgetSelection(Event event) { if (widget != null && !widget.isDisposed()) { if (dropdownEvent(event)) { return; } if (model.getType() == ItemType.CHECK || model.getType() == ItemType.RADIO) { boolean selection = false; if (widget instanceof MenuItem) { selection = ((MenuItem) widget).getSelection(); } else if (widget instanceof ToolItem) { selection = ((ToolItem) widget).getSelection(); } model.setSelected(selection); } if (canExecuteItem(event)) { executeItem(event); } } }
@Override public void fill(Menu menu, int index) { if (model == null) { return; } if (widget != null) { return; } int style = SWT.PUSH; if (model.getType() == ItemType.PUSH) style = SWT.PUSH; else if (model.getType() == ItemType.CHECK) style = SWT.CHECK; else if (model.getType() == ItemType.RADIO) style = SWT.RADIO; MenuItem item = null; if (index >= 0) { item = new MenuItem(menu, style, index); } else { item = new MenuItem(menu, style); } item.setData(this); item.addListener(SWT.Dispose, getItemListener()); item.addListener(SWT.Selection, getItemListener()); item.addListener(SWT.DefaultSelection, getItemListener()); widget = item; model.setWidget(widget); widget.setData(AbstractPartRenderer.OWNING_ME, model); update(null); }