ucar.unidata.idv.chooser
Class TimesChooser

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by ucar.unidata.ui.ChooserPanel
                      extended by ucar.unidata.idv.chooser.IdvChooser
                          extended by ucar.unidata.idv.chooser.TimesChooser
All Implemented Interfaces:
ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, IdvConstants
Direct Known Subclasses:
AddeChooser, DqcRadarChooser, TDSPointObsChooser, TDSRadarChooser, TDSRadarChooser1

public class TimesChooser
extends IdvChooser

A chooser that allows for selecting times

Author:
Unidata IDV Development Team
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
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
 JCheckBox drivercbx
          the time driver checkbox
protected static String LABEL_TIMES
          Label for times
protected static String MSG_TIMES
          Message for selecting times
protected  TwoFacedObject selectedDriver
          Selected driver
protected  List timesComponents
          times components
protected  JComponent timesContainer
          times container
 
Fields inherited from class ucar.unidata.idv.chooser.IdvChooser
ATTR_ID, ATTR_SHOWDETAILS, dirHistoryCbx, ignoreDirHistory, NULL_PROPERTIES, NULL_STRING, PREF_ADDESERVERS, PREF_CATALOGLIST, PREF_DEFAULTDIR, PREF_IMAGEDESCLIST, PREF_POLLINGINFO, PREF_RADARDESCLIST, PREF_TDSPOINTOBSERVER, PREF_TDSRADARSERVER, PROP_CHOOSER_MAPS, PROP_CHOOSER_PROJECTION_BOUNDS, PROP_CHOOSERCLASSNAME, PROP_STATUS_BACKGROUND, PROP_STATUS_FOREGROUND, PROP_STATUS_TEMPLATE, stationMap
 
Fields inherited from class ucar.unidata.ui.ChooserPanel
cancelButton, CMD_LOAD, contents, GRID_INSETS, GRID_SPACING, GRID_SPACING_H, GRID_SPACING_V, haveData, helpPath, loadButton, MAP_COLOR, simpleMode, statusLabel
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface ucar.unidata.idv.IdvConstants
ARG_B64BUNDLE, ARG_B64ISL, ARG_BUNDLE, ARG_CATALOG, ARG_CHOOSER, ARG_CLEARDEFAULT, ARG_CODE, ARG_CONNECT, ARG_CURRENTTIME, ARG_DATA, ARG_DEBUG, ARG_DEFAULT, ARG_DISPLAY, ARG_DXML, ARG_FIXEDTIME, ARG_HELP, ARG_IMAGE, ARG_IMAGESERVER, ARG_INSTALLPLUGIN, ARG_ISLFILE, ARG_ISLINTERACTIVE, ARG_LISTRESOURCES, ARG_MAINCLASS, ARG_MOVIE, ARG_MSG_DEBUG, ARG_MSG_RECORD, ARG_NODEFAULT, ARG_NOERRORSINGUI, ARG_NOGUI, ARG_NOONEINSTANCE, ARG_NOPLUGINS, ARG_NOPREF, ARG_ONEINSTANCEPORT, ARG_PLUGIN, ARG_PORT, ARG_PRINTJNLP, ARG_PROPERTIES, ARG_SCRIPT, ARG_SERVER, ARG_SETFILES, ARG_SITEPATH, ARG_TEMPLATE, ARG_TEST, ARG_TESTEVAL, ARG_TRACE, ARG_TRACEONLY, ARG_USERPATH, DEFAULT_DATE_FORMAT, DEFAULT_DOCPATH, DEFAULT_MAX_PERMGENSIZE, DEFAULT_TIMEZONE, FILTER_CPT, FILTER_ISL, FILTER_JNLP, FILTER_XIDV, FILTER_XIDVZIDV, FILTER_XML, FILTER_ZIDV, ID_COMMANDSTORUN, ID_DATASOURCES, ID_DISPLAYCONTROLS, ID_IDV, ID_JYTHON, ID_MESSAGE, ID_MISCHASHTABLE, ID_NCIDV_VERSION, ID_VERSION, ID_VIEWMANAGERS, ID_WINDOWS, INITIAL_PROBE_EARTHLOCATION, NULL_DATA_SELECTION, PREF_ARCHIVEDIR, PREF_ARCHIVENAME, PREF_AUTODISPLAYS_ENABLE, PREF_AUTODISPLAYS_SHOWGUI, PREF_AUTOSELECTDATA, PREF_CACHESIZE, PREF_CONTROLSINTABS, PREF_DATAPREFIX, PREF_DATE_FORMAT, PREF_DISTANCEUNIT, PREF_DOCACHE, PREF_EMBEDDATACHOOSERINDASHBOARD, PREF_EMBEDFIELDSELECTORINDASHBOARD, PREF_EMBEDLEGENDINDASHBOARD, PREF_EMBEDQUICKLINKSINDASHBOARD, PREF_EVENT_KEYBOARDMAP, PREF_EVENT_MOUSEMAP, PREF_EVENT_WHEELMAP, PREF_FAST_RENDER, PREF_FIELD_CACHETHRESHOLD, PREF_FILEREADDIR, PREF_FILEWRITEDIR, PREF_GEOMETRY_BY_REF, PREF_HISTORY, PREF_IMAGE_BY_REF, PREF_LARGE_REMOTE_DATA_WARN, PREF_LASTVERSION, PREF_LATLON_FORMAT, PREF_LEGEND_SHOWICONS, PREF_LOCALE, PREF_LOOKANDFEEL, PREF_MAX_PERMGENSIZE, PREF_MAXIMAGESIZE, PREF_MEMORY, PREF_NPOT_IMAGE, PREF_OPEN_ASK, PREF_OPEN_MERGE, PREF_OPEN_REMOVE, PREF_PROJ_LIST, PREF_SAMPLINGMODE, PREF_SHOWCONTROLWINDOW, PREF_SHOWDASHBOARD, PREF_SHOWDECODEDIALOG, PREF_SHOWHIDDENFILES, PREF_SHOWQUITCONFIRM, PREF_SITEPATH, PREF_THREADS_DATA, PREF_THREADS_RENDER, PREF_TIMEZONE, PREF_VERTICALCS, PREF_VERTICALUNIT, PREF_WINDOW_SHOWTOOLBAR, PREF_ZIDV_ASK, PREF_ZIDV_DIRECTORY, PREF_ZIDV_SAVETOTMP, PROP_3DMODE, PROP_ABOUTTEXT, PROP_APPRESOURCEPATH, PROP_CHOOSERS, PROP_CHOOSERS_ALL, PROP_CONTROLDESCRIPTORS, PROP_CONTROLDESCRIPTORS_ALL, PROP_DATAHOLDERBOUNDS, PROP_DEFAULTLOCATIONS, PROP_DISPLAYLIST_GROUP, PROP_FIXFILELOCKUP, PROP_JNLPCODEBASE, PROP_JNLPTEMPLATE, PROP_JNLPTITLE, PROP_LOADINGXML, PROP_MAP_GLOBE_LEVEL, PROP_MAP_MAP_LEVEL, PROP_MINIMUMFRAMECYCLETIME, PROP_MONITORPORT, PROP_OLDCONTROLDESCRIPTORS, PROP_ONEINSTANCEPORT, PROP_PREFERENCES, PROP_PROJ_NAME, PROP_RESOURCEFILES, PROP_SHOWCLOCK, PROP_SHOWDASHBOARD, PROP_SHOWDATATREE, PROP_SHOWFORMULAS, PROP_SHOWSPLASH, PROP_SPLASHICON, PROP_UI_DESKTOP, PROP_USE_TIMEDRIVER, PROP_VERSIONFILE, PROP_WINDOW_SCREENSIZEOFFSET, PROP_WINDOW_SIZEHEIGHT, PROP_WINDOW_SIZEWIDTH, PROP_WINDOW_USESCREENSIZE, SUFFIX_BAT, SUFFIX_CPT, SUFFIX_ISL, SUFFIX_JNLP, SUFFIX_RBI, SUFFIX_SH, SUFFIX_XIDV, SUFFIX_XML, SUFFIX_ZIDV
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TimesChooser(IdvChooserManager mgr, Element root)
          Create me.
 
Method Summary
protected  void absoluteTimesSelectionChanged()
          Handle when the absolute times selection has changed
static void addTimeSelectionListener(JList list, Timeline timeline)
          Add a listener to the JList that pops up a menu on a right click that allos for the selection of different strides.
protected  boolean checkActiveViewWithDriver()
          Check the current active view window and make sure it does has a time driver, otherwise, reset the active view window
protected  void checkTimesLists()
          Check the times lists
protected  void clearTimesList()
          Clear all times in the times list.
protected  void disableTimeWidgets()
          Disable the GUI widgets
 void doLoad()
          Gets called by doLoad in a thread when the user presses the load button.
protected  void enableAbsoluteTimesList(boolean enabled)
          Enable the absolute times list
protected  void enableTimeWidgets()
          Enable the GUI widgets based on what has been selected.
protected  void enableWidgets()
          Enable the GUI widgets based on what has been selected.
protected  List getAbsoluteTimes()
          Get the list of all absolute times.
protected  int getAbsoluteTimeSelectMode()
          Get the selection mode for the absolute times panel.
protected  int getDefaultRelativeTimeIndex()
          Get the default selected index for the relative times list.
protected  int getDefaultTimeDriverIndex()
          Get the default time driver index
protected  boolean getDoAbsoluteTimes()
          Do we do absolute or relative times
protected  boolean getDoRelativeTimes()
          Did the user select relative times?
protected  boolean getDoTimeDrivers()
          See if we should be doing timedrivers
protected  JComponent getExtraAbsoluteTimeComponent()
          Get the extra absolute time component
protected  JComponent getExtraRelativeTimeComponent()
          Get the extra relative time component
protected  JComponent getExtraTimeComponent()
          Get the extra time widget.
protected  boolean getHaveAbsoluteTimesSelected()
          Any absolute times selected
protected  int getNumTimesToSelect()
          Get the number of times to select
 float getRelativeTimeIncrement()
          Get the increment between times for relative time requests.
 int[] getRelativeTimeIndices()
          Get the relative time indices
 JComponent getRelativeTimesChooser()
          Create (if needed) and return the list that shows times.
 ChooserList getRelativeTimesList()
          Create (if needed) and return the list that shows times.
protected  List getSelectedAbsoluteTimes()
          Get selected absolute times
 JPopupMenu getTimeDriverPopupMenu()
          Get the time driver popup menu
protected  List getTimeDrivers()
          Get the list of timedrivers
protected  Timeline getTimeLine()
          Get the timeline
 ChooserList getTimesList()
          Create (if needed) and return the list that shows times.
protected  boolean haveAnyTimes()
          Are there any times in the times list.
protected  boolean haveTimeSelected()
          Are there any times selected.
protected  List<DatedThing> makeDatedObjects(List items)
          Utility to wrap the given items as DatedThings
protected  JPanel makeTimesPanel()
          Create the absolute/relative times selector
protected  JPanel makeTimesPanel(boolean includeExtra)
          Make the times panel
protected  JPanel makeTimesPanel(boolean includeExtra, boolean useTimeLine)
          Make the times panel
protected  JPanel makeTimesPanel(boolean includeExtra, boolean useTimeLine, boolean includeTimeDriver)
          Make the times panel
 void popupTimeline()
          Show the timeline
 void readDrivers()
          Read the time drives
 void readTimes()
          Do what needs to be done to read in the times.
protected  void setAbsoluteTimes(List times)
          Set the absolute times list.
protected  void setDoAbsoluteTimes(boolean yesorno)
          Set whether we do absolute or relative times
protected  void setDoTimeDrivers(boolean value)
          Set the time driver property
protected  void setSelectedAbsoluteTime(int selectedIndex)
          Set the selected index
protected  void setSelectedAbsoluteTime(int from, int to)
          Set range of selected times
protected  void setSelectedAbsoluteTimes(int[] indices)
          Set the selected indices in the absolute times list
protected  void setSelectedAbsoluteTimes(List selectedTimes)
          Set the selected indices in the absolute times list
protected  void setSelectedTimes(DateTime[] times)
          Set the selected times in the list based on the input times.
protected  void setTimeDrivers(List drivers)
          Set the time drivers in the list
protected  void updateStatus()
          Update the status label
protected  List updateTimeDriver()
          Update the time driver list
 void updatetimeline(TwoFacedObject id)
          Update the timeline
 
Methods inherited from class ucar.unidata.idv.chooser.IdvChooser
clearSelectedStations, clearStations, closeChooser, createStationMap, decorateButtons, doCancel, doClose, errorMessage, getAttribute, getContents, getDataManager, getDataSource, getDataSourceId, getDataSourceId, getDataSourceProperties, getDataSourcesComponent, getDataSourcesComponent, getDataSourcesComponent, getDataSourcesComponent, getDefaultButtons, getDefaultDisplayType, getDefaultMap, getDefaultMaps, getDefaultProjection, getDefaultProjectionRect, getHaveStations, getId, getIdv, getMenuTitle, getPreferenceList, getPreferenceList, getPreferenceList, getPreferenceList, getProperty, getProperty, getPropList, getSelectedStation, getSelectedStations, getShowInMenu, getStationMap, getStatusLabel, getStatusLabelBackground, getStatusLabelForeground, getTitle, getXmlNode, haveStationSelected, init, initChooserPanel, initStationMap, isReloadable, logException, makeDataSource, makeDataSource, makeTimeMenus, newSelectedStations, resetDataSourceId, setDataSource, setDataSourceListener, shouldDoUpdateOnFirstDisplay, showNormalCursor, showWaitCursor, startTask, stopTask, stopTaskAndIsOk, taskOk, userMessage, usingStations
 
Methods inherited from class ucar.unidata.ui.ChooserPanel
actionPerformed, addPropertyChangeListener, canDoUpdate, clearWaitCursor, doHelp, doLoadInThread, doMakeContents, doUpdate, firePropertyChange, getButtonLabels, getDefaultButtons, getHaveData, getLoadCommandName, getLoadToolTip, getMessageTemplate, getSimpleMode, getStatusComponent, getUpdateToolTip, padLabel, registerStatusComp, revalidate, setHaveData, setHelpPath, setMessageTemplate, setStatus, setStatus, showNormalCursor, showWaitCursor
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MSG_TIMES

protected static final String MSG_TIMES
Message for selecting times

See Also:
Constant Field Values

LABEL_TIMES

protected static final String LABEL_TIMES
Label for times

See Also:
Constant Field Values

selectedDriver

protected TwoFacedObject selectedDriver
Selected driver


timesContainer

protected JComponent timesContainer
times container


timesComponents

protected List timesComponents
times components


drivercbx

public JCheckBox drivercbx
the time driver checkbox

Constructor Detail

TimesChooser

public TimesChooser(IdvChooserManager mgr,
                    Element root)
Create me.

Parameters:
mgr - The chooser manager
root - The chooser.xml node
Method Detail

haveAnyTimes

protected boolean haveAnyTimes()
Are there any times in the times list.

Returns:
Do we have any times at all.

getTimesList

public ChooserList getTimesList()
Create (if needed) and return the list that shows times.

Returns:
The times list.

getTimeDriverPopupMenu

public JPopupMenu getTimeDriverPopupMenu()
Get the time driver popup menu

Returns:
the menu

getAbsoluteTimeSelectMode

protected int getAbsoluteTimeSelectMode()
Get the selection mode for the absolute times panel. Subclasses can override.

Returns:
select mode

getRelativeTimesList

public ChooserList getRelativeTimesList()
Create (if needed) and return the list that shows times.

Returns:
The times list.

clearTimesList

protected void clearTimesList()
Clear all times in the times list.


readTimes

public void readTimes()
Do what needs to be done to read in the times. Subclasses need to implement this. This is public by implementation only


readDrivers

public void readDrivers()
Read the time drives


updateTimeDriver

protected List updateTimeDriver()
Update the time driver list

Returns:
the list of time drivers

makeTimesPanel

protected JPanel makeTimesPanel()
Create the absolute/relative times selector

Returns:
the image list panel

absoluteTimesSelectionChanged

protected void absoluteTimesSelectionChanged()
Handle when the absolute times selection has changed


makeTimesPanel

protected JPanel makeTimesPanel(boolean includeExtra)
Make the times panel

Parameters:
includeExtra - true if including extra time component
Returns:
the time selection panel

updateStatus

protected void updateStatus()
Update the status label

Overrides:
updateStatus in class IdvChooser

makeTimesPanel

protected JPanel makeTimesPanel(boolean includeExtra,
                                boolean useTimeLine)
Make the times panel

Parameters:
includeExtra - true to include the extra stuff
useTimeLine - true to include the time line
Returns:
the times panel

makeTimesPanel

protected JPanel makeTimesPanel(boolean includeExtra,
                                boolean useTimeLine,
                                boolean includeTimeDriver)
Make the times panel

Parameters:
includeExtra - true to include the extra stuff
useTimeLine - true to include the time line
includeTimeDriver - include the time driver component
Returns:
the times panel

checkActiveViewWithDriver

protected boolean checkActiveViewWithDriver()
Check the current active view window and make sure it does has a time driver, otherwise, reset the active view window

Returns:
true if active view has a time driver

doLoad

public void doLoad()
Gets called by doLoad in a thread when the user presses the load button. Should be overwritten by a derived class.

Overrides:
doLoad in class ChooserPanel

enableAbsoluteTimesList

protected void enableAbsoluteTimesList(boolean enabled)
Enable the absolute times list

Parameters:
enabled - enabled

setAbsoluteTimes

protected void setAbsoluteTimes(List times)
Set the absolute times list. The times list can contain any of the object types that makeDatedObjects knows how to handle, i.e., Date, visad.DateTime, DatedThing, AddeImageDescriptor, etc.

Parameters:
times - List of thinggs to put into absolute times list

setTimeDrivers

protected void setTimeDrivers(List drivers)
Set the time drivers in the list

Parameters:
drivers - the List of time drivers

updatetimeline

public void updatetimeline(TwoFacedObject id)
Update the timeline

Parameters:
id - the timeline object id

getNumTimesToSelect

protected int getNumTimesToSelect()
Get the number of times to select

Returns:
the number

getHaveAbsoluteTimesSelected

protected boolean getHaveAbsoluteTimesSelected()
Any absolute times selected

Returns:
Any absolute times selected

getTimeLine

protected Timeline getTimeLine()
Get the timeline

Returns:
the timeline

getAbsoluteTimes

protected List getAbsoluteTimes()
Get the list of all absolute times. This returns the list of objects that was passed in from setAbsoluteTimes. What is really held by the timesList and the timeLines is a list of DatedObjects that holds the objects that are passed in.

Returns:
all absolute times

getTimeDrivers

protected List getTimeDrivers()
Get the list of timedrivers

Returns:
the list

getSelectedAbsoluteTimes

protected List getSelectedAbsoluteTimes()
Get selected absolute times

Returns:
selected absolute times

setSelectedAbsoluteTimes

protected void setSelectedAbsoluteTimes(List selectedTimes)
Set the selected indices in the absolute times list

Parameters:
selectedTimes - List of selected times

setSelectedAbsoluteTimes

protected void setSelectedAbsoluteTimes(int[] indices)
Set the selected indices in the absolute times list

Parameters:
indices - selected indices

setSelectedAbsoluteTime

protected void setSelectedAbsoluteTime(int selectedIndex)
Set the selected index

Parameters:
selectedIndex - selected index

setSelectedAbsoluteTime

protected void setSelectedAbsoluteTime(int from,
                                       int to)
Set range of selected times

Parameters:
from - from index
to - to index

makeDatedObjects

protected List<DatedThing> makeDatedObjects(List items)
Utility to wrap the given items as DatedThings

Parameters:
items - List of items. Might be a DatedThing, an AddeImageDescriptor or a DateTime
Returns:
List of DatedThings

popupTimeline

public void popupTimeline()
                   throws Exception
Show the timeline

Throws:
Exception - On badness

getExtraAbsoluteTimeComponent

protected JComponent getExtraAbsoluteTimeComponent()
Get the extra absolute time component

Returns:
the component

getExtraRelativeTimeComponent

protected JComponent getExtraRelativeTimeComponent()
Get the extra relative time component

Returns:
the component

getExtraTimeComponent

protected JComponent getExtraTimeComponent()
Get the extra time widget. Subclasses can add their own time widgets.

Returns:
a widget that can be selected for more options

setSelectedTimes

protected void setSelectedTimes(DateTime[] times)
Set the selected times in the list based on the input times. This is a NOOP - subclasses should implement

Parameters:
times - times to use for sampling

getDefaultRelativeTimeIndex

protected int getDefaultRelativeTimeIndex()
Get the default selected index for the relative times list.

Returns:
default index

getDefaultTimeDriverIndex

protected int getDefaultTimeDriverIndex()
Get the default time driver index

Returns:
the index

haveTimeSelected

protected boolean haveTimeSelected()
Are there any times selected.

Returns:
Any times selected.

getRelativeTimeIncrement

public float getRelativeTimeIncrement()
Get the increment between times for relative time requests. Subclasse need to override this.

Returns:
time increment (hours)

getRelativeTimesChooser

public JComponent getRelativeTimesChooser()
Create (if needed) and return the list that shows times.

Returns:
The times list.

getRelativeTimeIndices

public int[] getRelativeTimeIndices()
Get the relative time indices

Returns:
an array of indices

getDoAbsoluteTimes

protected boolean getDoAbsoluteTimes()
Do we do absolute or relative times

Returns:
Do we do absolute times

getDoTimeDrivers

protected boolean getDoTimeDrivers()
See if we should be doing timedrivers

Returns:
true if doing time driving

setDoTimeDrivers

protected void setDoTimeDrivers(boolean value)
Set the time driver property

Parameters:
value - the property

setDoAbsoluteTimes

protected void setDoAbsoluteTimes(boolean yesorno)
Set whether we do absolute or relative times

Parameters:
yesorno - true to do absolute times

getDoRelativeTimes

protected boolean getDoRelativeTimes()
Did the user select relative times?

Returns:
Should we load relative times

enableWidgets

protected void enableWidgets()
Enable the GUI widgets based on what has been selected.


enableTimeWidgets

protected void enableTimeWidgets()
Enable the GUI widgets based on what has been selected.


disableTimeWidgets

protected void disableTimeWidgets()
Disable the GUI widgets


checkTimesLists

protected void checkTimesLists()
Check the times lists


addTimeSelectionListener

public static void addTimeSelectionListener(JList list,
                                            Timeline timeline)
Add a listener to the JList that pops up a menu on a right click that allos for the selection of different strides.

Parameters:
list - list to popup on
timeline - the timeline