/** Intialize me */ private void init() { myTables = new ArrayList(); tableTabbedPane = new JTabbedPane(); tableTabbedPane.setPreferredSize(new Dimension(450, 200)); JMenuBar menuBar = new JMenuBar(); JMenu fileMenu = new JMenu("File"); menuBar.add(fileMenu); fileMenu.add(GuiUtils.makeMenuItem("New Row", this, "addNewRow")); fileMenu.addSeparator(); fileMenu.add(GuiUtils.makeMenuItem("Open", this, "doOpen")); fileMenu.add(GuiUtils.makeMenuItem("Import", this, "doImport")); fileMenu.addSeparator(); fileMenu.add(GuiUtils.makeMenuItem("Export to File", this, "doSaveAs")); fileMenu.add(GuiUtils.makeMenuItem("Export to Plugin", this, "exportToPlugin")); fileMenu.add( GuiUtils.makeMenuItem("Export Selected to Plugin", this, "exportSelectedToPlugin")); fileMenu.addSeparator(); fileMenu.add(GuiUtils.makeMenuItem("Close", this, "doClose")); JMenu helpMenu = new JMenu("Help"); menuBar.add(helpMenu); helpMenu.add(GuiUtils.makeMenuItem("Parameter Defaults Help", this, "showHelp")); JComponent bottom = GuiUtils.wrap(GuiUtils.makeButton("Close", this, "doClose")); contents = GuiUtils.topCenterBottom(menuBar, GuiUtils.inset(tableTabbedPane, 2), bottom); setMenuBar(menuBar); loadResources(resources); }
/** * Create and return the Gui contents. * * @return The gui contents. */ protected JComponent doMakeContents() { // dataSelector = new DataSelector(getIdv(), new Dimension(400, 200), // true); // Get the list of catalogs but remove the old catalog.xml entry urlListHandler = getPreferenceList(PREF_CATALOGLIST); final XmlChooser xmlChooser = this; ActionListener catListListener = new ActionListener() { public void actionPerformed(ActionEvent ae) { if (!okToDoUrlListEvents) { return; } xmlChooser.actionPerformed(ae); } }; urlBox = urlListHandler.createComboBox(GuiUtils.CMD_UPDATE, catListListener, true); GuiUtils.setPreferredWidth(urlBox, 200); // top panel JButton browseButton = new JButton("Select File..."); browseButton.setToolTipText("Choose a catalog from disk"); browseButton.setActionCommand(CMD_BROWSE); browseButton.addActionListener(this); GuiUtils.setHFill(); JPanel catListPanel = GuiUtils.doLayout(new Component[] {urlBox}, 1, GuiUtils.WT_Y, GuiUtils.WT_N); backBtn = GuiUtils.getImageButton(GuiUtils.getImageIcon("/auxdata/ui/icons/Left16.gif", getClass())); backBtn.setToolTipText("View previous selection"); GuiUtils.makeMouseOverBorder(backBtn); backBtn.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { goBack(); } }); fwdBtn = GuiUtils.getImageButton(GuiUtils.getImageIcon("/auxdata/ui/icons/Right16.gif", getClass())); GuiUtils.makeMouseOverBorder(fwdBtn); fwdBtn.setToolTipText("View next selection"); fwdBtn.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { goForward(); } }); checkButtons(); JComponent bottomButtons = getDefaultButtons(); handlerHolder = new JPanel(); handlerHolder.setLayout(new BorderLayout()); // JPanel tmp = new JPanel(); // tmp.setPreferredSize(new Dimension(200,500)); // handlerHolder.add(tmp, BorderLayout.CENTER); if (getIdv().getArgsManager().getInitCatalogs().size() > 0) { initialUrlPath = (String) getIdv().getArgsManager().getInitCatalogs().get(0); urlBox.setSelectedItem(initialUrlPath); } else { if ((initialUrlPath != null) && (initialUrlPath.length() > 0)) { makeUiFromPath(initialUrlPath); } else { makeBlankTree(); } } JPanel navButtons = GuiUtils.hbox(backBtn, fwdBtn); GuiUtils.tmpInsets = GRID_INSETS; JPanel catPanel = GuiUtils.doLayout( new Component[] {new JLabel("Catalogs:"), catListPanel, browseButton}, 3, GuiUtils.WT_NYN, GuiUtils.WT_N); JPanel topPanel = GuiUtils.leftCenter(navButtons, catPanel); myContents = GuiUtils.topCenterBottom(topPanel, handlerHolder, bottomButtons); // myContents = GuiUtils.topCenter(getStatusComponent(), myContents); return myContents; }
/** Create the UI for this editor */ void makeUI() { JPanel mainPanel = new JPanel(new BorderLayout()); mainPanel.setBorder(new LineBorder(Color.blue)); getContentPane().add(mainPanel, BorderLayout.CENTER); // the map and associated toolbar npEditControl = new NPController(); mapEditPanel = npEditControl.getNavigatedPanel(); // here's where the map will be drawn mapEditPanel.setPreferredSize(new Dimension(250, 250)); mapEditPanel.setSelectRegionMode(true); JToolBar navToolbar = mapEditPanel.getNavToolBar(); navToolbar.setFloatable(false); JToolBar moveToolbar = mapEditPanel.getMoveToolBar(); moveToolbar.setFloatable(false); // toolbar.remove("setReference"); JPanel toolbar = new JPanel(); List localMaps = maps; if (localMaps == null) { localMaps = getDefaultMaps(); } JMenu mapMenu = new JMenu("Maps"); JMenuBar menuHolder = new JMenuBar(); menuHolder.setBorder(null); menuHolder.add(mapMenu); toolbar.add(menuHolder); for (int mapIdx = 0; mapIdx < localMaps.size(); mapIdx++) { final MapData mapData = (MapData) localMaps.get(mapIdx); final JCheckBoxMenuItem cbx = new JCheckBoxMenuItem(mapData.getDescription(), mapData.getVisible()); if (mapData.getVisible()) { toggleMap(mapData, true); } mapMenu.add(cbx); cbx.addItemListener( new ItemListener() { public void itemStateChanged(ItemEvent event) { toggleMap(mapData, cbx.isSelected()); } }); } GuiUtils.limitMenuSize(mapMenu, "Maps ", 20); toolbar.add(navToolbar); toolbar.add(moveToolbar); JPanel mapSide = new JPanel(); mapSide.setLayout(new BorderLayout()); TitledBorder mapBorder = new TitledBorder( standardBorder, "Edit Projection", TitledBorder.ABOVE_TOP, TitledBorder.CENTER); mapSide.setBorder(mapBorder); mapSide.add(toolbar, BorderLayout.NORTH); mapSide.add(mapEditPanel, BorderLayout.CENTER); mainPanel.add(mapSide, BorderLayout.WEST); // the projection parameters // the Projection name JLabel nameLabel = GuiUtils.rLabel("Name: "); nameTF = new JTextField(20); // the list of Projection classes is kept in a comboBox typeLabel = GuiUtils.rLabel("Type: "); projClassCB = new JComboBox(); // standard list of projection classes List classNames = getDefaultProjections(); for (int i = 0; i < classNames.size(); i++) { String className = (String) classNames.get(i); try { projClassCB.addItem(new ProjectionClass(className)); } catch (ClassNotFoundException ee) { System.err.println("ProjectionManager failed on " + className + " " + ee); } catch (IntrospectionException ee) { System.err.println("ProjectionManager failed on " + className + " " + ee); } } GuiUtils.tmpInsets = new Insets(4, 4, 4, 4); JPanel topPanel = GuiUtils.doLayout( new Component[] {nameLabel, nameTF, typeLabel, projClassCB}, 2, GuiUtils.WT_N, GuiUtils.WT_N); // the Projection parameter area paramPanel = new JPanel(); paramPanel.setLayout(new BorderLayout()); paramPanel.setBorder( new TitledBorder( standardBorder, "Projection Parameters", TitledBorder.ABOVE_TOP, TitledBorder.CENTER)); // the bottom button panel JPanel buttPanel = new JPanel(); JButton acceptButton = new JButton("Save"); JButton previewButton = new JButton("Preview"); JButton cancelButton = new JButton("Cancel"); buttPanel.add(acceptButton, null); buttPanel.add(previewButton, null); buttPanel.add(cancelButton, null); JPanel mainBox = GuiUtils.topCenterBottom(topPanel, paramPanel, buttPanel); mainPanel.add(mainBox, BorderLayout.CENTER); pack(); // enable event listeners when we're done constructing the UI projClassCB.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent e) { ProjectionClass selectClass = (ProjectionClass) projClassCB.getSelectedItem(); setProjection(selectClass.makeDefaultProjection()); } }); acceptButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent evt) { accept(); } }); previewButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent evt) { ProjectionClass projClass = findProjectionClass(editProjection); if (null != projClass) { setProjFromDialog(projClass, editProjection); setProjection(editProjection); } } }); cancelButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent evt) { NewProjectionDialog.this.setVisible(false); } }); }
private void showSaveDialog() { if (saveWindow == null) { saveWindow = GuiUtils.createFrame("Save Image Parameter Set"); } if (statusComp == null) { statusLabel = new JLabel(); statusComp = GuiUtils.inset(statusLabel, 2); statusComp.setBackground(new Color(255, 255, 204)); statusLabel.setOpaque(true); statusLabel.setBackground(new Color(255, 255, 204)); } JPanel statusPanel = GuiUtils.inset( GuiUtils.top( GuiUtils.vbox( new JLabel(" "), GuiUtils.hbox(GuiUtils.rLabel("Status: "), statusComp), new JLabel(" "))), 6); JPanel sPanel = GuiUtils.topCenter(statusPanel, GuiUtils.filler()); List newComps = new ArrayList(); final JTextField newName = new JTextField(20); newName.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { setStatus("Click New Folder or New ParameterSet button"); newCompName = newName.getText().trim(); } }); newComps.add(newName); newComps.add(GuiUtils.filler()); newFolderBtn = new JButton("New Folder"); newFolderBtn.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { newFolder = newName.getText().trim(); if (newFolder.length() == 0) { newComponentError("folder"); return; } Element exists = XmlUtil.findElement(imageDefaultsRoot, "folder", ATTR_NAME, newFolder); if (!(exists == null)) { if (!GuiUtils.askYesNo( "Verify Replace Folder", "Do you want to replace the folder " + "\"" + newFolder + "\"?" + "\nNOTE: All parameter sets it contains will be deleted.")) return; imageDefaultsRoot.removeChild(exists); } newName.setText(""); Node newEle = makeNewFolder(); makeXmlTree(); xmlTree.selectElement((Element) newEle); lastCat = newEle; lastClicked = null; newSetBtn.setEnabled(true); setStatus("Please enter a name for the new parameter set"); } }); newComps.add(newFolderBtn); newComps.add(GuiUtils.filler()); newName.setEnabled(true); newFolderBtn.setEnabled(true); newSetBtn = new JButton("New Parameter Set"); newSetBtn.setActionCommand(CMD_NEWPARASET); newSetBtn.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { newCompName = newName.getText().trim(); if (newCompName.length() == 0) { newComponentError("parameter set"); return; } newName.setText(""); Element newEle = saveParameterSet(); if (newEle == null) return; xmlTree.selectElement(newEle); lastClicked = newEle; } }); newComps.add(newSetBtn); newSetBtn.setEnabled(false); JPanel newPanel = GuiUtils.top(GuiUtils.left(GuiUtils.hbox(newComps))); JPanel topPanel = GuiUtils.topCenter(sPanel, newPanel); treePanel = new JPanel(); treePanel.setLayout(new BorderLayout()); makeXmlTree(); ActionListener listener = new ActionListener() { public void actionPerformed(ActionEvent event) { String cmd = event.getActionCommand(); if (cmd.equals(GuiUtils.CMD_CANCEL)) { if (lastClicked != null) { removeNode(lastClicked); lastClicked = null; } saveWindow.setVisible(false); saveWindow = null; } else { saveWindow.setVisible(false); saveWindow = null; } } }; JPanel bottom = GuiUtils.inset(GuiUtils.makeApplyCancelButtons(listener), 5); contents = GuiUtils.topCenterBottom(topPanel, treePanel, bottom); saveWindow.getContentPane().add(contents); saveWindow.pack(); saveWindow.setLocation(200, 200); saveWindow.setVisible(true); GuiUtils.toFront(saveWindow); setStatus("Please select a folder from tree, or create a new folder"); }