edu.wisc.ssec.mcidasv.servermanager
Class LocalEntryEditor

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by edu.wisc.ssec.mcidasv.servermanager.LocalEntryEditor
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants

public class LocalEntryEditor
extends JDialog

A dialog that allows the user to define or modify LocalAddeEntrys.

See Also:
Serialized Form

Nested Class Summary
private  class LocalEntryEditor.TooltipComboBoxRenderer
          Dave's nice combobox tooltip renderer!
 
Nested classes/interfaces inherited from class javax.swing.JDialog
JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityType
 
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.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  LocalAddeEntry currentEntry
           
private  JTextField datasetField
           
private  String datasetText
           
private  JTextField directoryField
           
private  AddeEntry.EditorAction editorAction
          The last dialog action performed by the user.
private  EntryStore entryStore
          Reference back to the server manager.
private  JComboBox formatComboBox
           
private static DefaultComboBoxModel formats
          The valid local ADDE formats.
private static org.slf4j.Logger logger
           
private  TabbedAddeManager managerController
          The server manager GUI.
private static String PROP_LAST_PATH
          Property ID for the last directory selected.
private  String selectedPath
          Either the path to an ADDE directory as selected by the user or an empty String.
private  JTextField typeField
           
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
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, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
LocalEntryEditor(EntryStore entryStore, String group)
          Creates a modal local ADDE data editor.
LocalEntryEditor(Frame parent, boolean modal, TabbedAddeManager manager, EntryStore store)
           
LocalEntryEditor(Frame parent, boolean modal, TabbedAddeManager manager, EntryStore store, LocalAddeEntry entry)
           
 
Method Summary
private  void addEntry()
          Creates new LocalAddeEntrys based upon the contents of the dialog and adds "them" to the managed servers.
private  void browseButtonActionPerformed(ActionEvent evt)
          Triggered when the "file picker" button is clicked.
private  void cancelButtonActionPerformed(ActionEvent evt)
          Calls Window.dispose() if the dialog is visible.
private  void editButtonActionPerformed(ActionEvent evt)
           
private  void editEntry()
           
private  String getDataDirectory(String startDir)
          Ask the user for a data directory from which to create a MASK=
 AddeEntry.EditorAction getEditorAction()
           
private  String getLastPath()
          Returns the value of the PROP_LAST_PATH McIDAS-V property.
private  void initComponents(LocalAddeEntry initEntry)
          Creates the editor dialog and initializes the various GUI components.
private  Set<LocalAddeEntry> pollWidgets(boolean newEntry)
          Poll the various UI components and attempt to construct valid ADDE entries based upon the information provided by the user.
private  void saveButtonActionPerformed(ActionEvent evt)
          Triggered when the "add" button is clicked.
private  void setEditorAction(AddeEntry.EditorAction editorAction)
           
 void setLastPath(String path)
          Sets the value of the PROP_LAST_PATH McIDAS-V property to be the contents of path.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, show, toBack
 
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, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, remove, 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
 

Field Detail

logger

private static final org.slf4j.Logger logger

PROP_LAST_PATH

private static final String PROP_LAST_PATH
Property ID for the last directory selected.

See Also:
Constant Field Values

formats

private static final DefaultComboBoxModel formats
The valid local ADDE formats.


managerController

private final TabbedAddeManager managerController
The server manager GUI. Be aware that this can be null.


entryStore

private final EntryStore entryStore
Reference back to the server manager.


currentEntry

private final LocalAddeEntry currentEntry

selectedPath

private String selectedPath
Either the path to an ADDE directory as selected by the user or an empty String.


editorAction

private AddeEntry.EditorAction editorAction
The last dialog action performed by the user.


datasetText

private final String datasetText

datasetField

private JTextField datasetField

directoryField

private JTextField directoryField

formatComboBox

private JComboBox formatComboBox

typeField

private JTextField typeField
Constructor Detail

LocalEntryEditor

public LocalEntryEditor(EntryStore entryStore,
                        String group)
Creates a modal local ADDE data editor. It's pretty useful when adding from a chooser.

Parameters:
entryStore - The server manager. Should not be null.
group - Name of the group/dataset containing the desired data. Be aware that null is okay.

LocalEntryEditor

public LocalEntryEditor(Frame parent,
                        boolean modal,
                        TabbedAddeManager manager,
                        EntryStore store)

LocalEntryEditor

public LocalEntryEditor(Frame parent,
                        boolean modal,
                        TabbedAddeManager manager,
                        EntryStore store,
                        LocalAddeEntry entry)
Method Detail

initComponents

private void initComponents(LocalAddeEntry initEntry)
Creates the editor dialog and initializes the various GUI components.

Parameters:
initEntry - Use LocalAddeEntry.INVALID_ENTRY to specify that the user is creating a new entry; otherwise provide the actual entry that the user is editing.

saveButtonActionPerformed

private void saveButtonActionPerformed(ActionEvent evt)
Triggered when the "add" button is clicked.


editButtonActionPerformed

private void editButtonActionPerformed(ActionEvent evt)

browseButtonActionPerformed

private void browseButtonActionPerformed(ActionEvent evt)
Triggered when the "file picker" button is clicked.


getLastPath

private String getLastPath()
Returns the value of the PROP_LAST_PATH McIDAS-V property.

Returns:
Either the String representation of the last path selected by the user, or an empty String.

setLastPath

public void setLastPath(String path)
Sets the value of the PROP_LAST_PATH McIDAS-V property to be the contents of path.

Parameters:
path - New value for PROP_LAST_PATH. null will be converted to an empty String.

cancelButtonActionPerformed

private void cancelButtonActionPerformed(ActionEvent evt)
Calls Window.dispose() if the dialog is visible.


pollWidgets

private Set<LocalAddeEntry> pollWidgets(boolean newEntry)
Poll the various UI components and attempt to construct valid ADDE entries based upon the information provided by the user.

Parameters:
newEntry - a boolean, true if we are adding a new entry
Returns:
Set of entries that represent the user's input, or an empty Set if the input was somehow invalid.

addEntry

private void addEntry()
Creates new LocalAddeEntrys based upon the contents of the dialog and adds "them" to the managed servers. If the dialog is displayed, we call Window.dispose() and attempt to refresh the server manager GUI if it is available.


editEntry

private void editEntry()

getDataDirectory

private String getDataDirectory(String startDir)
Ask the user for a data directory from which to create a MASK=

Parameters:
startDir - If this is a valid path, then the file picker will (presumably) use that as its initial location. Should not be null?
Returns:
Either a path to a data directory or startDir.

getEditorAction

public AddeEntry.EditorAction getEditorAction()
See Also:
editorAction

setEditorAction

private void setEditorAction(AddeEntry.EditorAction editorAction)
See Also:
editorAction