void setField(GridDatatype field) { /*int idx = fieldChooser.setSelectedByName(field.toString()); if (idx < 0) fieldChooser.setSelectedByIndex(0); */ fieldChooser.setToolTipText(field.getName()); GridCoordSystem gcs = field.getCoordinateSystem(); // levels CoordinateAxis1D axis = gcs.getVerticalAxis(); setChooserWanted("level", axis != null); if (axis != null) { List<NamedObject> levels = axis.getNames(); levelChooser.setCollection(levels.iterator(), true); NamedObject no = levels.get(controller.getCurrentLevelIndex()); levelChooser.setSelectedByName(no.getName()); } // times if (gcs.hasTimeAxis()) { axis = gcs.hasTimeAxis1D() ? gcs.getTimeAxis1D() : gcs.getTimeAxisForRun(0); setChooserWanted("time", axis != null); if (axis != null) { List<NamedObject> names = axis.getNames(); timeChooser.setCollection(names.iterator(), true); NamedObject no = names.get(controller.getCurrentTimeIndex()); timeChooser.setSelectedByName(no.getName()); } } else { setChooserWanted("time", false); } axis = gcs.getEnsembleAxis(); setChooserWanted("ensemble", axis != null); if (axis != null) { List<NamedObject> names = axis.getNames(); ensembleChooser.setCollection(names.iterator(), true); NamedObject no = names.get(controller.getCurrentEnsembleIndex()); ensembleChooser.setSelectedByName(no.getName()); } axis = gcs.getRunTimeAxis(); setChooserWanted("runtime", axis != null); if (axis != null) { List<NamedObject> names = axis.getNames(); runtimeChooser.setCollection(names.iterator(), true); NamedObject no = names.get(controller.getCurrentRunTimeIndex()); runtimeChooser.setSelectedByName(no.getName()); } setChoosers(); colorScalePanel.setUnitString(field.getUnitsString()); }
public GridUI( PreferencesExt pstore, RootPaneContainer root, FileManager fileChooser, int defaultHeight) { // this.topUI = topUI; this.store = pstore; this.fileChooser = fileChooser; try { choosers = new ArrayList(); fieldChooser = new SuperComboBox(root, "field", true, null); choosers.add(new Chooser("field", fieldChooser, true)); levelChooser = new SuperComboBox(root, "level", false, null); choosers.add(new Chooser("level", levelChooser, false)); timeChooser = new SuperComboBox(root, "time", false, null); choosers.add(new Chooser("time", timeChooser, false)); ensembleChooser = new SuperComboBox(root, "ensemble", false, null); choosers.add(new Chooser("ensemble", ensembleChooser, false)); runtimeChooser = new SuperComboBox(root, "runtime", false, null); choosers.add(new Chooser("runtime", runtimeChooser, false)); makeActionsDataset(); makeActionsToolbars(); gridTable = new GridTable("field"); gtWindow = new IndependentWindow( "Grid Table Information", BAMutil.getImage("GDVs"), gridTable.getPanel()); PreferencesExt dsNode = (PreferencesExt) pstore.node("DatasetTable"); dsTable = new GeoGridTable(dsNode, true); dsDialog = dsTable.makeDialog(root, "NetcdfDataset Info", false); // dsDialog.setIconImage( BAMutil.getImage( "GDVs")); Rectangle bounds = (Rectangle) dsNode.getBean("DialogBounds", new Rectangle(50, 50, 800, 450)); dsDialog.setBounds(bounds); controller = new GridController(this, store); makeUI(defaultHeight); controller.finishInit(); // other components geotiffFileChooser = new FileManager(parent); geotiffFileChooser.setCurrentDirectory(store.get(GEOTIFF_FILECHOOSER_DEFAULTDIR, ".")); } catch (Exception e) { System.out.println("UI creation failed"); e.printStackTrace(); } }
/** save all data in the PersistentStore */ public void storePersistentData() { store.putInt("vertSplit", splitDraw.getDividerLocation()); store.putBoolean( "navToolbarAction", ((Boolean) navToolbarAction.getValue(BAMutil.STATE)).booleanValue()); store.putBoolean( "moveToolbarAction", ((Boolean) moveToolbarAction.getValue(BAMutil.STATE)).booleanValue()); if (projManager != null) projManager.storePersistentData(); /* if (csManager != null) csManager.storePersistentData(); if (sysConfigDialog != null) sysConfigDialog.storePersistentData(); */ dsTable.save(); dsTable.getPrefs().putBeanObject("DialogBounds", dsDialog.getBounds()); store.put(GEOTIFF_FILECHOOSER_DEFAULTDIR, geotiffFileChooser.getCurrentDirectory()); controller.storePersistentData(); }
private void makeUI(int defaultHeight) { datasetNameLabel = new JLabel(); /* gridPP = new PrefPanel("GridView", (PreferencesExt) store.node("GridViewPrefs")); gridUrlIF = gridPP.addTextComboField("url", "Gridded Data URL", null, 10, false); gridPP.addButton( BAMutil.makeButtconFromAction( chooseLocalDatasetAction )); gridPP.finish(true, BorderLayout.EAST); gridPP.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { InvDatasetImpl ds = new InvDatasetImpl( gridUrlIF.getText(), thredds.catalog.DataType.GRID, ServiceType.NETCDF); setDataset( ds); } }); */ // top tool panel toolPanel = new JPanel(); toolPanel.setBorder(new EtchedBorder()); toolPanel.setLayout(new MFlowLayout(FlowLayout.LEFT, 0, 0)); // menus JMenu dataMenu = new JMenu("Dataset"); dataMenu.setMnemonic('D'); configMenu = new JMenu("Configure"); configMenu.setMnemonic('C'); JMenu toolMenu = new JMenu("Controls"); toolMenu.setMnemonic('T'); addActionsToMenus(dataMenu, configMenu, toolMenu); JMenuBar menuBar = new JMenuBar(); menuBar.add(dataMenu); menuBar.add(configMenu); menuBar.add(toolMenu); toolPanel.add(menuBar); // field choosers fieldPanel = new JPanel(); fieldPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); toolPanel.add(fieldPanel); // stride toolPanel.add(controller.strideSpinner); // buttcons BAMutil.addActionToContainer(toolPanel, controller.drawHorizAction); BAMutil.addActionToContainer(toolPanel, controller.drawVertAction); mapBeanMenu = MapBean.makeMapSelectButton(); toolPanel.add(mapBeanMenu.getParentComponent()); // the Navigated panel and its toolbars panz.setLayout(new FlowLayout()); navToolbar = panz.getNavToolBar(); moveToolbar = panz.getMoveToolBar(); if (((Boolean) navToolbarAction.getValue(BAMutil.STATE)).booleanValue()) toolPanel.add(navToolbar); if (((Boolean) moveToolbarAction.getValue(BAMutil.STATE)).booleanValue()) toolPanel.add(moveToolbar); BAMutil.addActionToContainer(toolPanel, panz.setReferenceAction); BAMutil.addActionToContainer(toolPanel, controller.dataProjectionAction); BAMutil.addActionToContainer(toolPanel, controller.showGridAction); BAMutil.addActionToContainer(toolPanel, controller.showContoursAction); BAMutil.addActionToContainer(toolPanel, controller.showContourLabelsAction); BAMutil.addActionToContainer(toolPanel, redrawAction); // vertical split vertPanel = new VertPanel(); splitDraw = new JSplitPane(JSplitPane.VERTICAL_SPLIT, panz, vertPanel); int divLoc = store.getInt("vertSplit", 2 * defaultHeight / 3); splitDraw.setDividerLocation(divLoc); drawingPanel = new JPanel(new BorderLayout()); // filled later // status panel JPanel statusPanel = new JPanel(new BorderLayout()); statusPanel.setBorder(new EtchedBorder()); positionLabel = new JLabel("position"); positionLabel.setToolTipText("position at cursor"); dataValueLabel = new JLabel("data value", SwingConstants.CENTER); dataValueLabel.setToolTipText("data value (double click on grid)"); statusPanel.add(positionLabel, BorderLayout.WEST); statusPanel.add(dataValueLabel, BorderLayout.CENTER); panz.setPositionLabel(positionLabel); // colorscale panel colorScalePanel = new ColorScale.Panel(this, controller.getColorScale()); csDataMinMax = new JComboBox(GridRenderer.MinMaxType.values()); csDataMinMax.setToolTipText("ColorScale Min/Max setting"); csDataMinMax.addActionListener( new AbstractAction() { public void actionPerformed(ActionEvent e) { controller.setDataMinMaxType((GridRenderer.MinMaxType) csDataMinMax.getSelectedItem()); } }); JPanel westPanel = new JPanel(new BorderLayout()); westPanel.add(colorScalePanel, BorderLayout.CENTER); westPanel.add(csDataMinMax, BorderLayout.NORTH); // lay it out JPanel northPanel = new JPanel(); // northPanel.setLayout( new BoxLayout(northPanel, BoxLayout.Y_AXIS)); northPanel.setLayout(new BorderLayout()); northPanel.add(datasetNameLabel, BorderLayout.NORTH); northPanel.add(toolPanel, BorderLayout.SOUTH); setLayout(new BorderLayout()); add(northPanel, BorderLayout.NORTH); add(statusPanel, BorderLayout.SOUTH); add(westPanel, BorderLayout.WEST); add(drawingPanel, BorderLayout.CENTER); setDrawHorizAndVert(controller.drawHorizOn, controller.drawVertOn); }
public void setDataset(GridDataset ds) { controller.setGridDataset(ds); controller.showDataset(); datasetNameLabel.setText("Dataset: " + controller.getDatasetUrlString()); gridTable.setDataset(controller.getFields()); }
void setMapRenderer(Renderer mapRenderer) { controller.setMapRenderer(mapRenderer); }