public void showAtts() { if (ds == null) return; if (attTable == null) { // global attributes attTable = new BeanTableSorted( 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<AttributeBean>(); for (Attribute att : ds.getGlobalAttributes()) { attlist.add(new AttributeBean(att)); } attTable.setBeans(attlist); attWindow.show(); }
void setSelected(Variable vs) { List beans = table.getBeans(); for (Object bean1 : beans) { VariableBean bean = (VariableBean) bean1; if (bean.vs == vs) { table.setSelectedBean(bean); return; } } }
private void dataTable(BeanTableSorted from) { VariableBean vb = (VariableBean) from.getSelectedBean(); if (vb == null) return; Variable v = vb.vs; if (v instanceof Structure) { try { dataTable.setStructure((Structure) v); } catch (Exception ex) { ex.printStackTrace(); } } else return; dataWindow.show(); }
private Variable getCurrentVariable(BeanTableSorted from) { VariableBean vb = (VariableBean) from.getSelectedBean(); if (vb == null) return null; return vb.vs; }
void saveState() { table.saveState(false); if (split != null) myPrefs.putInt("splitPos" + level, split.getDividerLocation()); }
NestedTable(int level) { this.level = level; myPrefs = (PreferencesExt) prefs.node("NestedTable" + level); table = new BeanTableSorted(VariableBean.class, myPrefs, false); JTable jtable = table.getJTable(); PopupMenu csPopup = new PopupMenu(jtable, "Options"); csPopup.addAction( "Show Declaration", new AbstractAction() { public void actionPerformed(ActionEvent e) { showDeclaration(table, false); } }); csPopup.addAction( "Show NcML", new AbstractAction() { public void actionPerformed(ActionEvent e) { showDeclaration(table, true); } }); csPopup.addAction( "NCdump Data", "Dump", new AbstractAction() { public void actionPerformed(ActionEvent e) { dumpData(table); } }); if (level == 0) { csPopup.addAction( "Data Table", new AbstractAction() { public void actionPerformed(ActionEvent e) { dataTable(table); } }); } // get selected variable, see if its a structure table.addListSelectionListener( new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { Variable v = getCurrentVariable(table); if ((v != null) && (v instanceof Structure)) { hideNestedTable(NestedTable.this.level + 2); setNestedTable(NestedTable.this.level + 1, (Structure) v); } else { hideNestedTable(NestedTable.this.level + 1); } if (eventsOK) datasetTree.setSelected(v); } }); // layout if (currentComponent == null) { currentComponent = table; tablePanel.add(currentComponent, BorderLayout.CENTER); isShowing = true; } else { split = new JSplitPane(JSplitPane.VERTICAL_SPLIT, false, currentComponent, table); splitPos = myPrefs.getInt("splitPos" + level, 500); if (splitPos > 0) split.setDividerLocation(splitPos); show(); } }