public Object createWidget(final MUIElement element, Object parent) {
if (!(element instanceof MToolItem) || !(parent instanceof ToolBar))
return null;
MToolItem itemModel = (MToolItem) element;
int addIndex = calcVisibleIndex(element);
MMenu menu = itemModel.getMenu();
int flags = 0;
if (menu != null) {
flags |= SWT.DROP_DOWN;
} else if (itemModel.getType() == ItemType.PUSH)
flags |= SWT.PUSH;
else if (itemModel.getType() == ItemType.CHECK)
flags |= SWT.CHECK;
else if (itemModel.getType() == ItemType.RADIO)
flags |= SWT.RADIO;
ToolItem newItem = new ToolItem((ToolBar) parent, flags, addIndex);
if (itemModel.getLabel() != null)
newItem.setText(itemModel.getLocalizedLabel());
newItem.setToolTipText(getToolTipText(itemModel));
newItem.setImage(getImage((MUILabel) element));
newItem.setEnabled(itemModel.isEnabled());
newItem.setSelection(itemModel.isSelected());
return newItem;
}