Пример #1
0
  /** Create menus */
  private JMenuBar createMenus() {
    JMenuItem mi;
    // ***** create the menubar ****
    menuBar = new JMenuBar();

    // ***** create File menu
    fileMenu = (JMenu) menuBar.add(new JMenu("File"));
    fileMenu.setMnemonic('F');
    createMenuItem(fileMenu, "Print", 'P', "", new PrintAction(this));
    createMenuItem(fileMenu, "Close", 'C', "", new CloseAction(this));
    fileMenu.add(new JSeparator());
    createMenuItem(fileMenu, "Exit", 'E', "", new ExitAction());

    // ***** create laf switcher menu
    lafMenu = (JMenu) menuBar.add(new JMenu("Look & Feel"));
    lafMenu.setMnemonic('L');

    mi = createLafMenuItem(lafMenu, "Java Look & Feel", 'J', "", metal);
    mi.setSelected(true); // this is the default l&f
    metalMenuItem = mi;

    createLafMenuItem(lafMenu, "Macintosh Look & Feel", 'M', "", mac);

    createLafMenuItem(lafMenu, "Motif Look & Feel", 'F', "", motif);

    createLafMenuItem(lafMenu, "Windows Look & Feel", 'W', "", windows);

    // ***** create themes menu
    themesMenu = (JMenu) menuBar.add(new JMenu("Themes"));
    themesMenu.setMnemonic('T');

    mi = createThemesMenuItem(themesMenu, "Default", 'D', "", new DefaultMetalTheme());
    mi.setSelected(true); // This is the default theme

    createThemesMenuItem(themesMenu, "Aqua", 'A', "", new AquaTheme());

    createThemesMenuItem(themesMenu, "Charcoal", 'C', "", new CharcoalTheme());

    createThemesMenuItem(themesMenu, "High Contrast", 'H', "", new ContrastTheme());

    createThemesMenuItem(themesMenu, "Emerald", 'E', "", new EmeraldTheme());

    createThemesMenuItem(themesMenu, "Ruby", 'R', "", new RubyTheme());

    createThemesMenuItem(themesMenu, "Presentation", 'P', "", new DemoMetalTheme());

    createThemesMenuItem(themesMenu, "Sandstone", 'S', "", new KhakiMetalTheme());

    createThemesMenuItem(themesMenu, "Big High Contrast", 'I', "", new BigContrastMetalTheme());

    createThemesMenuItem(themesMenu, "Blue", 'B', "", new BlueTheme());

    createThemesMenuItem(themesMenu, "Cougaar", 'O', "", new CougaarTheme());

    createThemesMenuItem(
        themesMenu, "Cougaar Presentation", 'O', "", new CougaarPresentationTheme());

    return menuBar;
  }
Пример #2
0
 public void setAlignmentOptions(int alignment) {
   miLeft.setSelected(alignment == StyleConstants.ALIGN_LEFT);
   miCenter.setSelected(alignment == StyleConstants.ALIGN_CENTER);
   miRight.setSelected(alignment == StyleConstants.ALIGN_RIGHT);
   tbLeft.setSelected(alignment == StyleConstants.ALIGN_LEFT);
   tbCenter.setSelected(alignment == StyleConstants.ALIGN_CENTER);
   tbRight.setSelected(alignment == StyleConstants.ALIGN_RIGHT);
 }
  /**
   * Creates the theme menu
   *
   * @return the theme menu
   */
  private JMenu createThemeMenu() {
    JMenu themeMenu = new JMenu("Theme");
    ButtonGroup buttonGroup = new ButtonGroup();

    // Create a menu item for all themes
    for (int i = 0; i < themes.length; i++) {
      JMenuItem themeItem = new JRadioButtonMenuItem(themes[i].getName());
      buttonGroup.add(themeItem);
      final int k = i;
      themeItem.addActionListener(
          new ActionListener() {
            public void actionPerformed(ActionEvent e) {
              // Apply the selected theme
              applyTheme(themes[k]);
            }
          });

      themeMenu.add(themeItem);

      // Set the first item (default theme) to be selected
      themeItem.setSelected(i == 0);
    }

    return themeMenu;
  }
Пример #4
0
  public TrajectoryComponent(final Model model, MainFrame mainFrame) {
    super(model, mainFrame, new Dataset(model.getVarNames()));
    defaultsSection = ModelDefaults.SCATTER_SECTION;

    controlForm = privateControlForm = new TrajectoryControlForm2(model, this);

    init(
        new TrajectoryManager(this, privateControlForm),
        new TrajectorySM(this),
        controlForm,
        "Trajectory");

    stateMachine.addSensibleItem(autoBoundsMenuItem);
    stateMachine.addSensibleItem(manualBoundsMenuItem);
    stateMachine.addSensibleItem(variationMenuItem);

    stateMachine.addNoRunItem(clearAction);

    stateMachine.addNoRunItem(getTransparencyAction());
    stateMachine.addNoRunItem(getConnectDotsMenuItem());
    stateMachine.addNoRunItem(getBigDotsMenuItem());
    stateMachine.addNoRunItem(getGridLinesMenuItem());

    variationMenuItem.setSelected(false);

    if (model instanceof SimpleMap) {
      getConnectDotsMenuItem().setSelected(false);
    } else if (model instanceof ODE) {
      getConnectDotsMenuItem().setSelected(true);
    }

    stateMachine.parseInput(Input.go);
    finishInit(controlForm);
  }
 private void selectModel(SubstitutionModel m) {
   manager.inputData.model = m;
   for (JMenuItem mi : modelButtons) {
     if (mi.getText().equals(m.getMenuName())) {
       mi.setSelected(true);
       break;
     }
   }
 }
  protected void setPanel(MouseDelegator md) {
    if (titleButton != null) {
      remove(titleButton);
    }
    titleButton = new JButton();
    titleButton.addActionListener(this);

    String activeMode = md.getActiveMouseModeID();
    MapMouseMode[] modes = md.getMouseModes();

    rbs = new JPopupMenu("Mouse Modes");
    dim = titleButton.getMinimumSize();
    for (int i = 0; i < modes.length; i++) {
      JMenuItem rb = new JMenuItem(modes[i].getID());
      rb.setActionCommand(newMouseModeCmd);
      rb.setName(modes[i].getID());
      rb.setBorderPainted(false);
      /*
                  if (Debug.debugging("mousemode")){
                      Debug.output("MouseModePanel.setPanel(): Adding " +
                                   rb.getName() + " button to menu.");
                  }
      */
      rb.addActionListener(this);
      if (activeMode.equals(modes[i].getID())) {
        /*
                        if (Debug.debugging("mousemode")){
                            Debug.output("MouseModePanel.setPanel: Setting " +
                                         activeMode + " to active");
                        }
        */
        rb.setSelected(true);
        titleButton.setText(activeMode);
      }
      rbs.add(rb);
    }
    this.setMinimumSize(dim);

    if (modes.length > 0) {
      border = new TitledBorder(new EtchedBorder(), "Mouse Mode");
      setBorder(border);
    }

    titleButton.setActionCommand(mouseModeCmd);
    titleButton.setBorderPainted(false);
    add(titleButton);
    // HACK - the button keeps changing size depending on which
    // choice is made.  I'd like to set the size based on the
    // size of the largest mouse mode name, but I can't figure out
    // when that's available, before we actually have to present
    // the button.
    //        this.setPreferredSize(new Dimension(140, 45));
    this.setPreferredSize(new Dimension(105, 45));
    this.revalidate();
  }
Пример #7
0
 public static JMenuItem makeMenuItem(Command cmd) {
   JMenuItem item;
   if (cmd instanceof ToggleCommand) {
     item = new JCheckBoxMenuItem(cmd);
     item.setSelected(((ToggleCommand) cmd).isSelected());
   } else {
     item = new JMenuItem(cmd);
   }
   cmd.bind(item);
   return item;
 }
Пример #8
0
 private void doPopUp(MouseEvent e) {
   if (e.isPopupTrigger()) {
     this.button = (ColorIndexSupplier) e.getComponent();
     int colorIndex = button.getColorCell();
     for (int i = 0; i < groups.length; i++) {
       JMenuItem m = (JMenuItem) getSubElements()[Palette.split(colorIndex, i) + 64 * i];
       m.setSelected(true);
     }
     show(e.getComponent(), e.getX(), e.getY());
   }
 }
Пример #9
0
  public TreeMenu() {
    super("Tree");
    this.setMnemonic('t');

    JMenuItem expandAllNodesItem = new JMenuItem(expand);
    expandAllNodesItem.addActionListener(new TreeActionListener(TREE_EXPAND_ALL_NODES));
    this.add(expandAllNodesItem);

    collapseNonExpNodesItem = new JCheckBoxMenuItem(collapse);
    collapseNonExpNodesItem.setSelected(PaintConfig.inst().collapse_no_exp);
    collapseNonExpNodesItem.addActionListener(new TreeActionListener(TREE_COLLAPSE_NONEXP_NODES));
    this.add(collapseNonExpNodesItem);

    // Separator line
    this.addSeparator();

    JCheckBoxMenuItem useDistances = new JCheckBoxMenuItem(distance);
    useDistances.setSelected(PaintConfig.inst().use_distances);
    useDistances.addActionListener(new TreeActionListener(TREE_USE_DISTANCES));
    this.add(useDistances);

    JMenuItem scaleTree = new JMenuItem(scale);
    scaleTree.addActionListener(new ScaleTreeActionListener());
    this.add(scaleTree);

    // Separator line
    this.addSeparator();

    JMenu tree_ordering = new JMenu(order);
    species_order = new JRadioButtonMenuItem(species);
    JRadioButtonMenuItem top_order = new JRadioButtonMenuItem(ladder_top);
    JRadioButtonMenuItem bottom_order = new JRadioButtonMenuItem(ladder_bottom);

    species_order.setSelected(true);

    ButtonGroup group = new ButtonGroup();
    group.add(species_order);
    group.add(top_order);
    group.add(bottom_order);

    species_order.addItemListener(new TreeReorderListener(TREE_SPECIES));
    top_order.addItemListener(new TreeReorderListener(TREE_TOP));
    bottom_order.addItemListener(new TreeReorderListener(TREE_BOTTOM));

    tree_ordering.add(species_order);
    tree_ordering.add(top_order);
    tree_ordering.add(bottom_order);

    this.add(tree_ordering);

    EventManager.inst().registerFamilyListener(this);
    EventManager.inst().registerNodeReorderListener(this);
  }
Пример #10
0
  private void addAxesRatioItems(JMenu menu) {
    ActionListener al =
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            try {
              zoomYaxis(Double.parseDouble(e.getActionCommand()));
            } catch (Exception ex) {
            }
          }
        };

    // get current axes ratio
    double scaleRatio = ((AbstractEuclidianView) app.getActiveEuclidianView()).getScaleRatio();

    JMenuItem mi;
    // int perc;
    // ImageIcon icon;
    boolean separatorAdded = false;
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < axesRatios.length; i++) {
      // build text like "1 : 2"
      sb.setLength(0);
      if (axesRatios[i] > 1.0) {
        sb.append((int) axesRatios[i]);
        sb.append(" : 1");
        if (!separatorAdded) {
          menu.addSeparator();
          separatorAdded = true;
        }

      } else { // factor
        if (axesRatios[i] == 1) menu.addSeparator();
        sb.append("1 : ");
        sb.append((int) (1.0 / axesRatios[i]));
      }

      mi = new JCheckBoxMenuItem(sb.toString());
      mi.setSelected(Kernel.isEqual(axesRatios[i], scaleRatio));
      mi.setActionCommand("" + axesRatios[i]);
      mi.addActionListener(al);
      mi.setBackground(getBackground());
      menu.add(mi);
    }
  }
  /** Called when a choice was made in the additional display combo box. */
  public void additionalDisplayCombo_actionPerformed() {
    int selectedIndex = additionalDisplayCombo.getSelectedIndex();
    switch (selectedIndex) {
      case HackController.SCRIPT_ADDITIONAL_DISPLAY:
        if (!scriptMenuItem.isSelected()) scriptMenuItem.setSelected(true);
        break;

      case HackController.OUTPUT_ADDITIONAL_DISPLAY:
        if (!outputMenuItem.isSelected()) outputMenuItem.setSelected(true);
        break;

      case HackController.COMPARISON_ADDITIONAL_DISPLAY:
        if (!compareMenuItem.isSelected()) compareMenuItem.setSelected(true);
        break;

      case HackController.NO_ADDITIONAL_DISPLAY:
        if (!noAdditionalDisplayMenuItem.isSelected())
          noAdditionalDisplayMenuItem.setSelected(true);
        break;
    }

    notifyControllerListeners(
        ControllerEvent.ADDITIONAL_DISPLAY_CHANGE, new Integer(selectedIndex));
  }
Пример #12
0
  protected JMenu createPlotMenu() {
    JMenu menu;
    JMenuItem menuItem;

    menu = new JMenu("Plot");

    ButtonGroup group;

    group = new ButtonGroup();
    menuItem = new JRadioButtonMenuItem("State space plot");
    menuItem.setMnemonic(KeyEvent.VK_N);
    group.add(menuItem);
    menu.add(menuItem);
    menuItem.addActionListener(
        new ActionListener() {
          public void actionPerformed(final ActionEvent e) {
            stateMachine.parseInput(UserMenuInput.normalMode);
            controlForm.updateSamplesMenu();
            getSaveDataAction().setEnabled(true);
          }
        });
    normalPlotMenuItem = menuItem;

    menuItem = new JRadioButtonMenuItem("Time plot");
    menuItem.setMnemonic(KeyEvent.VK_T);
    group.add(menuItem);
    menu.add(menuItem);
    menuItem.addActionListener(
        new ActionListener() {
          public void actionPerformed(final ActionEvent e) {
            stateMachine.parseInput(UserMenuInput.timeMode);
            controlForm.updateSamplesMenu();
            getSaveDataAction().setEnabled(true);
          }
        });
    timePlotMenuItem = menuItem;

    menu.addSeparator();

    menuItem = new JCheckBoxMenuItem("Variation");
    menuItem.setMnemonic(KeyEvent.VK_T);
    menu.add(menuItem);
    menuItem.addActionListener(
        new ActionListener() {
          public void actionPerformed(final ActionEvent e) {
            boolean state;
            state = ((JCheckBoxMenuItem) e.getSource()).isSelected();
            privateControlForm.setVariation(state);
            privateControlForm.updateSamplesMenu();
            getSaveDataAction().setEnabled(false);
          }
        });
    variationMenuItem = menuItem;

    menu.addSeparator();

    group = new ButtonGroup();
    menuItem = new JRadioButtonMenuItem("Automatic bounds");
    menuItem.setMnemonic(KeyEvent.VK_A);
    group.add(menuItem);
    menu.add(menuItem);
    menuItem.addActionListener(
        new ActionListener() {
          public void actionPerformed(final ActionEvent e) {
            privateControlForm.setAutoRanges(true);
            privateControlForm.updateSamplesMenu();
          }
        });
    autoBoundsMenuItem = menuItem;

    menuItem = new JRadioButtonMenuItem("Manual bounds");
    menuItem.setMnemonic(KeyEvent.VK_M);
    group.add(menuItem);
    menu.add(menuItem);
    menuItem.addActionListener(
        new ActionListener() {
          public void actionPerformed(final ActionEvent e) {
            privateControlForm.setAutoRanges(false);
            controlForm.updateSamplesMenu();
          }
        });
    manualBoundsMenuItem = menuItem;
    setAutomaticBounds(autoBoundsDefault);

    /* Step Function */

    class SetStepFunctionPerform implements ActionListener {
      private int i;

      SetStepFunctionPerform(final int i) {
        this.i = i;
      }

      public void actionPerformed(final ActionEvent e) {
        ((TrajectoryManager) manager).setOdeStepFunction(i);
      }
    }

    if (model instanceof ODE) {

      menu.addSeparator();

      JMenu stepFuctionMenu = new JMenu("Step function");
      stepFuctionMenu.setMnemonic(KeyEvent.VK_S);

      group = new ButtonGroup();

      int i = 0;
      do {
        String name = Lua.getStepFunctionName(i);
        if (name == null) break;

        menuItem = new JRadioButtonMenuItem(name);
        group.add(menuItem);
        stepFuctionMenu.add(menuItem);

        menuItem.setToolTipText(Lua.getStepFunctionDescription(i));

        if (name.equals("rkf45")) {
          menuItem.setSelected(true);
        }
        menuItem.addActionListener(new SetStepFunctionPerform(i));
        i++;

      } while (true);
      menu.add(stepFuctionMenu);
      stateMachine.addNoRunItem(stepFuctionMenu);
    }

    return menu;
  }
Пример #13
0
  /** Initialize the contents of the frame. */
  private void initialize() {

    frame = new JFrame();
    frame.setTitle("Нормативно-справочная информация");
    frame.setBounds(100, 100, 750, 400);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    ButtonGroup group = new ButtonGroup();

    JMenuBar menuBar = new JMenuBar();
    frame.setJMenuBar(menuBar);

    JMenu mnNewMenu = new JMenu("Показать");
    menuBar.add(mnNewMenu);

    final JMenuItem rbMenuItemAll = new JRadioButtonMenuItem("Все");
    mnNewMenu.add(rbMenuItemAll);
    group.add(rbMenuItemAll);
    rbMenuItemAll.setSelected(true);

    rbMenuItemAll.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            if (rbMenuItemAll.isSelected()) {
              table.setRowSorter(null);
            }
          }
        });

    final JMenuItem rbMenuItemStat = new JRadioButtonMenuItem("Статические");

    mnNewMenu.add(rbMenuItemStat);
    group.add(rbMenuItemStat);

    rbMenuItemStat.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            if (rbMenuItemStat.isSelected()) {
              table.setRowSorter(null);
              setClassifierFilter("n_");
            }
          }
        });

    final JMenuItem rbMenuItemDyn = new JRadioButtonMenuItem("Редактируемые");
    mnNewMenu.add(rbMenuItemDyn);
    group.add(rbMenuItemDyn);

    rbMenuItemDyn.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent arg0) {
            if (rbMenuItemDyn.isSelected()) {
              table.setRowSorter(null);
              setClassifierFilter("s_");
            }
          }
        });

    tfSearch = new JTextField();
    frame.getContentPane().add(tfSearch, BorderLayout.NORTH);
    tfSearch.setColumns(10);

    tfSearch
        .getDocument()
        .addDocumentListener(
            new DocumentListener() {
              public void changedUpdate(DocumentEvent documentEvent) {
                search();
              }

              public void insertUpdate(DocumentEvent documentEvent) {
                search();
              }

              public void removeUpdate(DocumentEvent documentEvent) {
                search();
              }
            });

    JScrollPane spClassifier = new JScrollPane();
    frame.getContentPane().add(spClassifier, BorderLayout.CENTER);
    table = new CustomTable<>(false, true, StringClassifier.class, 0, "Код", 1, "Наименование");
    table.setAutoCreateRowSorter(true);
    table.getRowSorter().toggleSortOrder(0);
    table.setFillsViewportHeight(true);
    table.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
    table.getColumnModel().getColumn(0).setMaxWidth(100);
    spClassifier.setViewportView(table);

    table.addMouseListener(
        new MouseAdapter() {
          public void mouseClicked(MouseEvent e) {
            if (e.getClickCount() == 2) {
              String className = table.getSelectedItem().pcod;
              try {
                if (className.equals("n_c00")) {
                  conMan.showMkbTreeForm("Диагноз", "");
                } else if (className.equals("n_nsipol")) {
                  conMan.showPolpTreeForm("Поликлиники Кемеровской Области", -1, -1, -1);
                } else if (className.equals("n_z43")) {
                  conMan.showMrabTreeForm("Место работы", -1);
                } else if (tcl.isClassifierPcodInteger(className)) {
                  ViewTablePcodIntForm VSPIForm = new ViewTablePcodIntForm();
                  MainForm.instance.addChildFrame(VSPIForm);
                  ViewTablePcodIntForm.tableFill(className);
                  VSPIForm.setVisible(true);
                } else {
                  ViewTablePcodStringForm VSPSForm = new ViewTablePcodStringForm();
                  MainForm.instance.addChildFrame(VSPSForm);
                  ViewTablePcodStringForm.tableFill(className);
                  VSPSForm.setVisible(true);
                }
              } catch (TException e1) {
                e1.printStackTrace();
                conMan.reconnect(e1);
              }
            }
          }
        });
  }
Пример #14
0
  public ImageMontage(Model_Plate plate, int channelIndex, int fieldIndex) {
    scale = 0.1f;
    ThePlate = plate;
    Model_Well[][] wells = plate.getWells();
    getContentPane().setLayout(new BorderLayout());
    TheFrame = this;
    Dimension dim = new Dimension(1300, 868);
    setPreferredSize(dim);
    setSize(dim);
    ChannelSelected = channelIndex;
    FieldSelected = fieldIndex;
    imHeight = -1;
    imWidth = -1;
    MaxValueSlider = new JSlider(0, Model_Main.MAXPIXELVALUE, Model_Main.MAXPIXELVALUE);
    MinValueSlider = new JSlider(0, Model_Main.MAXPIXELVALUE, 0);
    // Adding the intensity sliders
    MaxValueSlider.setToolTipText("Maximum");
    MaxValueSlider.setName("Max");
    MaxValueSlider.setOrientation(JSlider.VERTICAL);
    SliderListener_RescaleDisplay listener = new SliderListener_RescaleDisplay();
    MaxValueSlider.addChangeListener(listener);

    MinValueSlider.setEnabled(false);
    MinValueSlider.setToolTipText("Minimum");
    MinValueSlider.setName("Min");
    MinValueSlider.setPaintTicks(false);
    MinValueSlider.setPaintLabels(false);
    MinValueSlider.setOrientation(JSlider.VERTICAL);
    MinValueSlider.addChangeListener(listener);
    setLayout(new BorderLayout());
    sliderPanel = new JPanel();
    sliderPanel.setLayout(new GridLayout(0, 2));
    sliderPanel.add(MinValueSlider, 0);
    sliderPanel.add(MaxValueSlider, 1);

    getContentPane().setLayout(new BorderLayout());
    getContentPane().add(sliderPanel, BorderLayout.EAST);

    TheDisplayPanel = new DisplayPanel(wells, channelIndex, fieldIndex);
    TheScrollPane = new JScrollPane(TheDisplayPanel);

    JScrollBar verticalScrollBar = TheScrollPane.getVerticalScrollBar();
    JScrollBar horizScrollBar = TheScrollPane.getHorizontalScrollBar();
    lastScrollValueX = horizScrollBar.getValue();
    lastScrollValueY = verticalScrollBar.getValue();

    getContentPane().add(TheScrollPane, BorderLayout.CENTER);

    TheFrame.setVisible(true);
    addWindowListener(this);

    // Setting up the Menubar
    //
    JMenuBar TheMenuBar = new JMenuBar();
    JMenu FileMenu = new JMenu("File");
    JMenu OptionsMenu = new JMenu("Options");

    TheMenuBar.add(FileMenu);
    TheMenuBar.add(OptionsMenu);
    setJMenuBar(TheMenuBar);

    JMenuItem item = new JMenuItem("Close");
    item.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent ae) {
            killAll();
            setVisible(false);
          }
        });
    FileMenu.add(item);

    // Field Selection
    JMenu mItem = new JMenu("Field");
    OptionsMenu.add(mItem);
    ButtonGroup bg1 = new ButtonGroup();
    for (int i = 0; i < maxNumFields; i++) {
      item = new JCheckBoxMenuItem("Field_" + i);
      final int index = i;
      item.addActionListener(
          new ActionListener() {
            public void actionPerformed(ActionEvent ae) {
              FieldSelected = index;
              // TheDisplayPanel = new DisplayPanel(ThePlate.getWells(),
              // ChannelSelected, FieldSelected);
              TheDisplayPanel.initDisplay();
              TheDisplayPanel.repaint();
              TheFrame.validate();
              TheFrame.repaint();
            }
          });
      mItem.add(item);
      bg1.add(item);
      if (i == 0) item.setSelected(true);
    }
    item = new JCheckBoxMenuItem("All");
    item.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent ae) {
            FieldSelected = ALL;
            // TheDisplayPanel = new DisplayPanel(ThePlate.getWells(),
            // ChannelSelected, FieldSelected);
            TheDisplayPanel.initDisplay();
            TheDisplayPanel.repaint();
            TheFrame.validate();
            TheFrame.repaint();
          }
        });
    mItem.add(item);
    bg1.add(item);

    // Channel Selection
    mItem = new JMenu("Channel");
    ButtonGroup bg = new ButtonGroup();
    String[] names = models.Model_Main.getModel().getTheChannelNames();
    OptionsMenu.add(mItem);
    for (int i = 0; i < names.length; i++) {
      item = new JCheckBoxMenuItem("" + names[i]);
      final int index = i;
      item.addActionListener(
          new ActionListener() {
            public void actionPerformed(ActionEvent ae) {

              ChannelSelected = index;
              // TheDisplayPanel = new DisplayPanel(ThePlate.getWells(),
              // ChannelSelected, FieldSelected);
              TheDisplayPanel.initDisplay();
              TheDisplayPanel.repaint();
              TheFrame.validate();
              TheFrame.repaint();
            }
          });
      bg.add(item);
      mItem.add(item);
      if (i == 0) item.setSelected(true);
    }

    validate();
    repaint();
  }
Пример #15
0
  public GroupManager(Properties propertyBag) {
    super("Groups Manager");
    this.propertyBag = propertyBag;
    setDefaultProperties();

    // Set some UI options:
    UIManager.put(
        "Tree.leafIcon",
        new ImageIcon(GITApp.class.getResource("/resources/images/bullet_black.png")));
    UIManager.put(
        "Tree.closedIcon", new ImageIcon(GITApp.class.getResource("/resources/images/folder.png")));
    UIManager.put(
        "Tree.openIcon", new ImageIcon(GITApp.class.getResource("/resources/images/folder.png")));

    // Create core components
    gameMaster = new GameMaster();
    actorDetailsPanel = new ActorDetailsPanel_v2(false);
    groupTable = new InitTable(gameMaster, false, propertyBag);
    groupTable.getActorTableModel().setActorList(null);
    groupTree = new GroupTree(groupTable);
    searchSupport = new SearchSupport(getRootPane(), groupTree, groupTable);

    // Initialize GameMaster
    gameMaster.initTable = groupTable;
    gameMaster.detailsPanel = actorDetailsPanel;
    groupTable.getActorTableModel().addUndoableEditListener(gameMaster);
    groupTree.addUndoableEditListener(gameMaster);

    // Create and set up the window.
    setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);

    // The file chooser
    groupFileChooser = new JFileChooser();
    groupFileChooser.setCurrentDirectory(
        new File(propertyBag.getProperty("Manager.groupFileChooser.defaultLocation")));
    GroupFilter groupFilter = new GroupFilter();
    groupFileChooser.addChoosableFileFilter(groupFilter);
    groupFileChooser.setFileFilter(groupFilter);

    gcaFileChooser = new JFileChooser();
    gcaFileChooser.setCurrentDirectory(
        new File(propertyBag.getProperty("Manager.gcaFileChooser.defaultLocation")));
    GCAFilter gcaFilter = new GCAFilter();
    gcaFileChooser.addChoosableFileFilter(gcaFilter);
    gcaFileChooser.setFileFilter(gcaFilter);
    gcaFileChooser.setMultiSelectionEnabled(true);

    // The menu bar
    jMenuBar = new JMenuBar();
    jMenu = new JMenu("File");
    jMenu.setMnemonic(KeyEvent.VK_F);
    JMenuItem menuItem = new JMenuItem("New", KeyEvent.VK_N);
    // menuItem.setEnabled(false);
    menuItem.addActionListener(this);
    jMenu.add(menuItem);
    menuItem = new JMenuItem("Open", KeyEvent.VK_O);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK));
    menuItem.addActionListener(this);
    jMenu.add(menuItem);
    menuItem = new JMenuItem("Save As...", KeyEvent.VK_A);
    menuItem
        .getAccessibleContext()
        .setAccessibleDescription("Select the file to save the group list to");
    menuItem.addActionListener(this);
    jMenu.add(menuItem);
    menuItem = new JMenuItem("Save", KeyEvent.VK_S);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK));
    menuItem.getAccessibleContext().setAccessibleDescription("Save the group list");
    menuItem.addActionListener(this);
    jMenu.add(menuItem);
    jMenu.addSeparator();
    menuItem = new JMenuItem("Import GCA4...", KeyEvent.VK_I);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I, ActionEvent.CTRL_MASK));
    menuItem.getAccessibleContext().setAccessibleDescription("Import a GCA4 character file");
    menuItem.addActionListener(this);
    jMenu.add(menuItem);
    jMenuBar.add(jMenu);

    jMenu = new JMenu("Edit");
    jMenu.setMnemonic(KeyEvent.VK_E);
    menuItem = new JMenuItem(gameMaster.actionUndo);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z, ActionEvent.CTRL_MASK));
    jMenu.add(menuItem);
    menuItem = new JMenuItem(gameMaster.actionRedo);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Y, ActionEvent.CTRL_MASK));
    jMenu.add(menuItem);

    menuItem = new JMenuItem(new DefaultEditorKit.CutAction());
    menuItem.setText("Cut");
    menuItem.setMnemonic(KeyEvent.VK_T);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK));
    menuItem.setIcon(new ImageIcon(GITApp.class.getResource("/resources/images/cut.png"), "Cut"));
    jMenu.add(menuItem);
    menuItem = new JMenuItem(new DefaultEditorKit.CopyAction());
    menuItem.setText("Copy");
    menuItem.setMnemonic(KeyEvent.VK_C);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, ActionEvent.CTRL_MASK));
    menuItem.setIcon(
        new ImageIcon(GITApp.class.getResource("/resources/images/page_copy.png"), "Copy"));
    jMenu.add(menuItem);
    menuItem = new JMenuItem(new DefaultEditorKit.PasteAction());
    menuItem.setText("Paste");
    menuItem.setMnemonic(KeyEvent.VK_V);
    menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, ActionEvent.CTRL_MASK));
    menuItem.setIcon(
        new ImageIcon(GITApp.class.getResource("/resources/images/paste_plain.png"), "Paste"));
    jMenu.add(menuItem);
    jMenuBar.add(jMenu);

    jMenu = new JMenu("View");
    jMenu.setMnemonic(KeyEvent.VK_V);
    menuItem = new JCheckBoxMenuItem("Auto-fit columns");
    menuItem.setMnemonic(KeyEvent.VK_A);
    menuItem.setSelected(Boolean.valueOf(propertyBag.getProperty("Manager.groupTable.autoResize")));
    menuItem
        .getAccessibleContext()
        .setAccessibleDescription("Table columns auto-fit automatically");
    menuItem.addItemListener(this);
    jMenu.add(menuItem);
    menuItem = new JCheckBoxMenuItem("Actor Details");
    // ((JCheckBoxMenuItem) menuItem).setSelected(true);
    menuItem.setSelected(Boolean.valueOf(propertyBag.getProperty("Manager.actorDetails.visible")));
    menuItem.setMnemonic(KeyEvent.VK_D);
    menuItem.addItemListener(this);
    jMenu.add(menuItem);
    menuItem =
        new JMenuItem(
            new AbstractAction() {
              @Override
              public void actionPerformed(ActionEvent arg0) {
                groupTable.showColumnCustomizer();
              }
            });
    menuItem.setText("Customize Columns");
    menuItem.setMnemonic(KeyEvent.VK_C);
    jMenu.add(menuItem);
    jMenuBar.add(jMenu);

    setJMenuBar(jMenuBar);

    // The top tool bar (search)
    toolbar = searchSupport.getSearchToolBar();
    toolbar.add(Box.createHorizontalGlue());
    getContentPane().add(toolbar, BorderLayout.PAGE_START);

    groupTable.setVisible(false);
    groupTable.getSelectionModel().addListSelectionListener(this);
    groupTable.getActorTableModel().addFileChangeEventListener(new GroupFileChangeEventListener());
    groupTable.getActorTableModel().addTableModelListener(new GroupInitTableModelListener());

    groupTree.addTreeSelectionListener(this);
    groupTree.addFileChangeEventListener(new GroupFileChangeEventListener());
    jScrollPaneTable = new JScrollPane(groupTable);
    jScrollPaneDetails = new JScrollPane(actorDetailsPanel);
    jScrollPaneDetails.setMinimumSize(
        new Dimension(actorDetailsPanel.getPreferredSize().width + 20, 0));

    jScrollPaneTree = new JScrollPane(groupTree);
    jSplitPaneVertical =
        new JSplitPane(JSplitPane.VERTICAL_SPLIT, jScrollPaneTree, jScrollPaneTable);
    jSplitPaneHorizontal =
        new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jSplitPaneVertical, jScrollPaneDetails);

    jSplitPaneVertical.setDividerLocation(
        Integer.valueOf(propertyBag.getProperty("Manager.splitVertical.dividerLocation")));
    jSplitPaneVertical.setContinuousLayout(true);
    jSplitPaneVertical.setResizeWeight(.95);

    jSplitPaneHorizontal.setDividerLocation(
        Integer.valueOf(propertyBag.getProperty("Manager.splitHorizontal.dividerLocation")));
    jSplitPaneHorizontal.setContinuousLayout(true);
    jSplitPaneHorizontal.setResizeWeight(.95);

    layoutActorPanel();

    setLocation(
        Integer.valueOf(propertyBag.getProperty("Manager.location.x")),
        Integer.valueOf(propertyBag.getProperty("Manager.location.y")));
    setSize(
        Integer.valueOf(propertyBag.getProperty("Manager.size.width")),
        Integer.valueOf(propertyBag.getProperty("Manager.size.height")));
  }
Пример #16
0
    public Component getTableCellRendererComponent(
        JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
      JComponent renderer = null;

      if (value instanceof Icon) {
        Icon icon = (Icon) value;
        // Hack to fix problem where some plaf Icons cast the component to
        // various component classes. yikes!  not very re-usable icons :(
        String className = (String) table.getValueAt(row, UIDefaultsTableModel.TYPE_COLUMN);
        if (className.contains("BasicIconFactory$RadioButtonMenuItemIcon")
            || className.contains("BasicIconFactory$CheckBoxMenuItemIcon")
            || className.contains("OceanTheme$IFIcon")
            || className.contains("MotifIconFactory$RadioButtonIcon")
            || className.contains("MotifIconFactory$CheckBoxIcon")
            || className.contains("MotifIconFactory$MenuArrowIcon")
            || className.contains("WindowsIconFactory$FrameButtonIcon")
            || className.contains("WindowsIconFactory$RadioButtonIcon")) {
          buttonIconRenderer.setIcon(icon);
          buttonIconRenderer.setSelected(true);
          renderer = buttonIconRenderer;

        } else if (className.contains("MetalIconFactory$RadioButtonIcon")) {
          radioIconRenderer.setIcon(icon);
          renderer = radioIconRenderer;

        } else if (className.contains("MetalIconFactory$RadioButtonMenuItemIcon")
            || className.contains("MetalIconFactory$CheckBoxMenuItemIcon")
            || className.contains("MetalIconFactory$MenuArrowIcon")
            || className.contains("MetalIconFactory$MenuItemArrowIcon")) {
          menuItemIconRenderer.setIcon(icon);
          menuItemIconRenderer.setSelected(true);
          renderer = menuItemIconRenderer;

        } else if (className.contains("MetalIconFactory$CheckBoxIcon")
            || className.contains("WindowsIconFactory$CheckBoxIcon")) {
          checkboxIconRenderer.setIcon(icon);
          checkboxIconRenderer.setSelected(true);
          renderer = checkboxIconRenderer;
        }
      }

      if (renderer != null) {
        // special hack renderer for icons needs to be colorized because
        // it doesn't extend RowRenderer
        setColors(table, row, isSelected);
        setBorder(renderer, hasFocus, isSelected);

      } else {
        // renderer == this
        renderer =
            (JComponent)
                super.getTableCellRendererComponent(
                    table, value, isSelected, hasFocus, row, column);
        if (value instanceof Color) {
          Color color = (Color) value;
          float[] hsb = Color.RGBtoHSB(color.getRed(), color.getGreen(), color.getBlue(), null);

          setIcon(ColorIcon.getIcon(color));
          setText(
              "RGB="
                  + color.getRed()
                  + ","
                  + color.getGreen()
                  + ","
                  + color.getBlue()
                  + "  "
                  + "HSB="
                  + String.format("%.0f%n", hsb[0] * 360)
                  + ","
                  + String.format("%.3f%n", hsb[1])
                  + ","
                  + String.format("%.3f%n", hsb[2]));

        } else if (value instanceof Font) {
          Font font = (Font) value;
          setFont(font);
          setText(font.getFontName() + " size=" + font.getSize2D());
          setIcon(null);

        } else if (value instanceof Icon) {
          setIcon((Icon) value);
          setText("");
        }
      }
      return renderer;
    }
  public void showMenu(MouseEvent e) {
    boolean isRegex = columnObj.isRegEx();

    JPopupMenu menu = new JPopupMenu("Popup");
    JMenuItem item = new JMenuItem(columnObj.getVisibleName());

    item.setEnabled(false);
    menu.add(item);
    menu.addSeparator();

    if (isRegex) {
      JMenu submenu = new JMenu("Regex");

      item = new JMenuItem("Edit");
      item.addActionListener(
          new ActionListener() {
            public void actionPerformed(ActionEvent e) {
              javax.swing.SwingUtilities.invokeLater(
                  new Runnable() {
                    public void run() {
                      String newValue =
                          MoreHelp.showPlainInputMessage(
                              "Regular expression for the \""
                                  + columnObj.getVisibleName()
                                  + "\" column",
                              "Edit Regex",
                              columnObj.getRegExData().getRegExString());
                      columnObj.getRegExData().setRegExString(newValue);
                      saveAndReloadTableSettings(); // TODO do we need it?
                    }
                  });
            }
          });

      submenu.add(item);

      item = new JCheckBoxMenuItem("Case sensitive");
      item.setSelected(columnObj.getRegExData().isRegExCaseSensitive());
      item.addActionListener(
          new ActionListener() {
            public void actionPerformed(ActionEvent e) {
              columnObj
                  .getRegExData()
                  .setRegExCaseSensitive(!columnObj.getRegExData().isRegExCaseSensitive());
            }
          });

      submenu.add(item);

      menu.add(submenu);
    }

    item = new JMenuItem("Rename");
    item.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            String newValue =
                MoreHelp.showPlainInputMessage(
                    "Rename the \"" + columnObj.getDefaultVisibleName() + "\" column",
                    "Rename column name",
                    columnObj.getVisibleName());
            if (newValue.isEmpty()) {
              newValue = columnObj.getDefaultVisibleName();
            }
            columnObj.setVisibleName(newValue);
            saveAndReloadTableSettings();
          }
        });
    menu.add(item);

    item = new JMenuItem("Hide");
    item.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            columnObj.setVisible(false);
            saveAndReloadTableSettings();
          }
        });
    menu.add(item);

    item = new JMenuItem("Disable");
    item.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {

            javax.swing.SwingUtilities.invokeLater(
                new Runnable() {
                  public void run() {
                    String[] msgOptions = {"OK", "CANCEL"};
                    if (MoreHelp.askConfirmMessage(
                            "Disabling a column",
                            "Are you sure you want to disable the \""
                                + columnObj.getVisibleName()
                                + "\"? This column may not be populated when it is disabled (if it needs additional resources)",
                            msgOptions)
                        == JOptionPane.YES_OPTION) {
                      columnObj.setEnabled(false);
                      saveAndReloadTableSettings();
                    }
                  }
                });
          }
        });
    menu.add(item);

    JMenu subMenuVisibleCols = new JMenu("Visbile columns");
    item = new JMenuItem("Make all visible");
    item.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            for (Iterator<TableStructure> iterator =
                    tableHelper
                        .getTableHeaderColumnsDetails()
                        .getAllColumnsDefinitionList()
                        .iterator();
                iterator.hasNext(); ) {
              final TableStructure columnDefinition = iterator.next();
              if (columnDefinition.isEnabled() && !columnDefinition.isVisible()) {
                columnDefinition.setVisible(true);
              }
            }
            saveAndReloadTableSettings();
          }
        });
    subMenuVisibleCols.add(item);

    JMenu subMenuEnabledCols = new JMenu("Enabled columns");
    item = new JMenuItem("Make all enabled");
    item.addActionListener(
        new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            for (Iterator<TableStructure> iterator =
                    tableHelper
                        .getTableHeaderColumnsDetails()
                        .getAllColumnsDefinitionList()
                        .iterator();
                iterator.hasNext(); ) {
              final TableStructure columnDefinition = iterator.next();
              if (!columnDefinition.isEnabled()) {
                columnDefinition.setEnabled(true);
                columnDefinition.setVisible(true);
              }
            }
            saveAndReloadTableSettings();
          }
        });
    subMenuEnabledCols.add(item);

    for (Iterator<TableStructure> iterator =
            tableHelper.getTableHeaderColumnsDetails().getAllColumnsDefinitionList().iterator();
        iterator.hasNext(); ) {
      final TableStructure columnDefinition = iterator.next();

      if (columnDefinition.isEnabled()) {
        JMenuItem visibleItem = new JCheckBoxMenuItem(columnDefinition.getVisibleName());
        visibleItem.setSelected(columnDefinition.isVisible());
        visibleItem.addActionListener(
            new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                columnDefinition.setVisible(!columnDefinition.isVisible());
                saveAndReloadTableSettings();
              }
            });
        subMenuVisibleCols.add(visibleItem);
      }

      JMenuItem enabledItem = new JCheckBoxMenuItem(columnDefinition.getVisibleName());
      enabledItem.setSelected(columnDefinition.isEnabled());
      enabledItem.addActionListener(
          new ActionListener() {
            public void actionPerformed(ActionEvent e) {
              columnDefinition.setEnabled(!columnDefinition.isEnabled());
              columnDefinition.setVisible(
                  true); // when a field is enabled, then it becomes visible automatically
              javax.swing.SwingUtilities.invokeLater(
                  new Runnable() {
                    public void run() {
                      if (columnDefinition.isEnabled())
                        MoreHelp.showMessage(
                            "The new field might not have been populated previously. It will be populated for the new messages.");
                    }
                  });
              saveAndReloadTableSettings();
            }
          });
      subMenuEnabledCols.add(enabledItem);
    }

    menu.add(subMenuVisibleCols);
    menu.add(subMenuEnabledCols);

    menu.show(e.getComponent(), e.getX(), e.getY());
  }
Пример #18
0
  /**
   * Returns a menu with items that control this track.
   *
   * @param trackerPanel the tracker panel
   * @return a menu
   */
  public JMenu getMenu(TrackerPanel trackerPanel) {
    if (inspectorItem == null) {
      // create the model inspector item
      inspectorItem = new JMenuItem();
      inspectorItem.addActionListener(
          new ActionListener() {
            public void actionPerformed(ActionEvent e) {
              positionInspector();
              getInspector().setVisible(true);
            }
          });
      // create the useDefaultRefFrameItem item
      useDefaultRefFrameItem = new JCheckBoxMenuItem();
      useDefaultRefFrameItem.setSelected(!useDefaultReferenceFrame);
      useDefaultRefFrameItem.addActionListener(
          new ActionListener() {
            public void actionPerformed(ActionEvent e) {
              setUseDefaultReferenceFrame(!useDefaultRefFrameItem.isSelected());
              if (ParticleModel.this.trackerPanel.getCoords() instanceof ReferenceFrame) {
                lastValidFrame = -1;
                refreshSteps();
              }
            }
          });
    }
    inspectorItem.setText(
        TrackerRes.getString("ParticleModel.MenuItem.InspectModel")); // $NON-NLS-1$
    useDefaultRefFrameItem.setText(
        TrackerRes.getString("ParticleModel.MenuItem.UseDefaultReferenceFrame")); // $NON-NLS-1$
    // assemble the menu
    JMenu menu = super.getMenu(trackerPanel);

    // remove unwanted menu items and separators
    menu.remove(autotrackItem);
    menu.remove(deleteStepItem);
    menu.remove(clearStepsItem);
    menu.remove(lockedItem);
    menu.remove(autoAdvanceItem);
    menu.remove(markByDefaultItem);
    menu.insert(inspectorItem, 0);
    if (menu.getItemCount() > 1) menu.insertSeparator(1);

    //		// find visible item and insert useDefaultRefFrameItem after it
    //		for (int i=0; i<menu.getMenuComponentCount(); i++) {
    //			if (menu.getMenuComponent(i)==visibleItem) {
    //				menu.insert(useDefaultRefFrameItem, i+1);
    //				break;
    //			}
    //		}

    // eliminate any double separators
    Object prevItem = inspectorItem;
    int n = menu.getItemCount();
    for (int j = 1; j < n; j++) {
      Object item = menu.getItem(j);
      if (item == null && prevItem == null) { // found extra separator
        menu.remove(j - 1);
        j = j - 1;
        n = n - 1;
      }
      prevItem = item;
    }
    return menu;
  }
Пример #19
0
  private void initMenuBar() {
    Application application = RDV.getInstance();
    ApplicationContext context = application.getContext();

    ResourceMap resourceMap = context.getResourceMap();
    String platform = resourceMap.getString("platform");
    boolean isMac = (platform != null && platform.equals("osx"));

    ActionFactory actionFactory = ActionFactory.getInstance();

    Actions actions = Actions.getInstance();
    ActionMap actionMap = context.getActionMap(actions);

    menuBar = new JMenuBar();

    JMenuItem menuItem;

    JMenu fileMenu = new JMenu(fileAction);

    menuItem = new JMenuItem(connectAction);
    fileMenu.add(menuItem);

    menuItem = new JMenuItem(disconnectAction);
    fileMenu.add(menuItem);

    fileMenu.addSeparator();

    menuItem = new JMenuItem(loginAction);
    fileMenu.add(menuItem);

    menuItem = new JMenuItem(logoutAction);
    fileMenu.add(menuItem);

    fileMenu.addMenuListener(
        new MenuListener() {
          public void menuCanceled(MenuEvent arg0) {}

          public void menuDeselected(MenuEvent arg0) {}

          public void menuSelected(MenuEvent arg0) {
            if (AuthenticationManager.getInstance().getAuthentication() == null) {
              loginAction.setEnabled(true);
              logoutAction.setEnabled(false);
            } else {
              loginAction.setEnabled(false);
              logoutAction.setEnabled(true);
            }
          }
        });

    fileMenu.addSeparator();

    menuItem = new JMenuItem(loadAction);
    fileMenu.add(menuItem);

    menuItem = new JMenuItem(saveAction);
    fileMenu.add(menuItem);

    fileMenu.addSeparator();

    fileMenu.add(new JMenuItem(actionMap.get("addLocalChannel")));

    fileMenu.addSeparator();

    JMenu importSubMenu = new JMenu(importAction);

    menuItem = new JMenuItem(actionFactory.getDataImportAction());
    importSubMenu.add(menuItem);

    menuItem = new JMenuItem(actionFactory.getOpenSeesDataImportAction());
    importSubMenu.add(menuItem);

    importSubMenu.add(new JMenuItem(actionMap.get("importJPEGs")));

    fileMenu.add(importSubMenu);

    JMenu exportSubMenu = new JMenu(exportAction);

    menuItem = new JMenuItem(actionFactory.getDataExportAction());
    exportSubMenu.add(menuItem);

    menuItem = new JMenuItem(exportVideoAction);
    exportSubMenu.add(menuItem);

    fileMenu.add(exportSubMenu);

    fileMenu.addSeparator();

    menuItem = new DataViewerCheckBoxMenuItem(actionFactory.getOfflineAction());
    fileMenu.add(menuItem);

    if (!isMac) {
      menuItem = new JMenuItem(exitAction);
      fileMenu.add(menuItem);
    }

    menuBar.add(fileMenu);

    JMenu controlMenu = new JMenu(controlAction);

    menuItem = new SelectableCheckBoxMenuItem(realTimeAction);
    controlMenu.add(menuItem);

    menuItem = new SelectableCheckBoxMenuItem(playAction);
    controlMenu.add(menuItem);

    menuItem = new SelectableCheckBoxMenuItem(pauseAction);
    controlMenu.add(menuItem);

    controlMenu.addMenuListener(
        new MenuListener() {
          public void menuCanceled(MenuEvent arg0) {}

          public void menuDeselected(MenuEvent arg0) {}

          public void menuSelected(MenuEvent arg0) {
            int state = rbnb.getState();
            realTimeAction.setSelected(state == Player.STATE_MONITORING);
            playAction.setSelected(state == Player.STATE_PLAYING);
            pauseAction.setSelected(state == Player.STATE_STOPPED);
          }
        });

    controlMenu.addSeparator();

    menuItem = new JMenuItem(beginningAction);
    controlMenu.add(menuItem);

    menuItem = new JMenuItem(endAction);
    controlMenu.add(menuItem);

    menuItem = new JMenuItem(gotoTimeAction);
    controlMenu.add(menuItem);

    menuBar.add(controlMenu);

    controlMenu.addSeparator();

    menuItem = new JMenuItem(updateChannelListAction);
    controlMenu.add(menuItem);

    controlMenu.addSeparator();

    menuItem = new JCheckBoxMenuItem(dropDataAction);
    controlMenu.add(menuItem);

    JMenu viewMenu = new JMenu(viewAction);

    menuItem = new JCheckBoxMenuItem(showChannelListAction);
    menuItem.setSelected(true);
    viewMenu.add(menuItem);

    menuItem = new JCheckBoxMenuItem(showMetadataPanelAction);
    menuItem.setSelected(true);
    viewMenu.add(menuItem);

    menuItem = new JCheckBoxMenuItem(showControlPanelAction);
    menuItem.setSelected(true);
    viewMenu.add(menuItem);

    menuItem = new JCheckBoxMenuItem(showAudioPlayerPanelAction);
    menuItem.setSelected(false);
    viewMenu.add(menuItem);

    menuItem = new JCheckBoxMenuItem(showMarkerPanelAction);
    menuItem.setSelected(true);
    viewMenu.add(menuItem);

    viewMenu.addSeparator();

    menuItem = new JCheckBoxMenuItem(showHiddenChannelsAction);
    menuItem.setSelected(false);
    viewMenu.add(menuItem);

    menuItem = new JCheckBoxMenuItem(hideEmptyTimeAction);
    menuItem.setSelected(false);
    viewMenu.add(menuItem);

    viewMenu.addSeparator();

    menuItem = new JCheckBoxMenuItem(fullScreenAction);
    menuItem.setSelected(false);
    viewMenu.add(menuItem);

    menuBar.add(viewMenu);

    JMenu windowMenu = new JMenu(windowAction);

    List<Extension> extensions = dataPanelManager.getExtensions();
    for (final Extension extension : extensions) {
      Action action =
          new DataViewerAction("Add " + extension.getName(), "", KeyEvent.VK_J) {
            /** serialization version identifier */
            private static final long serialVersionUID = 36998228704476723L;

            public void actionPerformed(ActionEvent ae) {
              try {
                dataPanelManager.createDataPanel(extension);
              } catch (Exception e) {
                log.error(
                    "Unable to open data panel provided by extension "
                        + extension.getName()
                        + " ("
                        + extension.getID()
                        + ").");
                e.printStackTrace();
              }
            }
          };

      menuItem = new JMenuItem(action);
      windowMenu.add(menuItem);
    }

    windowMenu.addSeparator();

    menuItem = new JMenuItem(closeAllDataPanelsAction);
    windowMenu.add(menuItem);

    windowMenu.addSeparator();
    JMenu dataPanelSubMenu = new JMenu(dataPanelAction);

    ButtonGroup dataPanelLayoutGroup = new ButtonGroup();

    menuItem = new JRadioButtonMenuItem(dataPanelHorizontalLayoutAction);
    dataPanelSubMenu.add(menuItem);
    dataPanelLayoutGroup.add(menuItem);

    menuItem = new JRadioButtonMenuItem(dataPanelVerticalLayoutAction);
    menuItem.setSelected(true);
    dataPanelSubMenu.add(menuItem);
    dataPanelLayoutGroup.add(menuItem);
    windowMenu.add(dataPanelSubMenu);

    menuBar.add(windowMenu);

    JMenu helpMenu = new JMenu(helpAction);

    menuItem = new JMenuItem(usersGuideAction);
    helpMenu.add(menuItem);

    menuItem = new JMenuItem(supportAction);
    helpMenu.add(menuItem);

    menuItem = new JMenuItem(releaseNotesAction);
    helpMenu.add(menuItem);

    if (!isMac) {
      helpMenu.addSeparator();

      menuItem = new JMenuItem(aboutAction);
      helpMenu.add(menuItem);
    }

    menuBar.add(helpMenu);

    menuBar.add(Box.createHorizontalGlue());
    throbberStop = DataViewer.getIcon("icons/throbber.png");
    throbberAnim = DataViewer.getIcon("icons/throbber_anim.gif");
    throbber = new JLabel(throbberStop);
    throbber.setBorder(new EmptyBorder(0, 0, 0, 4));
    menuBar.add(throbber, BorderLayout.EAST);

    if (isMac) {
      registerMacOSXEvents();
    }

    frame.setJMenuBar(menuBar);
  }
Пример #20
0
  public void actionPerformed(ActionEvent ev) {
    super.actionPerformed(ev);
    String com = ev.getActionCommand();

    if (com.equals("GameInformationFrame.LOAD")) // $NON-NLS-1$
    {
      loadFromFile();
    } else if (com.equals("GameInformationFrame.PRINT")) // $NON-NLS-1$
    {
      try {
        editor.print();
      } catch (Exception pex) {
        LGM.showDefaultExceptionHandler(pex);
      }
      return;
    } else if (com.equals("GameInformationFrame.SETTINGS")) // $NON-NLS-1$
    {
      if (settings == null) {
        settings = new SettingsFrame();
      }
      settings.setVisible(true);
    } else if (com.equals("GameInformationFrame.FILESAVE")) // $NON-NLS-1$
    {
      saveToFile();
      return;
    } else if (com.equals("GameInformationFrame.FONTCOLOR")) // $NON-NLS-1$
    {
      String colorStr = Messages.getString("GameInformationFrame.FONTCOLOR"); // $NON-NLS-1$
      Color c = JColorChooser.showDialog(this, colorStr, fgColor);
      if (c != null) {
        fgColor = c;
        setSelectionAttribute(StyleConstants.Foreground, c);
      }
      return;
    } else if (com.equals("GameInformationFrame.BOLD")) // $NON-NLS-1$
    {
      miBold.setSelected(tbBold.isSelected());
      setSelectionAttribute(StyleConstants.Bold, tbBold.isSelected());
      return;
    } else if (com.equals("GameInformationFrame.ITALIC")) // $NON-NLS-1$
    {
      miItalic.setSelected(tbItalic.isSelected());
      setSelectionAttribute(StyleConstants.Italic, tbItalic.isSelected());
      return;
    } else if (com.equals("GameInformationFrame.UNDERLINE")) // $NON-NLS-1$
    {
      miUnderline.setSelected(tbUnderline.isSelected());
      setSelectionAttribute(StyleConstants.Underline, tbUnderline.isSelected());
      return;
    } else if (com.equals("GameInformationFrame.MENU_BOLD")) // $NON-NLS-1$
    {
      miBold.setSelected(!miBold.isSelected());
      tbBold.setSelected(miBold.isSelected());
      setSelectionAttribute(StyleConstants.Bold, miBold.isSelected());
      return;
    } else if (com.equals("GameInformationFrame.MENU_ITALIC")) // $NON-NLS-1$
    {
      miItalic.setSelected(!miItalic.isSelected());
      tbItalic.setSelected(miItalic.isSelected());
      setSelectionAttribute(StyleConstants.Italic, miItalic.isSelected());
      return;
    } else if (com.equals("GameInformationFrame.MENU_UNDERLINE")) // $NON-NLS-1$
    {
      miUnderline.setSelected(!miUnderline.isSelected());
      tbUnderline.setSelected(miUnderline.isSelected());
      setSelectionAttribute(StyleConstants.Underline, miUnderline.isSelected());
      return;
    } else if (com.equals("GameInformationFrame.ALIGN_LEFT")) // $NON-NLS-1$
    {
      setSelectionAlignment(StyleConstants.ALIGN_LEFT);
      return;
    } else if (com.equals("GameInformationFrame.ALIGN_CENTER")) // $NON-NLS-1$
    {
      setSelectionAlignment(StyleConstants.ALIGN_CENTER);
      return;
    } else if (com.equals("GameInformationFrame.ALIGN_RIGHT")) // $NON-NLS-1$
    {
      setSelectionAlignment(StyleConstants.ALIGN_RIGHT);
      return;
    } else if (com.equals("GameInformationFrame.COLOR")) // $NON-NLS-1$
    {
      String colorStr = Messages.getString("GameInformationFrame.COLOR"); // $NON-NLS-1$
      Color c = JColorChooser.showDialog(this, colorStr, editor.getBackground());
      if (c != null) setEditorBackground(c);
      return;
    } else if (com.equals("GameInformationFrame.CUT")) // $NON-NLS-1$
    {
      editor.cut();
      return;
    } else if (com.equals("GameInformationFrame.COPY")) // $NON-NLS-1$
    {
      editor.copy();
      return;
    } else if (com.equals("GameInformationFrame.PASTE")) // $NON-NLS-1$
    {
      editor.paste();
      return;
    } else if (com.equals("GameInformationFrame.SELECTALL")) // $NON-NLS-1$
    {
      editor.selectAll();
      return;
    } else if (com.equals("GameInformationFrame.CLOSESAVE")) // $NON-NLS-1$
    {
      this.doDefaultSaveAction();
      return;
    } else if (com.equals("GameInformationFrame.CLOSE")) { // $NON-NLS-1$
      settings.setVisible(false);
    }
  }
Пример #21
0
 // helper
 private void setAutomaticBounds(final boolean flag) {
   autoBoundsMenuItem.setSelected(flag);
   manualBoundsMenuItem.setSelected(!flag);
   privateControlForm.setAutoRanges(flag);
 }
Пример #22
0
  private JMenuBar createMenuBar() {
    JMenuBar menuBar = new JMenuBar();

    JMenu fileMenu = new JMenu("File");
    JMenu windowMenu = new JMenu("Window");
    JMenu showMenu = new JMenu("Show");
    JMenuItem prefsItem = new JMenuItem("Preferences...");

    JMenuItem exportDataItem = new JMenuItem("Export data...");
    JMenuItem importDataItem = new JMenuItem("Import data...");
    JMenuItem exitFileMenu = new JMenuItem("Exit");

    fileMenu.add(exportDataItem);
    fileMenu.add(importDataItem);
    fileMenu.addSeparator();
    fileMenu.add(exitFileMenu);

    // this checkbox sets the visibility of the whole form
    JMenuItem showFormItem = new JCheckBoxMenuItem("Person Form");
    showFormItem.setSelected(true);

    showMenu.add(showFormItem);
    windowMenu.add(showMenu);
    windowMenu.add(prefsItem);

    menuBar.add(fileMenu);
    menuBar.add(windowMenu);

    showFormItem.addActionListener(
        new ActionListener() {

          @Override
          public void actionPerformed(ActionEvent ev) {
            JCheckBoxMenuItem menuItem = (JCheckBoxMenuItem) ev.getSource();
            formPanel.setVisible(menuItem.isSelected());
          }
        });

    /*
     * Mnemonics and Accelerators are ways to increase accessibility and
     * speed for power users. Mnemonics add a shortcut for menu items. By
     * pressing Alt, a letter is underlined in the item or menu. They do not
     * work in OS X.
     */
    // Alt + F as shortcut for File menu
    fileMenu.setMnemonic(KeyEvent.VK_F);
    // Exit the app with a mnemonic
    exitFileMenu.setMnemonic(KeyEvent.VK_X);
    // Exit the app with an accelerator (Ctrl + X)
    exitFileMenu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, ActionEvent.CTRL_MASK));
    importDataItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I, ActionEvent.CTRL_MASK));
    prefsItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, ActionEvent.CTRL_MASK));

    importDataItem.addActionListener(
        new ActionListener() {

          @Override
          public void actionPerformed(ActionEvent ev) {
            // this is the way to show the explorer to pickup a file:
            // fileChooser.showOpenDialog(MainFrame.this);
            // if a file is selected and click OK:
            if (fileChooser.showOpenDialog(MainFrame.this) == JFileChooser.APPROVE_OPTION) {
              try {
                controller.loadFromFile(fileChooser.getSelectedFile());
                tablePanel.refresh();
              } catch (IOException e) {
                JOptionPane.showMessageDialog(
                    MainFrame.this,
                    "Could not load data from file",
                    "Error",
                    JOptionPane.ERROR_MESSAGE);
              }
            }
          }
        });

    exportDataItem.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            // same as above, but for saving a file in a location
            if (fileChooser.showSaveDialog(MainFrame.this) == JFileChooser.APPROVE_OPTION) {
              try {
                controller.saveToFile(fileChooser.getSelectedFile());
              } catch (IOException e1) {
                JOptionPane.showMessageDialog(
                    MainFrame.this,
                    "Could not save data to file",
                    "Error",
                    JOptionPane.ERROR_MESSAGE);
              }
            }
          }
        });

    exitFileMenu.addActionListener(
        new ActionListener() {
          @Override
          public void actionPerformed(ActionEvent e) {
            /*
             * the INFORMATION_MESSAGE option sets a different icon. Explore
             * also WARNING_MESSAGE, QUESTION_MESSAGE, and ERROR_MESSAGE
             */
            // the text entered can be retrieved through the variable
            // textEntered
            String textEntered =
                JOptionPane.showInputDialog(
                    MainFrame.this,
                    "Enter your User ID",
                    "User Authentication",
                    JOptionPane.OK_OPTION | JOptionPane.INFORMATION_MESSAGE);

            // show a confirmation panel (remember Android?), retrieve the
            // action
            int action =
                JOptionPane.showConfirmDialog(
                    MainFrame.this,
                    "Do you really want to exit the app?",
                    "Confirm Exit",
                    JOptionPane.OK_CANCEL_OPTION);
            if (action == JOptionPane.OK_OPTION) {
              WindowListener[] listeners = getWindowListeners();

              for (WindowListener windowListener : listeners) {
                windowListener.windowClosing(new WindowEvent(MainFrame.this, 0));
              }
            }
          }
        });

    prefsItem.addActionListener(
        new ActionListener() {

          @Override
          public void actionPerformed(ActionEvent e) {
            prefsDialog.setVisible(true);
          }
        });

    return menuBar;
  }
Пример #23
0
 public void handleNodeReorderEvent(NodeReorderEvent e) {
   collapseNonExpNodesItem.setSelected(PaintConfig.inst().collapse_no_exp);
 }
Пример #24
0
  private JMenuBar makeMenuBar() {
    JMenuBar menuBar = new JMenuBar();

    // File
    JMenu menu = new JMenu(Messages.getString("GameInformationFrame.MENU_FILE")); // $NON-NLS-1$
    menuBar.add(menu);
    menu.addActionListener(this);

    JMenuItem item = addItem("GameInformationFrame.LOAD"); // $NON-NLS-1$
    item.setAccelerator(
        KeyStroke.getKeyStroke(
            Messages.getKeyboardString("GameInformationFrame.LOAD"))); // $NON-NLS-1$
    menu.add(item);
    item = addItem("GameInformationFrame.FILESAVE"); // $NON-NLS-1$
    item.setAccelerator(
        KeyStroke.getKeyStroke(
            Messages.getKeyboardString("GameInformationFrame.FILESAVE"))); // $NON-NLS-1$
    menu.add(item);
    menu.addSeparator();
    item = addItem("GameInformationFrame.SETTINGS"); // $NON-NLS-1$
    menu.add(item);
    item = addItem("GameInformationFrame.PRINT"); // $NON-NLS-1$
    item.setAccelerator(
        KeyStroke.getKeyStroke(
            Messages.getKeyboardString("GameInformationFrame.PRINT"))); // $NON-NLS-1$
    menu.add(item);
    menu.addSeparator();
    item = new JMenuItem(Messages.getString("GameInformationFrame.CLOSESAVE")); // $NON-NLS-1$
    item.setIcon(save.getIcon());
    item.setActionCommand("GameInformationFrame.CLOSESAVE"); // $NON-NLS-1$
    item.addActionListener(this);
    menu.add(item);

    // Edit
    menu = new JMenu(Messages.getString("GameInformationFrame.MENU_EDIT")); // $NON-NLS-1$
    menuBar.add(menu);

    item = addItem("GameInformationFrame.CUT"); // $NON-NLS-1$
    item.setAccelerator(
        KeyStroke.getKeyStroke(
            Messages.getKeyboardString("GameInformationFrame.CUT"))); // $NON-NLS-1$
    menu.add(item);
    item = addItem("GameInformationFrame.COPY"); // $NON-NLS-1$
    item.setAccelerator(
        KeyStroke.getKeyStroke(
            Messages.getKeyboardString("GameInformationFrame.COPY"))); // $NON-NLS-1$
    menu.add(item);
    item = addItem("GameInformationFrame.PASTE"); // $NON-NLS-1$
    item.setAccelerator(
        KeyStroke.getKeyStroke(
            Messages.getKeyboardString("GameInformationFrame.PASTE"))); // $NON-NLS-1$
    menu.add(item);
    menu.addSeparator();
    item = new JMenuItem(undoManager.getUndoAction());
    item.setAccelerator(
        KeyStroke.getKeyStroke(
            Messages.getKeyboardString("GameInformationFrame.UNDO"))); // $NON-NLS-1$
    menu.add(item);
    item = new JMenuItem(undoManager.getRedoAction());
    item.setAccelerator(
        KeyStroke.getKeyStroke(
            Messages.getKeyboardString("GameInformationFrame.REDO"))); // $NON-NLS-1$
    menu.add(item);
    menu.addSeparator();
    item = addItem("GameInformationFrame.SELECTALL"); // $NON-NLS-1$
    item.setAccelerator(
        KeyStroke.getKeyStroke(
            Messages.getKeyboardString("GameInformationFrame.SELECTALL"))); // $NON-NLS-1$
    menu.add(item);

    // Format
    menu = new JMenu(Messages.getString("GameInformationFrame.MENU_FORMAT")); // $NON-NLS-1$
    menuBar.add(menu);

    miBold = addItem("GameInformationFrame.BOLD"); // $NON-NLS-1$
    miBold.setActionCommand("GameInformationFrame.MENU_BOLD"); // $NON-NLS-1$
    miBold.setAccelerator(
        KeyStroke.getKeyStroke(
            Messages.getKeyboardString("GameInformationFrame.BOLD"))); // $NON-NLS-1$
    menu.add(miBold);
    miItalic = addItem("GameInformationFrame.ITALIC"); // $NON-NLS-1$
    miItalic.setActionCommand("GameInformationFrame.MENU_ITALIC"); // $NON-NLS-1$
    miItalic.setAccelerator(
        KeyStroke.getKeyStroke(
            Messages.getKeyboardString("GameInformationFrame.ITALIC"))); // $NON-NLS-1$
    menu.add(miItalic);
    miUnderline = addItem("GameInformationFrame.UNDERLINE"); // $NON-NLS-1$
    miUnderline.setActionCommand("GameInformationFrame.MENU_UNDERLINE"); // $NON-NLS-1$
    miUnderline.setAccelerator(
        KeyStroke.getKeyStroke(
            Messages.getKeyboardString("GameInformationFrame.UNDERLINE"))); // $NON-NLS-1$
    menu.add(miUnderline);
    menu.addSeparator();
    miLeft = addItem("GameInformationFrame.ALIGN_LEFT"); // $NON-NLS-1$
    miLeft.setActionCommand("GameInformationFrame.ALIGN_LEFT"); // $NON-NLS-1$
    miLeft.setSelected(true);
    menu.add(miLeft);
    miCenter = addItem("GameInformationFrame.ALIGN_CENTER"); // $NON-NLS-1$
    miCenter.setActionCommand("GameInformationFrame.ALIGN_CENTER"); // $NON-NLS-1$
    menu.add(miCenter);
    miRight = addItem("GameInformationFrame.ALIGN_RIGHT"); // $NON-NLS-1$
    miRight.setActionCommand("GameInformationFrame.ALIGN_RIGHT"); // $NON-NLS-1$
    menu.add(miRight);
    menu.addSeparator();
    item = addItem("GameInformationFrame.FONTCOLOR"); // $NON-NLS-1$
    menu.add(item);
    item = addItem("GameInformationFrame.COLOR"); // $NON-NLS-1$
    menu.add(item);

    return menuBar;
  }