/** 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;
    }
  }
Exemplo n.º 2
0
 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);
           }
         });
   }
 }