/** Removes the menu represented by the node */ private void removeVisualMenu(RADMenuItemComponent comp) { Object o = getBeanInstance(); Object m = comp.getBeanInstance(); Object dto = getDesignTimeMenus(getFormManager()).getDesignTime(o); Object dtm = getDesignTimeMenus(getFormManager()).getDesignTime(m); switch (getMenuItemType()) { case T_MENUBAR: ((MenuBar) o).remove((Menu) m); ((JMenuBar) dto).remove((JMenu) dtm); ((JMenuBar) dto).validate(); break; case T_MENU: if (comp.getMenuItemType() == T_SEPARATOR) { ((Menu) o).remove(subComponents.indexOf(comp)); ((JMenu) dto).remove(subComponents.indexOf(comp)); } else { ((Menu) o).remove((MenuItem) m); ((JMenu) dto).remove((JMenuItem) dtm); } break; case T_POPUPMENU: if (comp.getMenuItemType() == T_SEPARATOR) { ((Menu) o).remove(subComponents.indexOf(comp)); // PENDING - dont know how to get reference to JPopupMenu.Separator // so it is not supported by getDesignTimeMenu () !! // ((JPopupMenu)dto).remove((JPopupMenu.Separator)dtm); } else { ((Menu) o).remove((MenuItem) m); ((JPopupMenu) dto).remove((JMenuItem) dtm); } break; case T_JMENUBAR: ((JMenuBar) o).remove((JMenu) m); ((JMenuBar) o).validate(); break; case T_JMENU: if (comp.getMenuItemType() == T_JSEPARATOR) { ((JMenu) o).remove(subComponents.indexOf(comp)); } else { ((JMenu) o).remove((JMenuItem) m); } break; case T_JPOPUPMENU: if (comp.getMenuItemType() == T_JSEPARATOR) { // XXX(-tdt) ((JPopupMenu)o).remove((JPopupMenu.Separator)m); ((JPopupMenu) o).remove(subComponents.indexOf(comp)); } else { ((JPopupMenu) o).remove((JMenuItem) m); } break; } }
/** Adds the menu represented by the node */ private void addVisualMenu(RADMenuItemComponent comp) { Object o = getBeanInstance(); Object m = comp.getBeanInstance(); Object dto = getDesignTimeMenus(getFormManager()).getDesignTime(o); Object dtm = getDesignTimeMenus(getFormManager()).getDesignTime(m); switch (getMenuItemType()) { case T_MENUBAR: ((MenuBar) o).add((Menu) m); ((JMenuBar) dto).add((JMenu) dtm); ((JMenuBar) dto).validate(); break; case T_MENU: if (comp.getMenuItemType() == T_SEPARATOR) { ((Menu) o).addSeparator(); ((JMenu) dto).addSeparator(); } else { ((Menu) o).add((MenuItem) m); ((JMenu) dto).add((JMenuItem) dtm); } break; case T_POPUPMENU: if (comp.getMenuItemType() == T_SEPARATOR) { ((Menu) o).addSeparator(); ((JMenu) dto).addSeparator(); } else { ((Menu) o).add((MenuItem) m); ((JPopupMenu) dto).add((JMenuItem) dtm); } break; case T_JMENUBAR: ((JMenuBar) o).add((JMenu) m); ((JMenuBar) o).validate(); break; case T_JMENU: if (comp.getMenuItemType() == T_JSEPARATOR) { ((JMenu) o).addSeparator(); } else { ((JMenu) o).add((JMenuItem) m); } break; case T_JPOPUPMENU: if (comp.getMenuItemType() == T_JSEPARATOR) { ((JPopupMenu) o).addSeparator(); } else { ((JPopupMenu) o).add((JMenuItem) m); } break; } }