ucar.unidata.idv.control
Class WindTimeHeightControl

java.lang.Object
  extended by ucar.unidata.collab.SharableImpl
      extended by ucar.unidata.idv.control.DisplayControlBase
          extended by ucar.unidata.idv.control.DisplayControlImpl
              extended by ucar.unidata.idv.control.ProfilerControl
                  extended by ucar.unidata.idv.control.WindTimeHeightControl
All Implemented Interfaces:
ActionListener, ItemListener, PropertyChangeListener, EventListener, HyperlinkListener, Sharable, DataChangeListener, DisplayControl, Prototypable, ControlListener, DisplayListener
Direct Known Subclasses:
ProfilerTimeHeightControl, RadarVWPControl

public class WindTimeHeightControl
extends ProfilerControl

For wind time/height profiles. Uses FieldImpl with VisAD function (Time -> ((Z) -> (DIR, SPD)) where time values are VisAD Datetime objects, Z has RealType RealType.Altitude, DIR and SPD have RealType Display.Flow1Azimuth and Display.Flow1Radial, The data display is in its own window, not the main IDV view manager.

Version:
$ $
Author:
Unidata IDV development

Nested Class Summary
 
Nested classes/interfaces inherited from class ucar.unidata.idv.control.DisplayControlImpl
DisplayControlImpl.SideLegendLabel
 
Field Summary
protected  CompositeDataChoice compositeDataChoice
          data choice
protected  DataChoice currentDataChoice
          selected data choice
protected  Real currentVerticalInt
          vertical spacing
protected  FieldImpl fieldImpl
          data
protected  boolean haveNewStation
          flag for new station
protected  boolean isLatestOnLeft
          flag for X axis ordering
protected  boolean isSequence
          flag for sequence
protected  String labelName
          station name label
protected  float latitude
          position
protected  float longitude
          position
protected  JLabel plotLabel
          label for the plot
protected  XYDisplay profileDisplay
          profile display
protected  String stationName
          station name
protected  WindBarbDisplayable wbDisplayable
          displayable for data
protected  AxisScale xScale
          scale for X axis
 
Fields inherited from class ucar.unidata.idv.control.ProfilerControl
flowScaleValue, scaleFactor, verticalIntervalValue
 
Fields inherited from class ucar.unidata.idv.control.DisplayControlImpl
categories, colorScaleInfo, colorScales, contourInfo, contourInfoParams, controlContext, ctw, cw, dataSelection, defaultView, defaultViewManager, DISPLAY_LIST_NAME, displayListTable, displayMasters, displayUnit, helpUrl, initNoteText, instantiatedWithNoData, noteTextArea, noteWrapper, paramName, requestProperties, settingVisibility, sharables, showNoteText, skipSlider, srw, version, viewManagers
 
Fields inherited from class ucar.unidata.idv.control.DisplayControlBase
CMD_BARBSIZE, CMD_COLORS, CMD_COLORTABLE, CMD_INTERVAL, CMD_LEVEL, CMD_LINEWIDTH, CMD_POPUP, CMD_REMOVE, DEFAULT_POINT_SIZE, DEFAULT_SAMPLING_MODE, FIND_ALL, FIND_CATEGORY, FIND_CLASS, FIND_SPECIAL, FIND_THIS, FIND_WITHDATA, FIND_WITHTHISDATA, FIND_WITHTHISFIELD, FIND_WITHTHISVIEW, FLAG_COLOR, FLAG_COLORTABLE, FLAG_COLORUNIT, FLAG_CONTOUR, FLAG_DATACONTROL, FLAG_DISPLAYUNIT, FLAG_LINEWIDTH, FLAG_NONE, FLAG_SELECTRANGE, FLAG_SKIPFACTOR, FLAG_TIMERANGE, FLAG_ZPOSITION, GRID_INSETS, ICON_LOCK, ICON_REMOVE, ICON_UNLOCK, LABEL_NONE, log_, MACRO_DATASOURCENAME, MACRO_DISPLAYNAME, MACRO_DISPLAYUNIT, MACRO_LONGNAME, MACRO_POSITION, MACRO_SHORTNAME, MACRO_TIMESTAMP, MACRO_VALUE, NEAREST_NEIGHBOR, PREF_DISPLAYLIST_TEMPLATE, PREF_EXTRALABEL_TEMPLATE, PREF_LEGENDLABEL_TEMPLATE, PROP_REMOVED, SETTINGS_GROUP_DISPLAY, SETTINGS_GROUP_FLAGS, SHARE_CHOICES, SHARE_COLOR, SHARE_COLORSCALE, SHARE_COLORTABLE, SHARE_DISPLAYUNIT, SHARE_POSITION, SHARE_SELECTRANGE, SHARE_SKIPVALUE, SHARE_TRANSECT, SHARE_VISIBILITY, WEIGHTED_AVERAGE
 
Fields inherited from interface ucar.unidata.idv.DisplayControl
BOTTOM_LEGEND, DEFAULT_PROBEFORMAT, PREF_PREFIX, PREF_PROBEFORMAT, PREF_REMOVEONWINDOWCLOSE, PREF_SAMPLING_MODE, PREF_STANDALONE_REMOVEONCLOSE, PREF_STANDALONE_REMOVEONCLOSE_ASK, PROP_LEGENDICON, SIDE_LEGEND
 
Constructor Summary
WindTimeHeightControl()
          Cstr; does nothing.
 
Method Summary
protected  Container doMakeContents()
          Make the UI contents
protected  JComponent doMakeExtraComponent()
          Make any extra components for the UI
 DataChoice getCurrentDataChoice()
          Get the CurrentDataChoice property.
protected  Range getInitialRange()
          Get the initial range for the color table
 boolean getLatestOnLeft()
          Get whether latest data is displayed on the left or right side of the plot.
protected  RealTuple getRealTupleForPoint(float rlat, float rlon)
          Get the VisAD coordinates for the lat/lon point
 boolean init(DataChoice dataChoice)
          Construct the DisplayMaster, Displayable, frame, and controls.
protected  void initDisplayables()
          Initialize the displayables.
protected  boolean initStation(DataChoice dataChoice)
          Initialize a station from the data choice
protected  void resetDataVerticalInterval(Real verticalInt)
          Reset the vertical spacing interval
 void setCurrentDataChoice(DataChoice value)
          Set the CurrentDataChoice property.
 void setFlowScale(float value)
          set the length of the wind barb
protected  void setLabel()
          Fill the label.
 void setLatestOnLeft(boolean yesorno)
          Set whether latest data is displayed on the left or right side of the plot.
 void setVerticalInterval(float value)
          set the vertical separation of wind barbs
protected  void setXAxisValues()
          Set the XAxis values
protected  void setXAxisValues(Set timeSet)
          Set the XAxis values based on the timeSet
 
Methods inherited from class ucar.unidata.idv.control.ProfilerControl
actionPerformed, doMakeVerticalIntervalComponent, getControlWidgets, getFlowScale, getVerticalInterval, initDone
 
Methods inherited from class ucar.unidata.idv.control.DisplayControlImpl
activateDisplays, addAttributedDisplayable, addAttributedDisplayable, addAttributedDisplayable, addAttributeFlags, addCheckBoxSettings, addDataChoice, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayMaster, addDisplaySettings, addLabelMacros, addNewData, addNoteText, addPropertiesComponents, addPropertyChangeListener, addSharable, addToRangeMenu, addToRangeMenu, addToRangeMenu, addViewManager, appendDataChoices, applyAttributesToDisplayables, applyColor, applyColorScaleInfo, applyColorTable, applyColorUnit, applyContourInfo, applyDisplaySetting, applyDisplayUnit, applyLineWidth, applyPreferences, applyProperties, applyProperties, applyPropertyValues, applyRange, applySelectRange, applySkipFactor, applyTimeRange, applyZPosition, boundsClose, canBeDocked, canExportData, canSaveDataInCache, captureWindow, changeColorUnit, changeDisplayUnit, checkFlag, checkIfDataOk, checkImageSize, clearDataInstance, clearPrototype, clearViewManagers, close, colorUnitChanged, controlChanged, convertColorRange, convertRange, createDisplayListDisplayable, createIdvWindow, dataChanged, deactivateDisplays, debug, displayableToFront, displayChanged, displayControlFailed, displayUnitChanged, doApplyProperties, doMakeBottomLegendComponent, doMakeChangeColorMenu, doMakeChangeColorMenu, doMakeChangeParameterMenuItem, doMakeColorControl, doMakeColorControl, doMakeColorScales, doMakeDataInstance, doMakeMenuBar, doMakeMenuBarMenus, doMakeRemoveControl, doMakeSideLegendComponent, doMakeSkipFactorSlider, doMakeVisibilityControl, doMakeWidgetComponent, doMakeWindow, doMakeZPositionSlider, doRemove, exportDisplayedData, findDisplayInfo, findDisplays, findDisplays, firePropertyChangeEvent, firstFrameDone, formatForCursorReadout, getActive, getAnimation, getAnimation, getAnimation, getAnimation, getAnimationInfo, getAnimationWidget, getAttributeFlags, getCachedData, getCanDoRemoveAll, getCategories, getChangeParameterLabel, getCollapseLegend, getColor, getColorDimness, getColorScaleInfo, getColorTable, getColorTableForDisplayable, getColorTableToApply, getColorTableWidget, getColorUnit, getColorUnitName, getColorWidgetLabel, getComponentHolder, getContents, getContourInfo, getControlChangeSleepTime, getControlContext, getCursorReadout, getCursorReadoutInner, getDataChoice, getDataChoices, getDataInstance, getDataInstance, getDataProjection, getDataProjectionForMenu, getDataProjectionLabel, getDataSelection, getDataSources, getDataTimeRange, getDataTimeRange, getDataTimeSet, getDebugDetails, getDefaultColorScaleInfo, getDefaultDistanceUnit, getDefaultFastRendering, getDefaultSamplingMode, getDefaultSamplingModeValue, getDefaultView, getDefaultViewDescriptor, getDefaultViewManager, getDetailsContents, getDisplayAltitudeType, getDisplayCategory, getDisplayCenter, getDisplayConventions, getDisplayedData, getDisplayId, getDisplayInfos, getDisplayListColor, getDisplayListData, getDisplayListDisplayable, getDisplayListTemplate, getDisplayMaster, getDisplayName, getDisplayScale, getDisplayUnit, getDisplayUnit, getDisplayUnitName, getDisplayVisibility, getDoCursorReadout, getEditMenuItems, getEditMenuItems, getExpandedInTabs, getExtraLabelTemplate, getExtraLegendComponent, getExtraMenus, getFileMenuItems, getFileMenuItems, getGraphicsConfiguration, getHadDataChoices, getHaveInitialized, getHelpIds, getHelpMenuItems, getId, getIdv, getImage, getImage, getInitDataChoices, getInitialColorTable, getInitialZPosition, getLabel, getLastFileMenuItems, getLegendButtons, getLegendComponent, getLegendLabel, getLegendLabels, getLegendLabelTemplate, getLegendToolTip, getLineWidth, getLineWidthWidget, getLineWidthWidgetLabel, getLockVisibilityToggle, getLongParamName, getMacroNames, getMainPanel, getMainPanelSize, getMakeWindow, getMapDisplay, getMapViewManager, getMapViewProjection, getMenuLabel, getMyDataChoices, getNavigatedDisplay, getNoteText, getObjectStore, getOkToFireEvents, getOldColorTableOrInitialColorTable, getOriginalDataChoicesLabel, getOuterContents, getProperty, getProperty, getPropertyDisplayName, getRange, getRangeForColorTable, getRangeToApply, getRawDataUnit, getRequestProperties, getSamplingModeName, getSamplingModeValue, getSaveMenuItems, getSelectRange, getSelectRangeEnabled, getSelectRangeWidget, getSettingsPanel, getShortParamName, getShowInDisplayList, getShowInLegend, getShowInTabs, getShowNoteText, getSkipValue, getSkipWidgetLabel, getStore, getTemplateName, getTimeSet, getTitle, getTransientProperty, getUnitForColor, getUseFastRendering, getUseTimesInAnimation, getVersion, getVerticalValue, getViewContext, getViewer, getViewManager, getViewManager, getViewManager, getViewManagerClassNames, getViewManagers, getViewMenuItems, getViewMenuItems, getWasUnPersisted, getWindow, getWindowSize, getWindowVisible, getWindowX, getWindowY, getZPosition, getZPositionSliderLabel, guiExported, guiImported, handleDisplayChanged, handleWindowClosing, hasMapProjection, haveDataTimes, haveParameterDefaults, hide, hyperlinkUpdate, init, init, init, initAfterUnPersistence, initAfterUnPersistence, initAsPrototype, initAsTemplate, initBasic, initializeWithNewData, initWindow, isDisplay3D, isDisplayUnitAlsoColorUnit, isGuiShown, isInitDone, isInTransectView, isInViewManager, itemStateChanged, makeChangeColorMenuItems, makeLegendLabel, makeLockButton, makeRemoveButton, moveTo, notifyViewManagersOfChange, parseProperties, popup, popupDataDialog, popupDataDialog, popupDataDialog, processRequestProperties, projectionChanged, propertyChange, putTransientProperty, receiveShareData, redoGuiLayout, reloadDataSource, reloadDataSourceInThread, removeDataChoice, removeDisplayable, removeDisplayables, removeOnWindowClose, removePropertyChangeListener, resetData, resetDimness, resetViewManager, revertToDefaultColorTable, revertToDefaultColorTable, revertToDefaultRange, revertToDefaultRange, saveAsFavorite, saveAsParameterDefaults, saveAsPrototype, saveAsTemplate, saveDataChoiceInCache, saveImage, setAnimationInfo, setAnimationSet, setAttributeFlags, setCachedData, setCanDoRemoveAll, setCategories, setCollapseLegend, setColor, setColorBrighter, setColorDimmer, setColorDimness, setColorScaleInfo, setColorScaleVisible, setColorTable, setColorTable, setColorTableName, setColorUnit, setColorUnitName, setComponentHolder, setContents, setContourInfo, setContourInfoParams, setData, setData, setDataChoices, setDataInstance, setDataInstances, setDataSelection, setDataTimeRange, setDefaultSamplingMode, setDefaultView, setDisplayableVisibility, setDisplayableVisiblity, setDisplayActive, setDisplayCategory, setDisplayId, setDisplayInactive, setDisplayListColor, setDisplayListProperties, setDisplayListTemplate, setDisplayName, setDisplayUnit, setDisplayUnitName, setDisplayVisibility, setDoCursorReadout, setExpandedInTabs, setExtraLabelTemplate, setHadDataChoices, setHelpUrl, setId, setInitDataChoices, setInitialSettings, setLabelAsPreference, setLegendBackground, setLegendForeground, setLegendLabel, setLegendLabelTemplate, setLineWidth, setLockVisibilityToggle, setMainPanelDimensions, setMainPanelSize, setMakeWindow, setName, setNameFromUser, setNewColorUnit, setNewDisplayUnit, setNoteText, setOkToFireEvents, setOriginalDataChoicesLabel, setParamName, setPersistedVisadData, setProjectionInView, setProjectionInView, setProperty, setRange, setRange, setSelectRange, setSelectRangeEnabled, setSettingsDisplayUnit, setSharedColorScaleInfo, setShowInDisplayList, setShowInLegend, setShowInTabs, setShowNoteText, setSkipValue, setTemplateName, setTitle, setUnitForColor, setUseFastRendering, setUseTimesInAnimation, setVersion, setViewer, setViewManagerClassNames, setWindowSize, setWindowVisible, setWindowX, setWindowY, setZPosition, shouldAddAnimationListener, shouldAddControlListener, shouldAddDisplayListener, shouldApplyFastRendering, shouldBeDocked, shouldWindowBeVisible, show, showColorControlWidget, showColorDialog, showColorDialog, showColorScaleDialog, showColorScales, showColorSwatches, showContourPropertiesDialog, showDetails, showDisplaySettingsDialog, showHelp, showLegendMenu, showNormalCursor, showProperties, showTimeRangeDialog, showWaitCursor, timeChanged, toFront, toggleNoteTextArea, toggleWindow, toString, transectChanged, updateAnimation, updateDisplayList, updateLegendAndList, updateLegendLabel, updateLockButton, useZPosition, viewManagerChanged, viewManagerDestroyed, viewpointChanged, writeTestArchive, xxxsetDisplayActive, zSliderChanged
 
Methods inherited from class ucar.unidata.idv.control.DisplayControlBase
boxToEarth, boxToEarth, boxToEarth, boxToEarth, boxToEarth, boxToScreen, calculateRectangle, createStationTfo, earthToBox, earthToBox, earthToBoxTuple, earthToScreen, formatLevels, getScreenCenter, getSelectedStation, isLeftButtonDown, logException, logException, makeEarthLocation, screenToBox, screenToBox, screenToEarth, setStations, setStations, toBox, toEarth, userErrorMessage, userMessage
 
Methods inherited from class ucar.unidata.collab.SharableImpl
applySharableProperties, doShare, doShare, doShareExternal, doShareInternal, getSharablePropertiesComponent, getShareGroup, getSharing, getUniqueId, initSharable, removeSharable, setShareGroup, setSharing, setUniqueId, showSharableDialog
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ucar.unidata.collab.Sharable
getShareGroup, getSharing, getUniqueId
 

Field Detail

currentVerticalInt

protected Real currentVerticalInt
vertical spacing


profileDisplay

protected XYDisplay profileDisplay
profile display


fieldImpl

protected FieldImpl fieldImpl
data


wbDisplayable

protected WindBarbDisplayable wbDisplayable
displayable for data


plotLabel

protected JLabel plotLabel
label for the plot


isSequence

protected boolean isSequence
flag for sequence


stationName

protected String stationName
station name


labelName

protected String labelName
station name label


latitude

protected float latitude
position


longitude

protected float longitude
position


isLatestOnLeft

protected boolean isLatestOnLeft
flag for X axis ordering


haveNewStation

protected boolean haveNewStation
flag for new station


xScale

protected AxisScale xScale
scale for X axis


compositeDataChoice

protected CompositeDataChoice compositeDataChoice
data choice


currentDataChoice

protected DataChoice currentDataChoice
selected data choice

Constructor Detail

WindTimeHeightControl

public WindTimeHeightControl()
Cstr; does nothing. See init() for creation actions.

Method Detail

init

public boolean init(DataChoice dataChoice)
             throws VisADException,
                    RemoteException
Construct the DisplayMaster, Displayable, frame, and controls.

Overrides:
init in class DisplayControlImpl
Parameters:
dataChoice - the DataChoice to use
Returns:
boolean true if DataChoice is ok.
Throws:
RemoteException
VisADException

initStation

protected boolean initStation(DataChoice dataChoice)
                       throws VisADException,
                              RemoteException
Initialize a station from the data choice

Parameters:
dataChoice - choice describing data
Returns:
true if successful
Throws:
RemoteException - Java RMI error
VisADException - VisAD Error

initDisplayables

protected void initDisplayables()
                         throws VisADException,
                                RemoteException
Initialize the displayables.

Throws:
RemoteException - Java RMI error
VisADException - VisAD Error

doMakeContents

protected Container doMakeContents()
                            throws VisADException,
                                   RemoteException
Make the UI contents

Overrides:
doMakeContents in class DisplayControlImpl
Returns:
the UI
Throws:
RemoteException - Java RMI error
VisADException - VisAD Error

doMakeExtraComponent

protected JComponent doMakeExtraComponent()
Make any extra components for the UI

Overrides:
doMakeExtraComponent in class ProfilerControl
Returns:
extra component

resetDataVerticalInterval

protected void resetDataVerticalInterval(Real verticalInt)
                                  throws VisADException,
                                         RemoteException
Reset the vertical spacing interval

Parameters:
verticalInt - new interval
Throws:
RemoteException - Java RMI error
VisADException - VisAD Error

setFlowScale

public void setFlowScale(float value)
set the length of the wind barb

Overrides:
setFlowScale in class ProfilerControl
Parameters:
value - the length of the wind barb

setVerticalInterval

public void setVerticalInterval(float value)
set the vertical separation of wind barbs

Overrides:
setVerticalInterval in class ProfilerControl
Parameters:
value - the vertical separation of wind barbs

getInitialRange

protected Range getInitialRange()
                         throws RemoteException,
                                VisADException
Get the initial range for the color table

Overrides:
getInitialRange in class DisplayControlImpl
Returns:
initial range
Throws:
RemoteException - Java RMI error
VisADException - VisAD Error

getRealTupleForPoint

protected RealTuple getRealTupleForPoint(float rlat,
                                         float rlon)
                                  throws VisADException,
                                         RemoteException
Get the VisAD coordinates for the lat/lon point

Parameters:
rlat - latitude (degrees)
rlon - longitude (degrees)
Returns:
XY coordinates
Throws:
RemoteException
VisADException

setXAxisValues

protected void setXAxisValues()
                       throws VisADException
Set the XAxis values

Throws:
VisADException - couldn't set the values

setXAxisValues

protected void setXAxisValues(Set timeSet)
                       throws VisADException,
                              RemoteException
Set the XAxis values based on the timeSet

Parameters:
timeSet - set of times to use
Throws:
RemoteException - Java RMI error
VisADException - VisAD Error

setLatestOnLeft

public void setLatestOnLeft(boolean yesorno)
Set whether latest data is displayed on the left or right side of the plot. Used by XML persistence mainly.

Parameters:
yesorno - true if want latest is on left.

setLabel

protected void setLabel()
Fill the label.


getLatestOnLeft

public boolean getLatestOnLeft()
Get whether latest data is displayed on the left or right side of the plot.

Returns:
true if latest is on left.

setCurrentDataChoice

public void setCurrentDataChoice(DataChoice value)
Set the CurrentDataChoice property.

Parameters:
value - The new value for CurrentDataChoice

getCurrentDataChoice

public DataChoice getCurrentDataChoice()
Get the CurrentDataChoice property.

Returns:
The CurrentDataChoice