/** 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; } }
private void addMenuItem(final String item) { if (myNativeSearchPopup != null) { myNativeSearchPopup.remove(myNoItems); final JMenuItem menuItem = new JBMenuItem(item); myNativeSearchPopup.add(menuItem); menuItem.addActionListener( new ActionListener() { public void actionPerformed(final ActionEvent e) { myTextField.setText(item); } }); } }