ucar.unidata.idv.ui
Class FormulaDialog

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 ucar.unidata.idv.ui.FormulaDialog
All Implemented Interfaces:
ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants

public class FormulaDialog
extends JFrame
implements ActionListener

This provides a formula editing dialog so the user can edit the end-user formulas.

End user formulas are described with a DerivedDataDescriptor (DDD) class. The FormulaDialog either creates a new DDD or is instantied with an existing one. The dialog uses the JythonManager to add and notify changes to the DDD. The JythonManager is responsible for updating any guis, writing out the formulas to disk, etc.

Version:
$Revision: 1.64 $
Author:
Jeff McWhirter
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static String CMD_ADD
          Action command for adding a formula
static String CMD_CHANGE
          Action command for changing formula
static String HELP_FORMULAS
          Help path
static ImageIcon ICON_DOWNDOWN
          Icon used to show/hide the advanced gui
static ImageIcon ICON_UPUP
          Icon used to show/hide the advanced gui
static String PREF_ADVANCEDOPEN
          Preference for having the advanced panel open
static String PREF_WINDOWSIZE
          Preference of the window size
 
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
FormulaDialog(IntegratedDataViewer idv, Component src)
          Create the dialog.
FormulaDialog(IntegratedDataViewer idv, DerivedDataDescriptor ddd, Component src, List categories)
          Create the dialog.
FormulaDialog(IntegratedDataViewer idv, DerivedDataDescriptor ddd, Component src, List categories, boolean newFormula)
           
 
Method Summary
 void actionPerformed(ActionEvent event)
          Handle the ADD, CHANGE, CANCEL and HELP commands
 void evaluate()
          Evaluate the formula
 void evaluateInThread()
          evalue the formula
 void insertText(String t)
          Insert text into the formula field
 void popupCatComp()
          Popup the output categories dialog
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, 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, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, 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, paint, 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, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

ICON_UPUP

public static ImageIcon ICON_UPUP
Icon used to show/hide the advanced gui


ICON_DOWNDOWN

public static ImageIcon ICON_DOWNDOWN
Icon used to show/hide the advanced gui


CMD_CHANGE

public static final String CMD_CHANGE
Action command for changing formula

See Also:
Constant Field Values

CMD_ADD

public static final String CMD_ADD
Action command for adding a formula

See Also:
Constant Field Values

HELP_FORMULAS

public static final String HELP_FORMULAS
Help path

See Also:
Constant Field Values

PREF_ADVANCEDOPEN

public static final String PREF_ADVANCEDOPEN
Preference for having the advanced panel open

See Also:
Constant Field Values

PREF_WINDOWSIZE

public static final String PREF_WINDOWSIZE
Preference of the window size

See Also:
Constant Field Values
Constructor Detail

FormulaDialog

public FormulaDialog(IntegratedDataViewer idv,
                     Component src)
Create the dialog.

Parameters:
idv - Reference to the IDV
src - The component (e.g., JButton) we popup nearby

FormulaDialog

public FormulaDialog(IntegratedDataViewer idv,
                     DerivedDataDescriptor ddd,
                     Component src,
                     List categories)
Create the dialog.

Parameters:
idv - Reference to the IDV
ddd - Represents the formula we are editing (or null if we are adding a new formula)
src - The component (e.g., JButton) we popup nearby
categories - List of display categories

FormulaDialog

public FormulaDialog(IntegratedDataViewer idv,
                     DerivedDataDescriptor ddd,
                     Component src,
                     List categories,
                     boolean newFormula)
Method Detail

insertText

public void insertText(String t)
Insert text into the formula field

Parameters:
t - text

popupCatComp

public void popupCatComp()
Popup the output categories dialog


evaluate

public void evaluate()
Evaluate the formula


evaluateInThread

public void evaluateInThread()
evalue the formula


actionPerformed

public void actionPerformed(ActionEvent event)
Handle the ADD, CHANGE, CANCEL and HELP commands

Specified by:
actionPerformed in interface ActionListener
Parameters:
event - The event