protected void addComponentToMenu(Menu menu, Component c) {
if (c instanceof SeparatorToolItem) {
menu.add(new SeparatorMenuItem());
} else if (c instanceof SplitButton) {
final SplitButton sb = (SplitButton) c;
MenuItem item = new MenuItem(sb.getHtml(), sb.getIcon());
item.setEnabled(c.isEnabled());
item.setItemId(c.getItemId());
if (sb.getData("gxt-menutext") != null) {
item.setHtml(sb.getData("gxt-menutext").toString());
}
if (sb.getMenu() != null) {
item.setSubMenu(sb.getMenu());
}
item.addSelectionListener(new SelectionListener<MenuEvent>() {
@Override
public void componentSelected(MenuEvent ce) {
ButtonEvent e = new ButtonEvent(sb);
e.setEvent(ce.getEvent());
sb.fireEvent(Events.Select, e);
}
});
menu.add(item);