public void showAtts() { if (ds == null) return; if (attTable == null) { // global attributes attTable = new BeanTable(AttributeBean.class, (PreferencesExt) prefs.node("AttributeBeans"), false); PopupMenu varPopup = new ucar.nc2.ui.widget.PopupMenu(attTable.getJTable(), "Options"); varPopup.addAction( "Show Attribute", new AbstractAction() { public void actionPerformed(ActionEvent e) { AttributeBean bean = (AttributeBean) attTable.getSelectedBean(); if (bean != null) { infoTA.setText(bean.att.toString()); infoTA.gotoTop(); infoWindow.show(); } } }); attWindow = new IndependentWindow("Global Attributes", BAMutil.getImage("netcdfUI"), attTable); attWindow.setBounds( (Rectangle) prefs.getBean("AttWindowBounds", new Rectangle(300, 100, 500, 800))); } List<AttributeBean> attlist = new ArrayList<>(); for (Attribute att : ds.getGlobalAttributes()) { attlist.add(new AttributeBean(att)); } attTable.setBeans(attlist); attWindow.show(); }
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(); } }
public CoordSysTable(PreferencesExt prefs, JPanel buttPanel) { this.prefs = prefs; if (buttPanel != null) { AbstractAction attAction = new AbstractAction() { public void actionPerformed(ActionEvent e) { showAtts(); } }; BAMutil.setActionProperties(attAction, "FontDecr", "global attributes", false, 'A', -1); BAMutil.addActionToContainer(buttPanel, attAction); } varTable = new BeanTable(VariableBean.class, (PreferencesExt) prefs.node("VariableBeans"), false); varTable.addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { VariableBean vb = (VariableBean) varTable.getSelectedBean(); if (null != vb.firstCoordSys) setSelectedCoordinateSystem(vb.firstCoordSys); } }); csTable = new BeanTable( CoordinateSystemBean.class, (PreferencesExt) prefs.node("CoordinateSystemBean"), false); csTable.addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { CoordinateSystemBean csb = (CoordinateSystemBean) csTable.getSelectedBean(); setSelectedCoordinateAxes(csb.coordSys); } }); axisTable = new BeanTable(AxisBean.class, (PreferencesExt) prefs.node("CoordinateAxisBean"), false); ucar.nc2.ui.widget.PopupMenu varPopup = new PopupMenu(varTable.getJTable(), "Options"); varPopup.addAction( "Show Declaration", new AbstractAction() { public void actionPerformed(ActionEvent e) { VariableBean vb = (VariableBean) varTable.getSelectedBean(); Variable v = ds.findVariable(vb.getName()); if (v == null) return; infoTA.clear(); infoTA.appendLine(v.toString()); infoTA.appendLine(showMissing(v)); infoTA.gotoTop(); infoWindow.show(); } }); varPopup.addAction( "Try as Grid", new AbstractAction() { public void actionPerformed(ActionEvent e) { VariableBean vb = (VariableBean) varTable.getSelectedBean(); VariableEnhanced v = (VariableEnhanced) ds.findVariable(vb.getName()); if (v == null) return; infoTA.clear(); infoTA.appendLine(tryGrid(v)); infoTA.gotoTop(); infoWindow.show(); } }); PopupMenu csPopup = new PopupMenu(csTable.getJTable(), "Options"); csPopup.addAction( "Show CoordSys", new AbstractAction() { public void actionPerformed(ActionEvent e) { CoordinateSystemBean csb = (CoordinateSystemBean) csTable.getSelectedBean(); CoordinateSystem coordSys = csb.coordSys; infoTA.clear(); infoTA.appendLine("Coordinate System = " + coordSys.getName()); for (CoordinateAxis axis : coordSys.getCoordinateAxes()) { infoTA.appendLine(" " + axis.getAxisType() + " " + axis.writeCDL(true, false)); } infoTA.appendLine(" Coordinate Transforms"); for (CoordinateTransform ct : coordSys.getCoordinateTransforms()) { infoTA.appendLine(" " + ct.getName() + " type=" + ct.getTransformType()); for (Parameter p : ct.getParameters()) { infoTA.appendLine(" " + p); } if (ct instanceof ProjectionCT) { ProjectionCT pct = (ProjectionCT) ct; if (pct.getProjection() != null) { infoTA.appendLine(" impl.class= " + pct.getProjection().getClass().getName()); // pct.getProjection(); } } if (ct instanceof VerticalCT) { VerticalCT vct = (VerticalCT) ct; infoTA.appendLine(" VerticalCT= " + vct); } } infoTA.gotoTop(); infoWindow.show(); } }); PopupMenu axisPopup = new PopupMenu(axisTable.getJTable(), "Options"); axisPopup.addAction( "Show Declaration", new AbstractAction() { public void actionPerformed(ActionEvent e) { AxisBean bean = (AxisBean) axisTable.getSelectedBean(); if (bean == null) return; VariableDS axis = (VariableDS) ds.findVariable(bean.getName()); if (axis == null) return; infoTA.clear(); infoTA.appendLine(axis.toString()); infoTA.appendLine(showMissing(axis)); infoTA.gotoTop(); infoWindow.show(); } }); axisPopup.addAction( "Show Values", new AbstractAction() { public void actionPerformed(ActionEvent e) { AxisBean bean = (AxisBean) axisTable.getSelectedBean(); if (bean == null) return; infoTA.clear(); showValues(bean.axis); infoTA.gotoTop(); infoWindow.show(); } }); axisPopup.addAction( "Show Value Differences", new AbstractAction() { public void actionPerformed(ActionEvent e) { AxisBean bean = (AxisBean) axisTable.getSelectedBean(); if (bean == null) return; infoTA.clear(); showValueDiffs(bean.axis); infoTA.gotoTop(); infoWindow.show(); } }); axisPopup.addAction( "Show Values as Date", new AbstractAction() { public void actionPerformed(ActionEvent e) { AxisBean bean = (AxisBean) axisTable.getSelectedBean(); if (bean == null) return; infoTA.clear(); showValuesAsDates(bean.axis); infoTA.gotoTop(); infoWindow.show(); } }); // the info window infoTA = new TextHistoryPane(); infoWindow = new IndependentWindow("Extra Information", BAMutil.getImage("netcdfUI"), infoTA); infoWindow.setBounds( (Rectangle) prefs.getBean("InfoWindowBounds", new Rectangle(300, 300, 500, 300))); split = new JSplitPane(JSplitPane.VERTICAL_SPLIT, false, varTable, csTable); split.setDividerLocation(prefs.getInt("splitPos", 500)); split2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT, false, split, axisTable); split2.setDividerLocation(prefs.getInt("splitPos2", 500)); setLayout(new BorderLayout()); add(split2, BorderLayout.CENTER); }