Пример #1
0
  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();
  }
Пример #2
0
  public DatasetViewer(PreferencesExt prefs, FileManager fileChooser) {
    this.prefs = prefs;
    this.fileChooser = fileChooser;

    // create the variable table(s)
    tablePanel = new JPanel(new BorderLayout());
    setNestedTable(0, null);

    // the tree view
    datasetTree = new DatasetTreeView();
    datasetTree.addPropertyChangeListener(
        new PropertyChangeListener() {
          public void propertyChange(PropertyChangeEvent e) {
            setSelected((Variable) e.getNewValue());
          }
        });

    // layout
    mainSplit = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, false, datasetTree, tablePanel);
    mainSplit.setDividerLocation(prefs.getInt("mainSplit", 100));

    setLayout(new BorderLayout());
    add(mainSplit, BorderLayout.CENTER);

    // the info window
    infoTA = new TextHistoryPane();
    infoWindow =
        new IndependentWindow("Variable Information", BAMutil.getImage("netcdfUI"), infoTA);
    infoWindow.setBounds(
        (Rectangle) prefs.getBean("InfoWindowBounds", new Rectangle(300, 300, 500, 300)));

    // the data Table
    dataTable = new StructureTable((PreferencesExt) prefs.node("structTable"));
    dataWindow = new IndependentWindow("Data Table", BAMutil.getImage("netcdfUI"), dataTable);
    dataWindow.setBounds(
        (Rectangle) prefs.getBean("dataWindow", new Rectangle(50, 300, 1000, 600)));

    // the ncdump Pane
    dumpPane = new NCdumpPane((PreferencesExt) prefs.node("dumpPane"));
    dumpWindow =
        new IndependentWindow("NCDump Variable Data", BAMutil.getImage("netcdfUI"), dumpPane);
    dumpWindow.setBounds(
        (Rectangle) prefs.getBean("DumpWindowBounds", new Rectangle(300, 300, 300, 200)));
  }
Пример #3
0
  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);
  }
Пример #4
0
    OpPanel(PreferencesExt prefs, boolean isAccess) {
      this.prefs = prefs;
      this.isAccess = isAccess;
      ta = new TextHistoryPane(true);
      infoWindow =
          new IndependentWindow("Details", BAMutil.getImage("netcdfUI"), new JScrollPane(ta));
      Rectangle bounds = (Rectangle) prefs.getBean(FRAME_SIZE, new Rectangle(200, 50, 500, 700));
      infoWindow.setBounds(bounds);

      topPanel = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 0));

      // which server
      serverCB = new JComboBox();
      serverCB.setModel(manage.getServersCB().getModel());
      serverCB.addActionListener(
          new ActionListener() {
            public void actionPerformed(ActionEvent e) {
              String server = (String) serverCB.getSelectedItem();
              setServer(server);
            }
          });

      // serverCB.setModel(manage.getServers().getModel());
      topPanel.add(new JLabel("server:"));
      topPanel.add(serverCB);

      // the date selectors
      startDateField = new JTextArea("                    ");
      endDateField = new JTextArea("                    ");

      topPanel.add(new JLabel("Start Date:"));
      topPanel.add(startDateField);
      topPanel.add(new JLabel("End Date:"));
      topPanel.add(endDateField);

      AbstractAction showAction =
          new AbstractAction() {
            public void actionPerformed(ActionEvent e) {
              showLogs();
            }
          };
      BAMutil.setActionProperties(showAction, "Import", "get logs", false, 'G', -1);
      BAMutil.addActionToContainer(topPanel, showAction);

      AbstractAction filterAction =
          new AbstractAction() {
            public void actionPerformed(ActionEvent e) {
              Boolean state = (Boolean) getValue(BAMutil.STATE);
              removeTestReq = state.booleanValue();
            }
          };
      BAMutil.setActionProperties(filterAction, "time", "remove test Requests", true, 'F', -1);
      BAMutil.addActionToContainer(topPanel, filterAction);

      AbstractAction filter2Action =
          new AbstractAction() {
            public void actionPerformed(ActionEvent e) {
              Boolean state = (Boolean) getValue(BAMutil.STATE);
              problemsOnly = state.booleanValue();
            }
          };
      BAMutil.setActionProperties(filter2Action, "time", "only show problems", true, 'F', -1);
      BAMutil.addActionToContainer(topPanel, filter2Action);

      AbstractAction infoAction =
          new AbstractAction() {
            public void actionPerformed(ActionEvent e) {
              Formatter f = new Formatter();
              showInfo(f);
              ta.setText(f.toString());
              infoWindow.show();
            }
          };
      BAMutil.setActionProperties(
          infoAction, "Information", "info on selected logs", false, 'I', -1);
      BAMutil.addActionToContainer(topPanel, infoAction);

      setLayout(new BorderLayout());
      add(topPanel, BorderLayout.NORTH);
    }