/** * Override the pain method do draw the axis lines * * @param g The graphics to paint to */ public void paint(Graphics g) { Rectangle b = getBounds(); g.setColor(canvasBg); g.fillRect(0, 0, b.width, b.height); paintGrid(g); Point center = getCenter(); if (g instanceof Graphics2D) { ((Graphics2D) g).translate(center.x, center.y); } super.paint(g); if (g instanceof Graphics2D) { ((Graphics2D) g).scale(1.0, 1.0); } g.setColor(Color.gray); g.drawLine(0, -10 * b.height, 0, 10 * b.height); g.drawLine(-10 * b.width, 0, 10 * b.width, 0); MetSymbol tmp = highlightedMetSymbol; if (tmp != null) { Rectangle tb = tmp.getBounds(); g.setColor(Color.red); g.drawRect(tb.x - 2, tb.y - 2, tb.width + 4, tb.height + 4); } }
/** * Handle ui actions. * * @param event The action event */ public void actionPerformed(ActionEvent event) { String action = event.getActionCommand(); if (action.equals(GuiUtils.CMD_SAVE)) { doSave(); } else if (action.equals(GuiUtils.CMD_SAVEAS)) { doSaveAs(); } else if (action.equals(GuiUtils.CMD_RENAME)) { doRename(); } else if (action.equals(GuiUtils.CMD_NEW)) { doNew(); } else if (action.equals(GuiUtils.CMD_IMPORT)) { doImport(); } else if (action.equals(GuiUtils.CMD_EXPORT)) { doExport(); } else if (action.equals(GuiUtils.CMD_REMOVE)) { doRemove(); } else if (action.equals(GuiUtils.CMD_CLOSE)) { doClose(); } else if (action.equals(CMD_BLACKBG)) { setCanvasBackground(Color.BLACK); } else if (action.equals(CMD_WHITEBG)) { setCanvasBackground(Color.WHITE); } else { super.actionPerformed(event); } }
/** * Ovedrride the method so we can set the highlight label * * @param g Highlighted glyph */ public void setHighlight(Glyph g) { super.setHighlight(g); if ((g == null) || !(g instanceof MetSymbol)) { highlightLabel.setText(" "); return; } highlightLabel.setText(" " + ((MetSymbol) g).getLabel()); }
/** * Gets called when a new glyph has bee created. * * @param newGlyph * @param diddleSelection * @param fromPaste */ public void notifyGlyphCreateComplete( Glyph newGlyph, boolean diddleSelection, boolean fromPaste) { super.notifyGlyphCreateComplete(newGlyph, diddleSelection, fromPaste); if (fromPaste) { return; } if (newGlyph instanceof MetSymbol) { showProperties((MetSymbol) newGlyph); } }
/** * handle event * * @param e event */ public void keyReleased(KeyEvent e) { if (e.isControlDown() && (e.getKeyCode() == KeyEvent.VK_P)) { List selectionSet = getSelection(); if (selectionSet.size() == 1) { showProperties((MetSymbol) selectionSet.get(0)); } return; } super.keyReleased(e); }
/** * Make the view menu * * @param viewMenu view menu * @return The view menu */ public JMenu makeViewMenu(JMenu viewMenu) { showAlignmentPointsMI = new JCheckBoxMenuItem("Show Alignment Points", true); viewMenu.add(showAlignmentPointsMI); showAlignmentPointsMI.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { repaint(); } }); viewMenu.addSeparator(); super.makeViewMenu(viewMenu); viewMenu.addSeparator(); viewMenu.add(makeMenuItem("Black background", CMD_BLACKBG)); viewMenu.add(makeMenuItem("White background", CMD_WHITEBG)); return viewMenu; }
/** * Add the menus into the menu bar * * @param menuBar The menu bar */ public void initMenuBar(JMenuBar menuBar) { stationModelMenu = new JMenu("Layout Models"); stationModelMenu.addMenuListener( new MenuListener() { public void menuCanceled(MenuEvent e) {} public void menuDeselected(MenuEvent e) {} public void menuSelected(MenuEvent e) { makeStationModelMenu(); } }); fileMenu = new JMenu("File"); fileMenu.addMenuListener( new MenuListener() { public void menuCanceled(MenuEvent e) {} public void menuDeselected(MenuEvent e) {} public void menuSelected(MenuEvent e) { makeFileMenu(); } }); menuBar.add(fileMenu); super.initMenuBar(menuBar); menuBar.add(stationModelMenu); JMenu helpMenu = new JMenu("Help"); JMenuItem helpMenuItem = new JMenuItem("Layout Models"); helpMenu.add(helpMenuItem); helpMenuItem.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { showHelp(); } }); menuBar.add(helpMenu); }