ucar.unidata.idv.ui
Class DataSelectionWidget

java.lang.Object
  extended by ucar.unidata.idv.ui.DataSelectionWidget

public class DataSelectionWidget
extends Object

This class is a sortof polymorphic dialog/window that manages selection of times for a datasource, displays/times for a datachoice and (sometime) a window showing a DataTree, list of displays and times.

Version:
$Revision: 1.98 $
Author:
Jeff McWhirter

Field Summary
static String USE_DEFAULTTIMES
          use default times identifier
static String USE_DRIVERTIMES
          use time driver times
static String USE_SELECTEDTIMES
          use selected times identifier
 
Constructor Summary
DataSelectionWidget(IntegratedDataViewer idv)
          Constructor for when we are a part of the DataSelector
DataSelectionWidget(IntegratedDataViewer idv, boolean doSettings)
          Constructor for when we are a part of the DataSelector
DataSelectionWidget(IntegratedDataViewer idv, boolean doSettings, boolean doUseDisplay)
          Constructor for when we are a part of the DataSelector
 
Method Summary
 DataSelection createDataSelection(boolean addLevels)
          Create the data selection from everything selected by the user
 void dataSourceChanged(DataSource dataSource)
          Called by the DataSelector to handle when the data source has changed
 List getAllDateTimes()
          Get the list of all dttms
 JComponent getContents()
          get the gui contents
 boolean getDefaultLevelToFirst()
          Get the DefaultLevelToFirst property.
 boolean getDefaultMemberToAll()
          Get the DefaultMemberToAll property.
 GeoSelection getGeoSelection()
          Any geo selection
 List getSelectedDateTimes()
          Return a list of Integer indices of the selected times.
protected  Object[] getSelectedLevelRange()
          Get the min/max level range
 List getSelectedMembers()
          Return a list of Integer indices of the selected members.
protected  List getSelectedSettings()
          Get list of selected DisplaySettings
 String getTimeOption()
          Get the time option type
 JComponent getTimesList()
          Create the GUI for the times list.
 JComponent getTimesList(String cbxLabel)
          Create the GUI for the times list.
 boolean getUseAllTimes()
          Did user choose "Use all times"
 boolean okToCreateTheDisplay(boolean addLevels)
          Check if everything is OK so we can create a display.
 void setDefaultLevelToFirst(boolean value)
          Set the DefaultLevelToFirst property.
 void setDefaultMemberToAll(boolean value)
          Get the DefaultMemberToAll property.
 void setLevelsFromDisplay(List levels)
          Set levels from the display
 void setTimeOptions(Object selectedObject)
          Set the time option from the selected object
 void setTimes(List all, List selected)
          Select the times in the times list
 void setUseAllTimes(boolean useAllTimes)
          Set the use all times flag
protected  void updateSelectionTab(DataChoice dataChoice)
          Update the tabbed pane
protected  boolean updateSelectionTab(DataSource dataSource, DataChoice dc)
          Update selection panel for data source
protected  void updateSettings(ControlDescriptor cd)
          Update the display settings
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

USE_DEFAULTTIMES

public static final String USE_DEFAULTTIMES
use default times identifier

See Also:
Constant Field Values

USE_SELECTEDTIMES

public static final String USE_SELECTEDTIMES
use selected times identifier

See Also:
Constant Field Values

USE_DRIVERTIMES

public static final String USE_DRIVERTIMES
use time driver times

See Also:
Constant Field Values
Constructor Detail

DataSelectionWidget

public DataSelectionWidget(IntegratedDataViewer idv)
Constructor for when we are a part of the DataSelector

Parameters:
idv - Reference to the IDV

DataSelectionWidget

public DataSelectionWidget(IntegratedDataViewer idv,
                           boolean doSettings)
Constructor for when we are a part of the DataSelector

Parameters:
idv - Reference to the IDV
doSettings - include the display settings in the tab

DataSelectionWidget

public DataSelectionWidget(IntegratedDataViewer idv,
                           boolean doSettings,
                           boolean doUseDisplay)
Constructor for when we are a part of the DataSelector

Parameters:
idv - Reference to the IDV
doSettings - include the display settings in the tab
doUseDisplay - true to use display times
Method Detail

getContents

public JComponent getContents()
get the gui contents

Returns:
gui contents

dataSourceChanged

public void dataSourceChanged(DataSource dataSource)
Called by the DataSelector to handle when the data source has changed

Parameters:
dataSource - The data source that changed

getGeoSelection

public GeoSelection getGeoSelection()
Any geo selection

Returns:
the geoselection or null if none

getSelectedLevelRange

protected Object[] getSelectedLevelRange()
Get the min/max level range

Returns:
min max levels

updateSettings

protected void updateSettings(ControlDescriptor cd)
Update the display settings

Parameters:
cd - new control descriptor

updateSelectionTab

protected void updateSelectionTab(DataChoice dataChoice)
Update the tabbed pane

Parameters:
dataChoice - new data choice

updateSelectionTab

protected boolean updateSelectionTab(DataSource dataSource,
                                     DataChoice dc)
Update selection panel for data source

Parameters:
dataSource - data source
dc - The data choice
Returns:
true if successful

createDataSelection

public DataSelection createDataSelection(boolean addLevels)
Create the data selection from everything selected by the user

Parameters:
addLevels - include the levels
Returns:
new data selection

okToCreateTheDisplay

public boolean okToCreateTheDisplay(boolean addLevels)
Check if everything is OK so we can create a display. This just checks if the current data choice requires a volume and that the user has selected Either "All Levels" or a range of levels

Parameters:
addLevels - Does the display need levels
Returns:
Is it ok to create the display

getSelectedSettings

protected List getSelectedSettings()
Get list of selected DisplaySettings

Returns:
list of selected DisplaySettings

getAllDateTimes

public List getAllDateTimes()
Get the list of all dttms

Returns:
List of times

getSelectedDateTimes

public List getSelectedDateTimes()
Return a list of Integer indices of the selected times.

Returns:
List of indices.

getSelectedMembers

public List getSelectedMembers()
Return a list of Integer indices of the selected members.

Returns:
List of indices.

getUseAllTimes

public boolean getUseAllTimes()
Did user choose "Use all times"

Returns:
Is the allTimes checkbox selected or true if checkbox not created

setTimes

public void setTimes(List all,
                     List selected)
Select the times in the times list

Parameters:
all - All times
selected - The selected times

setUseAllTimes

public void setUseAllTimes(boolean useAllTimes)
Set the use all times flag

Parameters:
useAllTimes - true to use all times

getTimesList

public JComponent getTimesList()
Create the GUI for the times list. (i.e., all times button and the times JList)

Returns:
The GUI for times

getTimesList

public JComponent getTimesList(String cbxLabel)
Create the GUI for the times list. (i.e., all times button and the times JList)

Parameters:
cbxLabel - Label for times checkbox
Returns:
The GUI for times

setTimeOptions

public void setTimeOptions(Object selectedObject)
Set the time option from the selected object

Parameters:
selectedObject - the selected time mode

getTimeOption

public String getTimeOption()
Get the time option type

Returns:
time s

setLevelsFromDisplay

public void setLevelsFromDisplay(List levels)
Set levels from the display

Parameters:
levels - the list of levels

setDefaultLevelToFirst

public void setDefaultLevelToFirst(boolean value)
Set the DefaultLevelToFirst property.

Parameters:
value - The new value for DefaultLevelToFirst

getDefaultLevelToFirst

public boolean getDefaultLevelToFirst()
Get the DefaultLevelToFirst property.

Returns:
The DefaultLevelToFirst

setDefaultMemberToAll

public void setDefaultMemberToAll(boolean value)
Get the DefaultMemberToAll property. The DefaultMemberToAll

Parameters:
value - tru to set the default member to all

getDefaultMemberToAll

public boolean getDefaultMemberToAll()
Get the DefaultMemberToAll property.

Returns:
The DefaultMemberToAll