visad.ss
Class SpreadSheet

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by visad.util.GUIFrame
                          extended by visad.ss.SpreadSheet
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.AdjustmentListener, java.awt.event.ItemListener, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, DisplayListener, SSCellListener

public class SpreadSheet
extends GUIFrame
implements java.awt.event.AdjustmentListener, DisplayListener, java.awt.event.KeyListener, java.awt.event.ItemListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, SSCellListener

SpreadSheet is a user interface for VisAD that supports multiple 3-D displays (FancySSCells).

See Also:
Serialized Form

Nested Class Summary
 class SpreadSheet.SSOptions
          Inner class for use with getOptions().
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  boolean AutoDetect
          Flag marking whether spreadsheet's cells automatically detect mappings.
protected  javax.swing.JCheckBoxMenuItem AutoDetectBox
          Checkbox menu items.
protected  javax.swing.JCheckBoxMenuItem AutoShowBox
          Checkbox menu items.
protected  boolean AutoShowControls
          Flag marking whether spreadsheet's cells automatically show controls.
protected  boolean AutoSwitch
          Flag marking whether spreadsheet's cells automatically switch dimensions when needed.
protected  javax.swing.JCheckBoxMenuItem AutoSwitchBox
          Checkbox menu items.
protected  java.lang.String bTitle
          Base title.
protected static boolean BugFix
          Whether spreadsheet should have toolbar buttons.
protected static boolean CanDo3D
          Whether Java3D is enabled on this JVM.
protected static boolean CanDoHDF5
          Whether the HDF-5 native library is present on this JVM.
protected static boolean CanDoJPEG
          Whether this JVM supports saving JPEG images with JPEGImageEncoder.
protected static boolean CanDoPython
          Whether this JVM supports JPython scripting.
protected static java.lang.Class[] cellArgs
          Argument classes for constructing an SSCell.
protected static java.lang.reflect.Constructor cellConstructor
          Constructor used to create SSCells for SpreadSheets.
protected  javax.swing.JMenuItem CellDel
          Menu items.
protected  javax.swing.JCheckBoxMenuItem CellDim2D2D
          Checkbox menu items.
protected  javax.swing.JCheckBoxMenuItem CellDim2D3D
          Checkbox menu items.
protected  javax.swing.JCheckBoxMenuItem CellDim3D3D
          Checkbox menu items.
protected  javax.swing.JMenuItem CellEdit
          Menu items.
protected  javax.swing.JMenuItem CellPrint
          Menu items.
protected  javax.swing.JMenuItem CellReset
          Menu items.
protected  javax.swing.JMenuItem CellShow
          Menu items.
protected  java.lang.String Clipboard
          Contents of clipboard.
protected  java.lang.String cloneAddress
          Server address for a cloned sheet, if any.
protected  double CollabID
          ID number for this collaborative spreadsheet.
protected  java.io.File CurrentFile
          Current spreadsheet file.
protected  int CurX
          Column of currently selected cell.
protected  int CurY
          Row of currently selected cell.
protected static int DEFAULT_VIS_HEIGHT
          Default VisAD display height.
protected static int DEFAULT_VIS_WIDTH
          Default VisAD display width.
protected  FancySSCell[][] DisplayCells
          Array of spreadsheet cells.
protected  java.awt.Panel DisplayPanel
          Panel that contains actual VisAD displays.
protected  javax.swing.JMenuItem EditClear
          Menu items.
protected  javax.swing.JMenuItem EditPaste
          Menu items.
protected  javax.swing.JMenu FileExport
          Submenus.
protected  javax.swing.JMenuItem FileSave1
          Menu items.
protected  javax.swing.JMenuItem FileSave2
          Menu items.
protected  javax.swing.JMenuItem FileSave3
          Menu items.
protected  javax.swing.JMenuItem FileSave4
          Menu items.
protected  javax.swing.JMenuItem FileSave5
          Menu items.
protected  javax.swing.JMenuItem FileSnap
          Menu items.
protected  FormulaManager fm
          Formula manager.
protected  javax.swing.JButton FormulaAdd
          Toolbar buttons.
protected  javax.swing.JComboBox FormulaBox
          Formula bar.
protected  javax.swing.JButton FormulaDel
          Toolbar buttons.
protected  javax.swing.ComboBoxEditor FormulaEditor
          Formula editor.
protected  java.awt.event.ActionListener FormulaListener
          Formula action listener.
protected  javax.swing.JTextField FormulaText
          Formula text field.
protected static int HEIGHT_PERCENT
          Starting width of the application, in percentage of screen size.
protected  javax.swing.JComponent[] HorizDrag
          Array of horizontal yellow sizing boxes.
protected  javax.swing.JPanel[] HorizLabel
          Array of panels for horizontal labels.
protected  javax.swing.JViewport HorizLabels
          View port for horizontal cell labels.
protected  javax.swing.JPanel HorizPanel
          Panel containing horizontal labels and sizing boxes.
protected  boolean IsRemote
          Whether spreadsheet is a clone of another spreadsheet.
protected  boolean IsSlave
          Whether spreadsheet is a slaved clone of another spreadsheet.
protected static int LABEL_HEIGHT
          Horizontal cell label's height.
protected static int LABEL_WIDTH
          Vertical cell label's width.
protected  javax.swing.JMenuItem LayAddCol
          Menu items.
protected  javax.swing.JMenuItem LayDelCol
          Menu items.
protected  javax.swing.JMenuItem LayDelRow
          Menu items.
protected static java.lang.String Letters
          Spreadsheet cell letter order.
protected  java.lang.Object Lock
          Object for preventing simultaneous GUI manipulation.
protected static int MIN_VIS_HEIGHT
          Minimum VisAD display height, including display border.
protected static int MIN_VIS_WIDTH
          Minimum VisAD display width, including display border.
protected  int NumVisX
          Number of display columns.
protected  int NumVisY
          Number of display rows.
protected static boolean Possible3D
          Whether Java3D is possible on this JVM.
protected  RemoteDataReference RemoteCanDo3D
          Remote clone's copy of CanDo3D.
protected  RemoteDataReference RemoteColRow
          Row and column information needed for spreadsheet cloning.
protected  RemoteServerImpl rsi
          Server for spreadsheet cells, if any.
protected  java.awt.ScrollPane SCPane
          Scrolling pane, in case sheet gets too small.
protected  javax.swing.JPanel ScrollPanel
          Panel containing the scrolling pane.
protected  java.lang.String serverName
          Server name, if any.
protected static boolean SHOW_CONNECT_MESSAGES
          Whether connection status messages are printed about clones.
protected  javax.swing.JFileChooser SSFileDialog
          File dialog.
protected static java.lang.String SSFileHeader
          Header for first line of spreadsheet files.
protected  javax.swing.JButton Tool2D
          Toolbar buttons.
protected  javax.swing.JButton Tool3D
          Toolbar buttons.
protected  javax.swing.JToolBar Toolbar
          Tool bar.
protected  javax.swing.JButton ToolJ2D
          Toolbar buttons.
protected  javax.swing.JButton ToolMap
          Toolbar buttons.
protected  javax.swing.JButton ToolPaste
          Toolbar buttons.
protected  javax.swing.JButton ToolReset
          Toolbar buttons.
protected  javax.swing.JButton ToolSave
          Toolbar buttons.
protected  javax.swing.JButton ToolShow
          Toolbar buttons.
protected  javax.swing.JComponent[] VertDrag
          Array of vertical yellow sizing boxes.
protected  javax.swing.JPanel[] VertLabel
          Array of panels for vertical labels.
protected  javax.swing.JViewport VertLabels
          View port for vertical cell labels.
protected  javax.swing.JPanel VertPanel
          Panel containing vertical labels and sizing boxes.
protected static int WIDTH_PERCENT
          Starting width of the application, in percentage of screen size.
 
Fields inherited from class visad.util.GUIFrame
hash, heavy, menubar
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
SpreadSheet()
          Constructor with option selection dialog at default values.
SpreadSheet(int sWidth, int sHeight, int cols, int rows, java.lang.String server, java.lang.String clone, java.lang.String sTitle)
          Constructor with default formula manager and no option selection dialog.
SpreadSheet(int sWidth, int sHeight, int cols, int rows, java.lang.String server, java.lang.String clone, java.lang.String sTitle, FormulaManager fm)
          Constructor with no option selection dialog.
SpreadSheet(int sWidth, int sHeight, int cols, int rows, java.lang.String server, java.lang.String clone, java.lang.String sTitle, FormulaManager fm, boolean chooseOptions)
          Main constructor.
 
Method Summary
 void addColumn()
          Adds a column to the spreadsheet.
 void addRow()
          Adds a row to the spreadsheet.
protected  javax.swing.JButton addToolbarButton(java.lang.String file, java.lang.String tooltip, java.lang.String command, boolean enabled, javax.swing.JComponent parent)
          Adds a button to a toolbar.
 void adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
          Handles scrollbar changes.
static void adjustTextField(javax.swing.JTextField field)
          Deprecated. Use Util.adjustTextField(JTextField) instead.
 void captureImageJPEG()
          Captures the display of the current cell and saves it as a JPEG image.
static void centerWindow(java.awt.Window window)
          Deprecated. Use Util.centerWindow(Window) instead.
 void clearCell()
          Clears the mappings and formula of the current cell if it is safe to do so, or if the user confirms the clear.
protected  void clearCell(boolean checkSafe)
          Clears the mappings and formula of the current cell.
 void copyCell()
          Copies a cell from the screen to the clipboard.
protected  FancySSCell createCell(java.lang.String name, RemoteServer rs)
          Returns a new instance of a spreadsheet cell (which must extend FancySSCell), used when a spreadsheet row or column is added.
 void createMappings()
          Specifies mappings from Data to Display.
 void cutCell()
          Moves a cell from the screen to the clipboard.
 boolean deleteColumn()
          Deletes a column from the spreadsheet.
 boolean deleteRow()
          Deletes a row from the spreadsheet.
 void displayChanged(DisplayEvent e)
          Handles display changes.
protected  void displayErrorMessage(java.awt.Component parent, java.lang.String msg, java.lang.Exception exc, java.lang.String title)
          Displays an error in a message dialog.
protected  void displayErrorMessage(java.lang.String msg, java.lang.Exception exc, java.lang.String title)
          Displays an error in a message dialog.
 void exportDataSet(Form form)
          Exports a data set using the given form.
 void exportDataSetBinary()
          Exports a data set to VisAD binary data format.
 void exportDataSetHDF5()
          Exports a data set to HDF-5 format.
 void exportDataSetNetcdf()
          Exports a data set to netCDF format.
 void exportDataSetSerial()
          Exports a data set to serialized data format.
 void exportDataSetTIFF()
          Exports a data set to TIFF format.
 void formulaAdd()
          Prompts the user to type a source for a new data object for the current cell.
 void formulaDel()
          Deletes the selected data object from the current cell.
protected  boolean getOptions(int cols, int rows, java.lang.String server, java.lang.String clone, boolean slave)
          Pops up an option selection dialog for choosing SpreadSheet options.
 javax.swing.JToolBar getToolbar()
          Returns the JToolBar object for other programs to use (e.g., add buttons).
 void itemStateChanged(java.awt.event.ItemEvent e)
          Handles checkbox menu item changes (dimension checkboxes).
 void keyPressed(java.awt.event.KeyEvent e)
          BIG HAMMER HACK.
 void keyReleased(java.awt.event.KeyEvent e)
          BIG HAMMER HACK.
 void keyTyped(java.awt.event.KeyEvent e)
          BIG HAMMER HACK.
 void loadDataSet()
          Imports a data set.
static void main(java.lang.String[] argv)
          Gateway into VisAD Visualization SpreadSheet user interface.
 void mouseClicked(java.awt.event.MouseEvent e)
          Unused MouseListener method.
 void mouseDragged(java.awt.event.MouseEvent e)
          Handles cell label resizing.
 void mouseEntered(java.awt.event.MouseEvent e)
          Unused MouseListener method.
 void mouseExited(java.awt.event.MouseEvent e)
          Unused MouseListener method.
 void mouseMoved(java.awt.event.MouseEvent e)
          Unused MouseMotionListener method.
 void mousePressed(java.awt.event.MouseEvent e)
          Handles mouse presses.
 void mouseReleased(java.awt.event.MouseEvent e)
          Handles cell resizing.
 boolean newFile()
          Creates a new spreadsheet file, asking user to confirm first.
protected  boolean newFile(boolean safe)
          Creates a new spreadsheet file.
 void openFile()
          Opens an existing spreadsheet file chosen by the user.
 void openFile(java.lang.String file)
          Opens the specified spreadsheet file.
 void optionsDetect()
          Sets mapping auto-detection to match Auto-detect menu item state.
 void optionsDisplay()
          Sets auto-display of controls to match Auto-display menu item state.
 void optionsSwitch()
          Sets auto-dimension switching to match Auto-switch menu item state.
 void pasteCell()
          Copies a cell from the clipboard to the screen.
 void printCurrentCell()
          Creates a hardcopy of the current spreadsheet cell.
 void quitProgram()
          Does any necessary clean-up, then quits the program.
protected  void reconstructSpreadsheet(java.lang.String[][] cellNames, int[] w, int[] h, RemoteServer rs)
           
protected  void refreshCells()
          Refreshes spreadsheet cells.
protected  void refreshDisplayMenuItems()
          Updates dimension checkbox menu items and toolbar buttons.
protected  void refreshFormulaBar()
          Makes sure the formula bar is displaying up-to-date info.
protected  void refreshMenuCommands()
          Enables or disables certain menu items depending on whether this cell has data.
protected  void refreshOptions()
          Refreshes check box items in the Options menu.
protected  void refreshShowControls()
          Refreshes the "Show controls" menu option and toolbar button.
 void resetOrientation()
          Resets the display projection to its original value.
 void saveAsFile()
          Saves a spreadsheet file under a new name.
 void saveFile()
          Saves a spreadsheet file under its current name.
 void selectCell(int x, int y)
          Selects the specified cell and updates screen info.
protected  void setAutoDetect(boolean b)
          Toggles mapping auto-detection.
protected  void setAutoShowControls(boolean b)
          Toggles auto-display of controls.
protected  void setAutoSwitch(boolean b)
          Toggles auto-dimension switching.
protected  void setDim(int dim)
          Sets the dimension of the current cell.
 void setDim2D()
          Sets the dimension of the current cell to 2-D (Java3D).
 void setDim3D()
          Sets the dimension of the current cell to 3-D (Java3D).
 void setDimJ2D()
          Sets the dimension of the current cell to 2-D (Java2D).
static void setSSCellClass(java.lang.Class c)
          Sets the SpreadSheet cell class to the given class (which must extend FancySSCell), used for creating SpreadSheet cells.
 void showControls()
          Displays the controls for the currently selected cell.
static void snooze(long ms)
          Waits the specified number of milliseconds.
 void ssCellChanged(SSCellChangeEvent e)
          Handles changes in a cell's data.
 void tileCells()
          Resizes all cells to exactly fill the entire pane, if possible.
 
Methods inherited from class visad.util.GUIFrame
actionPerformed, addMenuItem, addMenuItem, addMenuItem, addMenuSeparator, addSubMenu, addSubMenu, addSubMenu, getMenu, getMenuItem
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

WIDTH_PERCENT

protected static final int WIDTH_PERCENT
Starting width of the application, in percentage of screen size.

See Also:
Constant Field Values

HEIGHT_PERCENT

protected static final int HEIGHT_PERCENT
Starting width of the application, in percentage of screen size.

See Also:
Constant Field Values

MIN_VIS_WIDTH

protected static final int MIN_VIS_WIDTH
Minimum VisAD display width, including display border.

See Also:
Constant Field Values

MIN_VIS_HEIGHT

protected static final int MIN_VIS_HEIGHT
Minimum VisAD display height, including display border.

See Also:
Constant Field Values

DEFAULT_VIS_WIDTH

protected static final int DEFAULT_VIS_WIDTH
Default VisAD display width.

See Also:
Constant Field Values

DEFAULT_VIS_HEIGHT

protected static final int DEFAULT_VIS_HEIGHT
Default VisAD display height.

See Also:
Constant Field Values

Letters

protected static final java.lang.String Letters
Spreadsheet cell letter order.

See Also:
Constant Field Values

LABEL_WIDTH

protected static final int LABEL_WIDTH
Vertical cell label's width.

See Also:
Constant Field Values

LABEL_HEIGHT

protected static final int LABEL_HEIGHT
Horizontal cell label's height.

See Also:
Constant Field Values

SHOW_CONNECT_MESSAGES

protected static final boolean SHOW_CONNECT_MESSAGES
Whether connection status messages are printed about clones.

See Also:
Constant Field Values

SSFileHeader

protected static final java.lang.String SSFileHeader
Header for first line of spreadsheet files.

See Also:
Constant Field Values

cellArgs

protected static final java.lang.Class[] cellArgs
Argument classes for constructing an SSCell.


cellConstructor

protected static java.lang.reflect.Constructor cellConstructor
Constructor used to create SSCells for SpreadSheets.


Possible3D

protected static boolean Possible3D
Whether Java3D is possible on this JVM.


CanDo3D

protected static boolean CanDo3D
Whether Java3D is enabled on this JVM.


CanDoHDF5

protected static boolean CanDoHDF5
Whether the HDF-5 native library is present on this JVM.


CanDoJPEG

protected static boolean CanDoJPEG
Whether this JVM supports saving JPEG images with JPEGImageEncoder.


CanDoPython

protected static boolean CanDoPython
Whether this JVM supports JPython scripting.


BugFix

protected static boolean BugFix
Whether spreadsheet should have toolbar buttons.


SSFileDialog

protected javax.swing.JFileChooser SSFileDialog
File dialog.


bTitle

protected java.lang.String bTitle
Base title.


NumVisX

protected int NumVisX
Number of display columns.


NumVisY

protected int NumVisY
Number of display rows.


fm

protected FormulaManager fm
Formula manager.


serverName

protected java.lang.String serverName
Server name, if any.


cloneAddress

protected java.lang.String cloneAddress
Server address for a cloned sheet, if any.


rsi

protected RemoteServerImpl rsi
Server for spreadsheet cells, if any.


IsRemote

protected boolean IsRemote
Whether spreadsheet is a clone of another spreadsheet.


IsSlave

protected boolean IsSlave
Whether spreadsheet is a slaved clone of another spreadsheet.


CollabID

protected double CollabID
ID number for this collaborative spreadsheet.


RemoteColRow

protected RemoteDataReference RemoteColRow
Row and column information needed for spreadsheet cloning.


RemoteCanDo3D

protected RemoteDataReference RemoteCanDo3D
Remote clone's copy of CanDo3D.


AutoSwitch

protected boolean AutoSwitch
Flag marking whether spreadsheet's cells automatically switch dimensions when needed.


AutoDetect

protected boolean AutoDetect
Flag marking whether spreadsheet's cells automatically detect mappings.


AutoShowControls

protected boolean AutoShowControls
Flag marking whether spreadsheet's cells automatically show controls.


DisplayPanel

protected java.awt.Panel DisplayPanel
Panel that contains actual VisAD displays.


ScrollPanel

protected javax.swing.JPanel ScrollPanel
Panel containing the scrolling pane.


SCPane

protected java.awt.ScrollPane SCPane
Scrolling pane, in case sheet gets too small.


HorizLabels

protected javax.swing.JViewport HorizLabels
View port for horizontal cell labels.


VertLabels

protected javax.swing.JViewport VertLabels
View port for vertical cell labels.


HorizLabel

protected javax.swing.JPanel[] HorizLabel
Array of panels for horizontal labels.


VertLabel

protected javax.swing.JPanel[] VertLabel
Array of panels for vertical labels.


HorizDrag

protected javax.swing.JComponent[] HorizDrag
Array of horizontal yellow sizing boxes.


VertDrag

protected javax.swing.JComponent[] VertDrag
Array of vertical yellow sizing boxes.


HorizPanel

protected javax.swing.JPanel HorizPanel
Panel containing horizontal labels and sizing boxes.


VertPanel

protected javax.swing.JPanel VertPanel
Panel containing vertical labels and sizing boxes.


DisplayCells

protected FancySSCell[][] DisplayCells
Array of spreadsheet cells.


FormulaBox

protected javax.swing.JComboBox FormulaBox
Formula bar.


FormulaEditor

protected javax.swing.ComboBoxEditor FormulaEditor
Formula editor.


FormulaText

protected javax.swing.JTextField FormulaText
Formula text field.


FormulaListener

protected java.awt.event.ActionListener FormulaListener
Formula action listener.


Toolbar

protected javax.swing.JToolBar Toolbar
Tool bar.


FileExport

protected javax.swing.JMenu FileExport
Submenus.


FileSave1

protected javax.swing.JMenuItem FileSave1
Menu items.


FileSave2

protected javax.swing.JMenuItem FileSave2
Menu items.


FileSave3

protected javax.swing.JMenuItem FileSave3
Menu items.


FileSave4

protected javax.swing.JMenuItem FileSave4
Menu items.


FileSave5

protected javax.swing.JMenuItem FileSave5
Menu items.


FileSnap

protected javax.swing.JMenuItem FileSnap
Menu items.


EditPaste

protected javax.swing.JMenuItem EditPaste
Menu items.


EditClear

protected javax.swing.JMenuItem EditClear
Menu items.


CellDel

protected javax.swing.JMenuItem CellDel
Menu items.


CellPrint

protected javax.swing.JMenuItem CellPrint
Menu items.


CellEdit

protected javax.swing.JMenuItem CellEdit
Menu items.


CellReset

protected javax.swing.JMenuItem CellReset
Menu items.


CellShow

protected javax.swing.JMenuItem CellShow
Menu items.


LayAddCol

protected javax.swing.JMenuItem LayAddCol
Menu items.


LayDelCol

protected javax.swing.JMenuItem LayDelCol
Menu items.


LayDelRow

protected javax.swing.JMenuItem LayDelRow
Menu items.


CellDim3D3D

protected javax.swing.JCheckBoxMenuItem CellDim3D3D
Checkbox menu items.


CellDim2D2D

protected javax.swing.JCheckBoxMenuItem CellDim2D2D
Checkbox menu items.


CellDim2D3D

protected javax.swing.JCheckBoxMenuItem CellDim2D3D
Checkbox menu items.


AutoSwitchBox

protected javax.swing.JCheckBoxMenuItem AutoSwitchBox
Checkbox menu items.


AutoDetectBox

protected javax.swing.JCheckBoxMenuItem AutoDetectBox
Checkbox menu items.


AutoShowBox

protected javax.swing.JCheckBoxMenuItem AutoShowBox
Checkbox menu items.


ToolSave

protected javax.swing.JButton ToolSave
Toolbar buttons.


ToolPaste

protected javax.swing.JButton ToolPaste
Toolbar buttons.


Tool3D

protected javax.swing.JButton Tool3D
Toolbar buttons.


Tool2D

protected javax.swing.JButton Tool2D
Toolbar buttons.


ToolJ2D

protected javax.swing.JButton ToolJ2D
Toolbar buttons.


ToolMap

protected javax.swing.JButton ToolMap
Toolbar buttons.


ToolShow

protected javax.swing.JButton ToolShow
Toolbar buttons.


ToolReset

protected javax.swing.JButton ToolReset
Toolbar buttons.


FormulaAdd

protected javax.swing.JButton FormulaAdd
Toolbar buttons.


FormulaDel

protected javax.swing.JButton FormulaDel
Toolbar buttons.


CurX

protected int CurX
Column of currently selected cell.


CurY

protected int CurY
Row of currently selected cell.


Clipboard

protected java.lang.String Clipboard
Contents of clipboard.


CurrentFile

protected java.io.File CurrentFile
Current spreadsheet file.


Lock

protected java.lang.Object Lock
Object for preventing simultaneous GUI manipulation.

Constructor Detail

SpreadSheet

public SpreadSheet()
Constructor with option selection dialog at default values.


SpreadSheet

public SpreadSheet(int sWidth,
                   int sHeight,
                   int cols,
                   int rows,
                   java.lang.String server,
                   java.lang.String clone,
                   java.lang.String sTitle)
Constructor with default formula manager and no option selection dialog.


SpreadSheet

public SpreadSheet(int sWidth,
                   int sHeight,
                   int cols,
                   int rows,
                   java.lang.String server,
                   java.lang.String clone,
                   java.lang.String sTitle,
                   FormulaManager fm)
Constructor with no option selection dialog.


SpreadSheet

public SpreadSheet(int sWidth,
                   int sHeight,
                   int cols,
                   int rows,
                   java.lang.String server,
                   java.lang.String clone,
                   java.lang.String sTitle,
                   FormulaManager fm,
                   boolean chooseOptions)
Main constructor.

Method Detail

snooze

public static void snooze(long ms)
Waits the specified number of milliseconds.


main

public static void main(java.lang.String[] argv)
Gateway into VisAD Visualization SpreadSheet user interface.


loadDataSet

public void loadDataSet()
Imports a data set.


exportDataSetNetcdf

public void exportDataSetNetcdf()
Exports a data set to netCDF format.


exportDataSetSerial

public void exportDataSetSerial()
Exports a data set to serialized data format.


exportDataSetHDF5

public void exportDataSetHDF5()
Exports a data set to HDF-5 format.


exportDataSetTIFF

public void exportDataSetTIFF()
Exports a data set to TIFF format.


exportDataSetBinary

public void exportDataSetBinary()
Exports a data set to VisAD binary data format.


exportDataSet

public void exportDataSet(Form form)
Exports a data set using the given form.


captureImageJPEG

public void captureImageJPEG()
Captures the display of the current cell and saves it as a JPEG image.


quitProgram

public void quitProgram()
Does any necessary clean-up, then quits the program.


cutCell

public void cutCell()
Moves a cell from the screen to the clipboard.


copyCell

public void copyCell()
Copies a cell from the screen to the clipboard.


pasteCell

public void pasteCell()
Copies a cell from the clipboard to the screen.


clearCell

public void clearCell()
Clears the mappings and formula of the current cell if it is safe to do so, or if the user confirms the clear.


clearCell

protected void clearCell(boolean checkSafe)
Clears the mappings and formula of the current cell.


newFile

public boolean newFile()
Creates a new spreadsheet file, asking user to confirm first.

Returns:
true if successful.

newFile

protected boolean newFile(boolean safe)
Creates a new spreadsheet file.

Returns:
true if successful.

openFile

public void openFile()
Opens an existing spreadsheet file chosen by the user.


openFile

public void openFile(java.lang.String file)
Opens the specified spreadsheet file.


saveFile

public void saveFile()
Saves a spreadsheet file under its current name.


saveAsFile

public void saveAsFile()
Saves a spreadsheet file under a new name.


setDim3D

public void setDim3D()
Sets the dimension of the current cell to 3-D (Java3D).


setDimJ2D

public void setDimJ2D()
Sets the dimension of the current cell to 2-D (Java2D).


setDim2D

public void setDim2D()
Sets the dimension of the current cell to 2-D (Java3D).


setDim

protected void setDim(int dim)
Sets the dimension of the current cell.


printCurrentCell

public void printCurrentCell()
Creates a hardcopy of the current spreadsheet cell.


createMappings

public void createMappings()
Specifies mappings from Data to Display.


resetOrientation

public void resetOrientation()
Resets the display projection to its original value.


showControls

public void showControls()
Displays the controls for the currently selected cell.


addColumn

public void addColumn()
Adds a column to the spreadsheet.


addRow

public void addRow()
Adds a row to the spreadsheet.


deleteColumn

public boolean deleteColumn()
Deletes a column from the spreadsheet.


deleteRow

public boolean deleteRow()
Deletes a row from the spreadsheet.


tileCells

public void tileCells()
Resizes all cells to exactly fill the entire pane, if possible.


optionsSwitch

public void optionsSwitch()
Sets auto-dimension switching to match Auto-switch menu item state.


optionsDetect

public void optionsDetect()
Sets mapping auto-detection to match Auto-detect menu item state.


optionsDisplay

public void optionsDisplay()
Sets auto-display of controls to match Auto-display menu item state.


setAutoSwitch

protected void setAutoSwitch(boolean b)
Toggles auto-dimension switching.


setAutoDetect

protected void setAutoDetect(boolean b)
Toggles mapping auto-detection.


setAutoShowControls

protected void setAutoShowControls(boolean b)
Toggles auto-display of controls.


formulaAdd

public void formulaAdd()
Prompts the user to type a source for a new data object for the current cell.


formulaDel

public void formulaDel()
Deletes the selected data object from the current cell.


refreshCells

protected void refreshCells()
Refreshes spreadsheet cells.


refreshOptions

protected void refreshOptions()
Refreshes check box items in the Options menu.


refreshShowControls

protected void refreshShowControls()
Refreshes the "Show controls" menu option and toolbar button.


refreshMenuCommands

protected void refreshMenuCommands()
Enables or disables certain menu items depending on whether this cell has data.


refreshFormulaBar

protected void refreshFormulaBar()
Makes sure the formula bar is displaying up-to-date info.


refreshDisplayMenuItems

protected void refreshDisplayMenuItems()
Updates dimension checkbox menu items and toolbar buttons.


reconstructSpreadsheet

protected void reconstructSpreadsheet(java.lang.String[][] cellNames,
                                      int[] w,
                                      int[] h,
                                      RemoteServer rs)

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
Handles checkbox menu item changes (dimension checkboxes).

Specified by:
itemStateChanged in interface java.awt.event.ItemListener

adjustmentValueChanged

public void adjustmentValueChanged(java.awt.event.AdjustmentEvent e)
Handles scrollbar changes.

Specified by:
adjustmentValueChanged in interface java.awt.event.AdjustmentListener

displayChanged

public void displayChanged(DisplayEvent e)
Handles display changes.

Specified by:
displayChanged in interface DisplayListener

keyPressed

public void keyPressed(java.awt.event.KeyEvent e)
BIG HAMMER HACK.

Specified by:
keyPressed in interface java.awt.event.KeyListener

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
BIG HAMMER HACK.

Specified by:
keyReleased in interface java.awt.event.KeyListener

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
BIG HAMMER HACK.

Specified by:
keyTyped in interface java.awt.event.KeyListener

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Handles mouse presses.

Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Handles cell resizing.

Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseDragged

public void mouseDragged(java.awt.event.MouseEvent e)
Handles cell label resizing.

Specified by:
mouseDragged in interface java.awt.event.MouseMotionListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Unused MouseListener method.

Specified by:
mouseClicked in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Unused MouseListener method.

Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Unused MouseListener method.

Specified by:
mouseExited in interface java.awt.event.MouseListener

mouseMoved

public void mouseMoved(java.awt.event.MouseEvent e)
Unused MouseMotionListener method.

Specified by:
mouseMoved in interface java.awt.event.MouseMotionListener

ssCellChanged

public void ssCellChanged(SSCellChangeEvent e)
Handles changes in a cell's data.

Specified by:
ssCellChanged in interface SSCellListener

setSSCellClass

public static void setSSCellClass(java.lang.Class c)
Sets the SpreadSheet cell class to the given class (which must extend FancySSCell), used for creating SpreadSheet cells.


selectCell

public void selectCell(int x,
                       int y)
Selects the specified cell and updates screen info.


getOptions

protected boolean getOptions(int cols,
                             int rows,
                             java.lang.String server,
                             java.lang.String clone,
                             boolean slave)
Pops up an option selection dialog for choosing SpreadSheet options.


getToolbar

public javax.swing.JToolBar getToolbar()
Returns the JToolBar object for other programs to use (e.g., add buttons).


createCell

protected FancySSCell createCell(java.lang.String name,
                                 RemoteServer rs)
                          throws VisADException,
                                 java.rmi.RemoteException
Returns a new instance of a spreadsheet cell (which must extend FancySSCell), used when a spreadsheet row or column is added.

Throws:
VisADException
java.rmi.RemoteException

displayErrorMessage

protected void displayErrorMessage(java.lang.String msg,
                                   java.lang.Exception exc,
                                   java.lang.String title)
Displays an error in a message dialog.


displayErrorMessage

protected void displayErrorMessage(java.awt.Component parent,
                                   java.lang.String msg,
                                   java.lang.Exception exc,
                                   java.lang.String title)
Displays an error in a message dialog.


addToolbarButton

protected javax.swing.JButton addToolbarButton(java.lang.String file,
                                               java.lang.String tooltip,
                                               java.lang.String command,
                                               boolean enabled,
                                               javax.swing.JComponent parent)
Adds a button to a toolbar.


adjustTextField

public static void adjustTextField(javax.swing.JTextField field)
Deprecated. Use Util.adjustTextField(JTextField) instead.


centerWindow

public static void centerWindow(java.awt.Window window)
Deprecated. Use Util.centerWindow(Window) instead.