ucar.unidata.idv.control
Class TrackControl

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.GridDisplayControl
                  extended by ucar.unidata.idv.control.TrackControl
All Implemented Interfaces:
ActionListener, ItemListener, PropertyChangeListener, EventListener, HyperlinkListener, Sharable, DataChangeListener, DisplayControl, Prototypable, ControlListener, DisplayListener

public class TrackControl
extends GridDisplayControl

A MetApps Display Control with Displayable and controls for displaying a track (balloon sounding or aircraft track)

Version:
$Revision: 1.69 $
Author:
Unidata Development Team

Nested Class Summary
 
Nested classes/interfaces inherited from class ucar.unidata.idv.control.DisplayControlImpl
DisplayControlImpl.SideLegendLabel
 
Field Summary
 
Fields inherited from class ucar.unidata.idv.control.GridDisplayControl
CMD_CONTOURDIALOG, CMD_SETLEVELS, gridDataInstance, INITIAL_PROBE_EARTHLOCATION, log_, settingLevel
 
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, 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
TrackControl()
          Create a new Track Control; set the attribute flags
 
Method Summary
protected  void addDisplaySettings(DisplaySettingsDialog dsd)
          Add display settings paricular to this control
 void applyTimeRange()
          Handle some sort of time change.
protected  Container doMakeContents()
          Make the gui
 void editLayoutModel()
          Popup the station model editor
 boolean getAskedUserToDeclutterTime()
          Get the AskedUserToDeclutterTime property.
protected  int getColorRangeIndex()
          Returns the index to use in the GridDataInstance array of ranges for color ranges.
 String getColorWidgetLabel()
          Return the label that is to be used for the color widget This allows derived classes to override this and provide their own name,
 void getControlWidgets(List controlWidgets)
          Add control widgets specific to this control to the list
protected  Set getDataTimeSet()
          Collect the time animation set from the displayables.
 LatLonPoint getDisplayCenter()
          Get the display center
 int getLineWidth()
          Get the line width property.
 StationModel getMarkerLayout()
          Get the current layout model view.
 float getMarkerScale()
          Get the scale the user can enter
 boolean getMarkerVisible()
          Get whether the marker is visible
protected  Hashtable getRequestProperties()
          Override the base class method that creates request properties and add in the appropriate 2d/3d request parameter.
 boolean getTimeDeclutterEnabled()
          Get the TimeDeclutterEnabled property.
 double getTimeDeclutterMinutes()
          Get the TimeDeclutterMinutes property.
 String getTrackType()
          Get the track type for this control.
protected  int getTrackWidth()
          Get the track width property.
 boolean getUseTrackTimes()
          Deprecated.  
protected  boolean haveMultipleFields()
          Return whether the Data held by this display control contains multiple fields (e.g., for the isosurface colored by another parameter
 boolean init(DataChoice dataChoice)
          Call to help make this kind of Display Control; also calls code to made the Displayable (empty of data thus far).
 void initAfterUnPersistence(ControlContext vc, Hashtable properties, List preSelectedDataChoices)
          Called by the IntegratedDataViewer to initialize after this control has been unpersisted
protected  JPanel makeLayoutModelWidget()
          Make the gui widget for setting the layout model
 void receiveShareData(Sharable from, Object dataId, Object[] data)
          Method called by other classes that share the selector.
 void setAskedUserToDeclutterTime(boolean value)
          Set the AskedUserToDeclutterTime property.
protected  boolean setData(DataChoice choice)
          Set the data in this control
protected  void setDataInstance(DataInstance dataInstance)
          Set the dataInstance and its paramName in the superclass member data.
 void setDataTimeRange(DataTimeRange range)
          Set the DataTimeRange
 void setLineWidth(int width)
          Deprecated. use #setLineWidth(int)
 void setMarkerLayout(StationModel model)
          Set the current station model view.
 void setMarkerScale(float f)
          Set the scale the user can enter
 void setMarkerSymbol(String value)
          Deprecated. now use #setMarkerLayout(StationModel)
 void setMarkerText(String value)
          Deprecated. now use #setMarkerLayout(StationModel)
 void setMarkerVisible(boolean value)
          Set the marker visible
 void setTimeDeclutterEnabled(boolean value)
          Set the TimeDeclutterEnabled property.
 void setTimeDeclutterMinutes(double value)
          Set the TimeDeclutterMinutes property.
 void setTimeSubsetEnabled(boolean value)
          Deprecated.  
 void setTimeSubsetMinutes(double value)
          Deprecated.  
 void setTrackType(String type)
          Set the track type for this control.
 void setTrackWidth(int width)
          Deprecated. use #setLineWidth(int)
 void setUseTrackTime(boolean value)
          Deprecated.  
 void setUseTrackTimes(boolean value)
          Deprecated.  
protected  void timeChanged(Real time)
          Respond to a timeChange event
protected  void timeDeclutterChanged()
          Handle when the time declutering state has changed
 
Methods inherited from class ucar.unidata.idv.control.GridDisplayControl
actionPerformed, addTopographyMap, convertColorRange, doMakeContourLevelControl, doMakeDataInstance, doMakeLevelControl, doMakeLevelControl, getColorParamName, getColorRangeFromData, getColorUnit, getContourInfo, getCursorReadoutData, getCursorReadoutInner, getDataProjection, getDefaultContourInfo, getDisplayUnit, getGridDataInstance, getInitialColorTable, getInitialRange, getRawDataUnit, initializeDefaultContourInfo, isDisplayUnitAlsoColorUnit, setLevel, setLevel, setLevelFromUser
 
Methods inherited from class ucar.unidata.idv.control.DisplayControlImpl
activateDisplays, addAttributedDisplayable, addAttributedDisplayable, addAttributedDisplayable, addAttributeFlags, addCheckBoxSettings, addDataChoice, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayMaster, 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, 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, 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, getColorUnitName, getComponentHolder, getContents, getControlChangeSleepTime, getControlContext, getCursorReadout, getDataChoice, getDataChoices, getDataInstance, getDataInstance, getDataProjectionForMenu, getDataProjectionLabel, getDataSelection, getDataSources, getDataTimeRange, getDataTimeRange, getDebugDetails, getDefaultColorScaleInfo, getDefaultDistanceUnit, getDefaultFastRendering, getDefaultSamplingMode, getDefaultSamplingModeValue, getDefaultView, getDefaultViewDescriptor, getDefaultViewManager, getDetailsContents, getDisplayAltitudeType, getDisplayCategory, getDisplayConventions, getDisplayedData, getDisplayId, getDisplayInfos, getDisplayListColor, getDisplayListData, getDisplayListDisplayable, getDisplayListTemplate, getDisplayMaster, getDisplayName, getDisplayScale, getDisplayUnit, getDisplayUnitName, getDisplayVisibility, getDoCursorReadout, getEditMenuItems, getEditMenuItems, getExpandedInTabs, getExtraLabelTemplate, getExtraLegendComponent, getExtraMenus, getFileMenuItems, getFileMenuItems, getGraphicsConfiguration, getHadDataChoices, getHaveInitialized, getHelpIds, getHelpMenuItems, getId, getIdv, getImage, getImage, getInitDataChoices, getInitialZPosition, getLabel, getLastFileMenuItems, getLegendButtons, getLegendComponent, getLegendLabel, getLegendLabels, getLegendLabelTemplate, getLegendToolTip, 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, 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, initAsPrototype, initAsTemplate, initBasic, initDone, initializeWithNewData, initWindow, isDisplay3D, isGuiShown, isInitDone, isInTransectView, isInViewManager, itemStateChanged, makeChangeColorMenuItems, makeLegendLabel, makeLockButton, makeRemoveButton, moveTo, notifyViewManagersOfChange, parseProperties, popup, popupDataDialog, popupDataDialog, popupDataDialog, processRequestProperties, projectionChanged, propertyChange, putTransientProperty, 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, setDataChoices, setDataInstances, setDataSelection, 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, 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, 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
 

Constructor Detail

TrackControl

public TrackControl()
Create a new Track Control; set the attribute flags

Method Detail

init

public boolean init(DataChoice dataChoice)
             throws VisADException,
                    RemoteException
Call to help make this kind of Display Control; also calls code to made the Displayable (empty of data thus far). This method is called from inside DisplayControlImpl.init(several args).

Overrides:
init in class DisplayControlImpl
Parameters:
dataChoice - the DataChoice of the moment.
Returns:
true if successful
Throws:
RemoteException - Java RMI error
VisADException - VisAD Error

getColorWidgetLabel

public String getColorWidgetLabel()
Return the label that is to be used for the color widget This allows derived classes to override this and provide their own name,

Overrides:
getColorWidgetLabel in class DisplayControlImpl
Returns:
Label used for the color widget

setDataInstance

protected void setDataInstance(DataInstance dataInstance)
Set the dataInstance and its paramName in the superclass member data. Set the dataInstance in this class member getGridDataInstance(). Get appropritate contour information for the data.

Overrides:
setDataInstance in class DisplayControlImpl
Parameters:
dataInstance - the data instance to use

getDisplayCenter

public LatLonPoint getDisplayCenter()
                             throws RemoteException,
                                    VisADException
Get the display center

Overrides:
getDisplayCenter in class DisplayControlImpl
Returns:
the center point of the display
Throws:
RemoteException - Java RMI error
VisADException - VisAD Error

timeChanged

protected void timeChanged(Real time)
Respond to a timeChange event

Overrides:
timeChanged in class DisplayControlImpl
Parameters:
time - new time

setData

protected boolean setData(DataChoice choice)
                   throws VisADException,
                          RemoteException
Set the data in this control

Overrides:
setData in class DisplayControlImpl
Parameters:
choice - data choice
Returns:
true if successful
Throws:
RemoteException - Java RMI error
VisADException - VisAD Error

doMakeContents

protected Container doMakeContents()
                            throws VisADException,
                                   RemoteException
Make the gui

Overrides:
doMakeContents in class DisplayControlImpl
Returns:
The gui
Throws:
RemoteException - On Badness
VisADException - On Badness

timeDeclutterChanged

protected void timeDeclutterChanged()
Handle when the time declutering state has changed


getControlWidgets

public void getControlWidgets(List controlWidgets)
                       throws VisADException,
                              RemoteException
Add control widgets specific to this control to the list

Overrides:
getControlWidgets in class DisplayControlImpl
Parameters:
controlWidgets - list of control widgets
Throws:
RemoteException - Java RMI error
VisADException - VisAD Error

initAfterUnPersistence

public void initAfterUnPersistence(ControlContext vc,
                                   Hashtable properties,
                                   List preSelectedDataChoices)
Called by the IntegratedDataViewer to initialize after this control has been unpersisted

Specified by:
initAfterUnPersistence in interface DisplayControl
Overrides:
initAfterUnPersistence in class DisplayControlImpl
Parameters:
vc - The context in which this control exists
properties - Properties that may hold things
preSelectedDataChoices - set of preselected data choices

addDisplaySettings

protected void addDisplaySettings(DisplaySettingsDialog dsd)
Add display settings paricular to this control

Overrides:
addDisplaySettings in class DisplayControlImpl
Parameters:
dsd - the DisplaySettingsDialog

setDataTimeRange

public void setDataTimeRange(DataTimeRange range)
Set the DataTimeRange

Overrides:
setDataTimeRange in class DisplayControlImpl
Parameters:
range - the DataTimeRange

applyTimeRange

public void applyTimeRange()
Handle some sort of time change. Either the subsetting interval changes or there is a new timestep.

Overrides:
applyTimeRange in class DisplayControlImpl

getRequestProperties

protected Hashtable getRequestProperties()
Override the base class method that creates request properties and add in the appropriate 2d/3d request parameter.

Overrides:
getRequestProperties in class DisplayControlImpl
Returns:
table of properties

haveMultipleFields

protected boolean haveMultipleFields()
Return whether the Data held by this display control contains multiple fields (e.g., for the isosurface colored by another parameter

Overrides:
haveMultipleFields in class GridDisplayControl
Returns:
true if there are multiple fields

getColorRangeIndex

protected int getColorRangeIndex()
Returns the index to use in the GridDataInstance array of ranges for color ranges. The default is 1 though if there is not more than one field in the range then we end up with the 0th value.

Overrides:
getColorRangeIndex in class GridDisplayControl
Returns:
0

receiveShareData

public void receiveShareData(Sharable from,
                             Object dataId,
                             Object[] data)
Method called by other classes that share the selector.

Specified by:
receiveShareData in interface Sharable
Overrides:
receiveShareData in class