/** * Create the object. * * @exception IOException if something fails */ public void create() throws IOException { RADMenuItemComponent newMenuComp; if ((RADMenuItemComponent.recognizeType(item) & MASK_CONTAINER) == 0) { newMenuComp = new RADMenuItemComponent(); } else { newMenuComp = new RADMenuComponent(); } newMenuComp.initialize(RADMenuComponent.this.getFormManager()); newMenuComp.setComponent(item); if (newMenuComp instanceof RADMenuComponent) { ((RADMenuComponent) newMenuComp).initSubComponents(new RADComponent[0]); } RADMenuComponent.this .getFormManager() .addNonVisualComponent(newMenuComp, RADMenuComponent.this); // for some components, we initialize their properties with some non-default values // e.g. a label on buttons, checkboxes FormEditor.defaultMenuInit(newMenuComp); addVisualMenu(newMenuComp); RADMenuComponent.this.getFormManager().selectComponent(newMenuComp, false); }
/** 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; } }
/** * Create the object. * * @exception IOException if something fails */ public void create() throws IOException { RADMenuItemComponent newSeparatorComp = new RADMenuItemComponent(); newSeparatorComp.initialize(getFormManager()); if ((getMenuItemType() == T_MENU) || (getMenuItemType() == T_POPUPMENU)) { newSeparatorComp.setComponent(org.netbeans.modules.form.Separator.class); } else { newSeparatorComp.setComponent(JSeparator.class); } getFormManager().addNonVisualComponent(newSeparatorComp, RADMenuComponent.this); // XXX(-tdt) addVisualMenu (newSeparatorComp); getFormManager().selectComponent(newSeparatorComp, false); return; }
/** 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; } }
public void add(RADComponent comp) { if (!(comp instanceof RADMenuItemComponent)) throw new IllegalArgumentException(); subComponents.add(comp); ((RADMenuItemComponent) comp).initParent(this); addVisualMenu((RADMenuItemComponent) comp); ((RADChildren) getNodeReference().getChildren()).updateKeys(); }