edu.wisc.ssec.mcidasv.control.cyclone
Class StormTrackControl

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 edu.wisc.ssec.mcidasv.control.cyclone.StormTrackControl
All Implemented Interfaces:
ActionListener, ItemListener, PropertyChangeListener, EventListener, HyperlinkListener, Sharable, DataChangeListener, DisplayControl, Prototypable, ControlListener, DisplayListener

public class StormTrackControl
extends DisplayControlImpl

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

Version:
$Revision$
Author:
Unidata Development Team

Nested Class Summary
 
Nested classes/interfaces inherited from class ucar.unidata.idv.control.DisplayControlImpl
DisplayControlImpl.SideLegendLabel
 
Field Summary
private  List<StormDisplayState> activeStorms
          _more_
private  List<ucar.unidata.data.storm.StormParam> allParams
          _more_
private  List<ucar.unidata.data.storm.Way> allWays
          _more_
private  JCheckBox chartParamsPreferenceCbx
          _more_
private  TwoListPanel chartParamsSelector
          _more_
private static int cnt
          _more_
private  JCheckBox editedCbx
          _more_
private  boolean editMode
          _more_
private  String endTime
          _more_
private  JCheckBox forecastCbx
          _more_
(package private)  ImageIcon ICON_OFF
          _more_
(package private)  ImageIcon ICON_ON
          _more_
private  EarthLocation lastEarthLocation
          Holds the EarthLocation of the last point clicked
private  StormDisplayState localStormDisplayState
          _more_
private  JCheckBox mostRecentCbx
          _more_
private  Object MUTEX
          locking object
private  JCheckBox obsCbx
          _more_
private  ucar.unidata.data.storm.Way observationWay
          _more_
private  JCheckBox obsWayPreferenceCbx
          _more_
private  List<JRadioButton> obsWayRadioButtons
          _more_
private  Hashtable<String,Boolean> okParams
          _more_
private  Hashtable<String,Boolean> okWays
          _more_
private  CompositeDisplayable placeHolder
          _more_
private static String PREF_OBWAY
          _more_
private static String PREF_OKPARAMS
          _more_
private static String PREF_OKWAYS
          _more_
private static String PREF_STORMDISPLAYSTATE
          _more_
private  Hashtable preferences
          _more_
private  Hashtable rangeTypes
          _more_
private  String startTime
          _more_
private  ucar.unidata.data.storm.StormDataSource stormDataSource
          _more_
private  Hashtable<ucar.unidata.data.storm.StormInfo,StormDisplayState> stormDisplayStateMap
          _more_
private  List<ucar.unidata.data.storm.StormInfo> stormInfos
          _more_
private  JComboBox timeModeBox
          _more_
private  TreePanel treePanel
          _more_
private  List<ucar.unidata.data.storm.StormParam> useParams
          _more_
private  List<ucar.unidata.data.storm.Way> useWays
          _more_
private  JCheckBox waysToUsePreferenceCbx
          _more_
private  TwoListPanel waysToUseSelector
          _more_
private static int YEAR_TIME_MODE_STORM
          _more_
private static int YEAR_TIME_MODE_YEAR
          _more_
private  Hashtable yearData
          _more_
private  Hashtable<Integer,YearDisplayState> yearDisplayStateMap
          _more_
private  StationModelDisplayable yearLabels
          _more_
private  int yearTimeMode
          _more_
 
Fields inherited from class ucar.unidata.idv.control.DisplayControlImpl
categories, colorScaleInfo, colorScales, contourInfo, contourInfoParams, contourWidget, controlContext, ctw, dataSelection, defaultView, defaultViewManager, DISPLAY_LIST_NAME, displayListTable, displayListUsesColor, displayMasters, displayUnit, helpUrl, initNoteText, instantiatedWithNoData, noteTextArea, noteWrapper, paramName, requestProperties, selectRangeWidget, settingVisibility, sharables, showNoteText, skipSlider, version, viewManagers, ZFUDGE
 
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_GRIDTRAJECTORY, FLAG_LINEWIDTH, FLAG_NONE, FLAG_SELECTRANGE, FLAG_SKIPFACTOR, FLAG_SMOOTHING, FLAG_TEXTUREQUALITY, FLAG_TIMERANGE, FLAG_ZPOSITION, GRID_INSETS, ICON_LOCK, ICON_REMOVE, ICON_UNLOCK, LABEL_NONE, log_, MACRO_DATASOURCENAME, MACRO_DISPLAYNAME, MACRO_DISPLAYUNIT, MACRO_FHOUR, MACRO_LONGNAME, MACRO_POSITION, MACRO_SHORTNAME, MACRO_STATION, 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, RASTERMODE_SHOWALL, RASTERMODE_SHOWNONRASTER, RASTERMODE_SHOWRASTER, SIDE_LEGEND
 
Constructor Summary
StormTrackControl()
          Create a new Track Control; set the attribute flags
 
Method Summary
protected  void addPropertiesComponents(JTabbedPane jtp)
          _more_
protected  void applyRange()
          Apply the range it to the Displayables in the displayables list that are flagged with the FLAG_COLORTABLE
private  boolean applyWaysToUse()
          _more_
protected  boolean canHandleEvents()
          _more_
private  boolean checkTracksVisible(Real currentAnimationTime, WayDisplayState wds)
          _more_
 void deleteStormDisplayState()
          _more_
 boolean doApplyProperties()
          _more_
protected  Container doMakeContents()
          Make the gui
 void doRemove()
          _more_
protected  Object[] findClosestPoint(EarthLocation el, List<StormDisplayState> theStates, Real animationValue, int distanceThresholdPixels)
          This finds the StormTrack and StormTrackPoint that is closest to the given location
protected  String formatStormTrackPoint(ucar.unidata.data.storm.StormTrack stormTrack, ucar.unidata.data.storm.StormTrackPoint stp)
          _more_
private  List<StormDisplayState> getActiveStorms()
          _more_
private  ucar.unidata.data.storm.StormTrack getClosestTimeForecastTrack(List<ucar.unidata.data.storm.StormTrack> tracks, Real pTime)
          _more_
 StormDisplayState getCurrentStormDisplayState()
          _more_
protected  List getCursorReadoutInner(EarthLocation el, Real animationValue, int animationStep, List<ReadoutInfo> samples)
          _more_
 MapProjection getDataProjection()
          _more_
 MapProjection getDataProjectionForMenu()
          _more_
protected  String getDataProjectionLabel()
          _more_
 DisplayMaster getDisplayMaster()
          _more_
protected  void getEditMenuItems(List items, boolean forMenuBar)
          _more_
 boolean getEditMode()
          Get the EditMode property.
 String getEndTime()
          Get the EndTime property.
 StormDisplayState getLocalStormDisplayState()
          Get the LocalStormDisplayState property.
 ucar.unidata.data.storm.Way getObservationWay()
          _more_
 Hashtable<String,Boolean> getOkParams()
          Get the OkParams property.
 Hashtable<String,Boolean> getOkWays()
          Get the OkWays property.
protected  String getPref(String basePref)
          _more_
private  Hashtable getPreferences()
          _more_
protected  void getSaveMenuItems(List items, boolean forMenuBar)
          _more_
 String getStartTime()
          Get the StartTime property.
 ucar.unidata.data.storm.StormDataSource getStormDataSource()
          _more_
private  List<StormDisplayState> getStormDisplays()
          _more_
private  StormDisplayState getStormDisplayState(ucar.unidata.data.storm.StormInfo stormInfo)
          _more_
 List<StormDisplayState> getStormDisplayStates()
          Get the StormDisplayStates property.
 List<ucar.unidata.data.storm.StormParam> getTrackParams()
          _more_
protected  void getViewMenuItems(List items, boolean forMenuBar)
          _more_
 NavigatedDisplay getVM()
          _more_
 String getWayName()
          _more_
 String getWaysName()
          _more_
private  JComponent getWaysToUseComp()
          _more_
 YearDisplayState getYearDisplayState(int year)
          _more_
 List<YearDisplayState> getYearDisplayStates()
          Get the YearDisplayStates property.
 int getYearTimeMode()
          Get the YearTimeMode property.
private  void handleChangedStationModel(String name)
          _more_
 void handleDisplayChanged(DisplayEvent event)
          _more_
 boolean hasMapProjection()
          _more_
 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 initDone()
          _more_
 void initYears()
          _more_
protected  boolean isEditable()
          _more_
 void loadYear(YearDisplayState yds)
          _more_
 void loadYearInner(YearDisplayState yds)
          _more_
private  void loadYearPointData()
          _more_
protected  FieldImpl makeTrackField(ucar.unidata.data.storm.StormTrack track, ucar.unidata.data.storm.StormParam param)
          _more_
protected  boolean okToShowParam(ucar.unidata.data.storm.StormParam param)
          _more_
protected  boolean okToShowWay(ucar.unidata.data.storm.Way way)
          _more_
private  void onlyShowTheseParams(List<ucar.unidata.data.storm.StormParam> params, boolean writeAsPreference)
          _more_
private  void onlyShowTheseWays(List<ucar.unidata.data.storm.Way> ways, boolean writeAsPreference)
          _more_
 void propertyChange(PropertyChangeEvent evt)
          Property change method.
private  void putPreference(String key, Object object)
          _more_
private  void reloadStormTracks()
          _more_
protected  void resetData()
          This gets called when the control has received notification of a dataChange event.
 void saveStormDisplayState()
          _more_
 void setColorTable(String whichColorTable, ColorTable newColorTable)
          _more_
 void setEditMode(boolean value)
          Set the EditMode property.
 void setEndTime(String value)
          Set the EndTime property.
 void setLocalStormDisplayState(StormDisplayState value)
          Set the LocalStormDisplayState property.
 void setObservationWay(ucar.unidata.data.storm.Way value)
          _more_
 void setOkParams(Hashtable<String,Boolean> value)
          Set the OkParams property.
 void setOkWays(Hashtable<String,Boolean> value)
          Set the OkWays property.
 void setStartTime(String value)
          Set the StartTime property.
 void setStormDisplayStates(List<StormDisplayState> value)
          Set the StormDisplayStates property.
 void setYearDisplayStates(List<YearDisplayState> value)
          Set the YearDisplayStates property.
 void setYearTimeMode(int value)
          Set the YearTimeMode property.
protected  boolean shouldAddControlListener()
          Signal base class to add this as a control listener
 void showWaysToUseDialog()
          _more_
 void stormChanged(StormDisplayState stormDisplayState)
          _more_
protected  void timeChanged(Real time)
          Respond to a timeChange event
 void unloadAllTracks()
          _more_
 void unloadYear(YearDisplayState yds)
          _more_
 void viewpointChanged()
          _more_
 void viewStorm(StormDisplayState stormDisplayState)
          _more_
private  void writePreferences()
          _more_
protected  void writeToGE(Element docNode, Hashtable state, Element parent, ucar.unidata.data.storm.StormTrack track, Color color)
          _more_
 void writeToKml()
          _more_
 void writeToKml(String filename, boolean doObs, boolean doForecast, boolean mostRecent)
          _more_
 
Methods inherited from class ucar.unidata.idv.control.DisplayControlImpl
actionPerformed, activateDisplays, addAttributedDisplayable, addAttributedDisplayable, addAttributedDisplayable, addAttributeFlags, addCheckBoxSettings, addDataChoice, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayable, addDisplayMaster, addDisplaySettings, addLabelMacros, addNewData, addNoteText, addPropertyChangeListener, addRemovable, addSharable, addTimeModeWidget, addToControlContext, addToRangeMenu, addToRangeMenu, addToRangeMenu, addViewManager, appendDataChoices, applyAttributesToDisplayables, applyColor, applyColorScaleInfo, applyColorTable, applyColorUnit, applyContourInfo, applyDisplaySetting, applyDisplayUnit, applyLineWidth, applyPreferences, applyProperties, applyProperties, applyPropertyValues, applySelectRange, applySkipFactor, applySmoothing, applyTextureQuality, applyTimeRange, applyZPosition, boundsClose, canBeDocked, canExportData, canSaveDataInCache, captureWindow, centerOnDisplay, changeColorUnit, changeDisplayUnit, checkFlag, checkIfDataOk, checkImageSize, clearDataInstance, clearPrototype, clearViewManagers, close, colorUnitChanged, controlChanged, convertColorRange, convertRange, createDisplayListDisplayable, createIdvWindow, dataChanged, deactivateDisplays, debug, displayableToFront, displayChanged, displayControlFailed, displayUnitChanged, doExport, doInitialUpdateLegendAndList, doMakeBottomLegendComponent, doMakeChangeColorMenu, doMakeChangeColorMenu, doMakeChangeParameterMenuItem, doMakeColorControl, doMakeColorControl, doMakeColorScales, doMakeDataInstance, doMakeMenuBar, doMakeMenuBarMenus, doMakePointSizeWidget, doMakeRemoveControl, doMakeSideLegendComponent, doMakeSkipFactorSlider, doMakeTextureSlider, doMakeVisibilityControl, doMakeWidgetComponent, doMakeWindow, doMakeZPositionSlider, 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, getControlMenus, getControlWidgets, getCursorReadout, getCursorReadoutInner, getData, getDataChoice, getDataChoices, getDataForDisplayList, getDataInstance, getDataInstance, getDataSelection, getDataSources, getDataTimeRange, getDataTimeRange, getDataTimeSet, getDebugDetails, getDefaultColorScaleInfo, getDefaultDisplayListTemplate, 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, getExpandedInTabs, getExtraLabelTemplate, getExtraLegendComponent, getExtraMenus, getFileMenuItems, getFileMenuItems, getGraphicsConfiguration, getGrid, getGrid, getHadDataChoices, getHaveInitialized, getHelpIds, getHelpMenuItems, getId, getIdv, getImage, getImage, getInitDataChoices, getInitialColorTable, getInitialFastRendering, getInitialRange, getInitialZPosition, getInternalAnimation, getInternalAnimation, getIsRaster, getIsTimeDriver, 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, getPointSize, getProperty, getProperty, getPropertyDisplayName, getRange, getRangeForColorTable, getRangeToApply, getRawDataUnit, getRequestProperties, getSamplingModeName, getSamplingModeValue, getSamplingModeValue, getSelectRange, getSelectRangeEnabled, getSelectRangeWidget, getSettingsPanel, getShortParamName, getShowInDisplayList, getShowInLegend, getShowInTabs, getShowNoteText, getSkipValue, getSkipWidgetLabel, getSmoothingFactor, getSmoothingType, getSomeAnimation, getStore, getTemplateName, getTextureQuality, getTextureQualityLabel, getTimeSet, getTitle, getTransientProperty, getUnitForColor, getUseFastRendering, getUsesTimeDriver, getUseTimesInAnimation, getVersion, getVerticalValue, getViewAnimation, getViewContext, getViewer, getViewManager, getViewManager, getViewManager, getViewManagerClassNames, getViewManagerForCapture, getViewManagers, getViewMenuItems, getVisbilityAnimationPause, getWasUnPersisted, getWindow, getWindowSize, getWindowVisible, getWindowX, getWindowY, getZPosition, getZPositionSliderLabel, guiExported, guiImported, handleWindowClosing, hasTimeMacro, haveDataTimes, haveParameterDefaults, hide, hyperlinkUpdate, inGlobeDisplay, 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, putTransientProperty, reallySetAttributeFlags, receiveShareData, redoGuiLayout, reloadDataSource, reloadDataSourceInThread, removeDataChoice, removeDisplayable, removeDisplayables, removeDisplayables, removeOnWindowClose, removePropertyChangeListener, resetDimness, resetViewManager, revertToDefaultColorTable, revertToDefaultColorTable, revertToDefaultRange, revertToDefaultRange, saveAsFavorite, saveAsParameterDefaults, saveAsPrototype, saveAsTemplate, saveDataChoiceInCache, saveImage, selectDataChoices, setAnimationInfo, setAnimationSet, setAttributeFlags, setCachedData, setCanDoRemoveAll, setCategories, setCollapseLegend, setColor, setColorBrighter, setColorDimmer, setColorDimness, setColorScaleInfo, setColorScaleVisible, setColorTable, setColorTableName, setColorUnit, setColorUnitName, setComponentHolder, setContents, setContourInfo, setContourInfoParams, setData, setData, setDataChoices, setDataInstance, setDataInstances, setDataSelection, setDataTimeRange, setDefaultSamplingMode, setDefaultView, setDisplayableVisibility, setDisplayableVisiblity, setDisplayActive, setDisplayCategory, setDisplayId, setDisplayInactive, setDisplayListColor, setDisplayListColor, setDisplayListProperties, setDisplayListTemplate, setDisplayName, setDisplayUnit, setDisplayUnitName, setDisplayVisibility, setDoCursorReadout, setExpandedInTabs, setExtraLabelTemplate, setHadDataChoices, setHelpUrl, setId, setInitDataChoices, setInitialSettings, setInitialViewManager, setIsRaster, setIsTimeDriver, setLabelAsPreference, setLegendBackground, setLegendForeground, setLegendLabel, setLegendLabelTemplate, setLineWidth, setLockVisibilityToggle, setMainPanelDimensions, setMainPanelSize, setMakeWindow, setName, setNameFromUser, setNewColorUnit, setNewDisplayUnit, setNoteText, setOkToFireEvents, setOriginalDataChoicesLabel, setParamName, setPersistedVisadData, setPointSize, setProjectionInView, setProjectionInView, setProperty, setRange, setRange, setSelectRange, setSelectRangeEnabled, setSettingsDisplayUnit, setSharedColorScaleInfo, setShowInDisplayList, setShowInLegend, setShowInTabs, setShowNoteText, setSkipValue, setSmoothingFactor, setSmoothingType, setTemplateName, setTextureQuality, setTitle, setUnitForColor, setUseFastRendering, setUsesTimeDriver, setUseTimesInAnimation, setVersion, setViewer, setViewManagerClassNames, setVisbilityAnimationPause, setWindowSize, setWindowVisible, setWindowX, setWindowY, setZPosition, setZPosition, shouldAddAnimationListener, shouldAddDisplayListener, shouldApplyFastRendering, shouldBeDocked, shouldWindowBeVisible, show, showColorControlWidget, showColorDialog, showColorDialog, showColorScaleDialog, showColorScales, showColorSwatches, showContourPropertiesDialog, showDetails, showDisplaySettingsDialog, showHelp, showLegendMenu, showNormalCursor, showProperties, showTimeRangeDialog, showWaitCursor, toFront, toggleNoteTextArea, toggleVisibilityForVectorGraphicsRendering, toggleWindow, toString, transectChanged, updateAnimation, updateDataInstance, updateDataSelection, updateDisplayList, updateGridDataInstance, updateLegendAndList, updateLegendLabel, updateLockButton, useSmoothingFactor, useZPosition, viewManagerChanged, viewManagerDestroyed, 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, getLabeledReal, getLevelReal, getScreenCenter, getSelectedStation, getTmpProperty, isLeftButtonDown, logException, logException, makeEarthLocation, putTmpProperty, removeTmpProperty, screenToBox, screenToBox, screenToEarth, setStations, setStations, toBox, toEarth, userErrorMessage, userMessage
 
Methods inherited from class ucar.unidata.collab.SharableImpl
applySharableProperties, doShare, doShare, doShareExternal, doShareInternal, getReceiveShareTime, getSharablePropertiesComponent, getShareGroup, getSharing, getUniqueId, initSharable, removeSharable, setReceiveShareTime, 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.idv.DisplayControl
getTmpProperty, putTmpProperty, removeTmpProperty
 
Methods inherited from interface ucar.unidata.collab.Sharable
getReceiveShareTime, getShareGroup, getSharing, getUniqueId, setReceiveShareTime
 

Field Detail

PREF_STORMDISPLAYSTATE

private static final String PREF_STORMDISPLAYSTATE
_more_

See Also:
Constant Field Values

PREF_OKWAYS

private static final String PREF_OKWAYS
_more_

See Also:
Constant Field Values

PREF_OBWAY

private static final String PREF_OBWAY
_more_

See Also:
Constant Field Values

PREF_OKPARAMS

private static final String PREF_OKPARAMS
_more_

See Also:
Constant Field Values

cnt

private static int cnt
_more_


ICON_ON

final ImageIcon ICON_ON
_more_


ICON_OFF

final ImageIcon ICON_OFF
_more_


localStormDisplayState

private StormDisplayState localStormDisplayState
_more_


preferences

private Hashtable preferences
_more_


okWays

private Hashtable<String,Boolean> okWays
_more_


observationWay

private ucar.unidata.data.storm.Way observationWay
_more_


okParams

private Hashtable<String,Boolean> okParams
_more_


startTime

private String startTime
_more_


endTime

private String endTime
_more_


placeHolder

private CompositeDisplayable placeHolder
_more_


stormDataSource

private ucar.unidata.data.storm.StormDataSource stormDataSource
_more_


stormInfos

private List<ucar.unidata.data.storm.StormInfo> stormInfos
_more_


lastEarthLocation

private EarthLocation lastEarthLocation
Holds the EarthLocation of the last point clicked


stormDisplayStateMap

private Hashtable<ucar.unidata.data.storm.StormInfo,StormDisplayState> stormDisplayStateMap
_more_


activeStorms

private List<StormDisplayState> activeStorms
_more_


treePanel

private TreePanel treePanel
_more_


YEAR_TIME_MODE_YEAR

private static final int YEAR_TIME_MODE_YEAR
_more_

See Also:
Constant Field Values

YEAR_TIME_MODE_STORM

private static final int YEAR_TIME_MODE_STORM
_more_

See Also:
Constant Field Values

yearTimeMode

private int yearTimeMode
_more_


yearDisplayStateMap

private Hashtable<Integer,YearDisplayState> yearDisplayStateMap
_more_


yearData

private Hashtable yearData
_more_


timeModeBox

private JComboBox timeModeBox
_more_


obsCbx

private JCheckBox obsCbx
_more_


forecastCbx

private JCheckBox forecastCbx
_more_


mostRecentCbx

private JCheckBox mostRecentCbx
_more_


editedCbx

private JCheckBox editedCbx
_more_


waysToUseSelector

private TwoListPanel waysToUseSelector
_more_


chartParamsSelector

private TwoListPanel chartParamsSelector
_more_


waysToUsePreferenceCbx

private JCheckBox waysToUsePreferenceCbx
_more_


chartParamsPreferenceCbx

private JCheckBox chartParamsPreferenceCbx
_more_


allWays

private List<ucar.unidata.data.storm.Way> allWays
_more_


useWays

private List<ucar.unidata.data.storm.Way> useWays
_more_


allParams

private List<ucar.unidata.data.storm.StormParam> allParams
_more_


useParams

private List<ucar.unidata.data.storm.StormParam> useParams
_more_


obsWayPreferenceCbx

private JCheckBox obsWayPreferenceCbx
_more_


obsWayRadioButtons

private List<JRadioButton> obsWayRadioButtons
_more_


editMode

private boolean editMode
_more_


MUTEX

private Object MUTEX
locking object


rangeTypes

private Hashtable rangeTypes
_more_


yearLabels

private StationModelDisplayable yearLabels
_more_

Constructor Detail

StormTrackControl

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

Method Detail

getPref

protected String getPref(String basePref)
_more_

Parameters:
basePref - _more_
Returns:
_more_

isEditable

protected boolean isEditable()
_more_

Returns:
_more_

getVM

public NavigatedDisplay getVM()
_more_

Returns:
_more_

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

getWaysToUseComp

private JComponent getWaysToUseComp()
_more_

Returns:
_more_

applyWaysToUse

private boolean applyWaysToUse()
_more_

Returns:
_more_

showWaysToUseDialog

public void showWaysToUseDialog()
_more_


addPropertiesComponents

protected void addPropertiesComponents(JTabbedPane jtp)
_more_

Overrides:
addPropertiesComponents in class DisplayControlImpl
Parameters:
jtp - _more_

getTrackParams

public List<ucar.unidata.data.storm.StormParam> getTrackParams()
_more_

Returns:
_more_

doApplyProperties

public boolean doApplyProperties()
_more_

Overrides:
doApplyProperties in class DisplayControlImpl
Returns:
_more_

shouldAddControlListener

protected boolean shouldAddControlListener()
Signal base class to add this as a control listener

Overrides:
shouldAddControlListener in class DisplayControlImpl
Returns:
Add as control listener

viewpointChanged

public void viewpointChanged()
_more_

Overrides:
viewpointChanged in class DisplayControlImpl

makeTrackField

protected FieldImpl makeTrackField(ucar.unidata.data.storm.StormTrack track,
                                   ucar.unidata.data.storm.StormParam param)
                            throws Exception
_more_

Parameters:
track - _more_
param - _more_
Returns:
_more_
Throws:
Exception - _more_

setColorTable

public void setColorTable(String whichColorTable,
                          ColorTable newColorTable)
                   throws RemoteException,
                          VisADException
_more_

Overrides:
setColorTable in class DisplayControlImpl
Parameters:
whichColorTable - _more_
newColorTable - _more_
Throws:
RemoteException - _more_
VisADException - _more_

getDisplayMaster

public DisplayMaster getDisplayMaster()
_more_

Returns:
_more_

okToShowWay

protected boolean okToShowWay(ucar.unidata.data.storm.Way way)
_more_

Parameters:
way - _more_
Returns:
_more_

okToShowParam

protected boolean okToShowParam(ucar.unidata.data.storm.StormParam param)
_more_

Parameters:
param - _more_
Returns:
_more_

getCurrentStormDisplayState

public StormDisplayState getCurrentStormDisplayState()
_more_

Returns:
_more_

resetData

protected void resetData()
                  throws VisADException,
                         RemoteException
This gets called when the control has received notification of a dataChange event. In this class, it reloads the storm tracks.

Overrides:
resetData in class DisplayControlImpl
Throws:
RemoteException - Java RMI problem
VisADException - VisAD problem

getStormDisplays

private List<StormDisplayState> getStormDisplays()
_more_

Returns:
_more_

reloadStormTracks

private void reloadStormTracks()
_more_


onlyShowTheseWays

private void onlyShowTheseWays(List<ucar.unidata.data.storm.Way> ways,
                               boolean writeAsPreference)
_more_

Parameters:
ways - _more_
writeAsPreference - _more_

onlyShowTheseParams

private void onlyShowTheseParams(List<ucar.unidata.data.storm.StormParam> params,
                                 boolean writeAsPreference)
_more_

Parameters:
params - _more_
writeAsPreference - _more_

getStormDataSource

public ucar.unidata.data.storm.StormDataSource getStormDataSource()
_more_

Returns:
_more_

viewStorm

public void viewStorm(StormDisplayState stormDisplayState)
_more_

Parameters:
stormDisplayState - _more_

unloadAllTracks

public void unloadAllTracks()
_more_


canHandleEvents

protected boolean canHandleEvents()
_more_

Returns:
_more_

handleDisplayChanged

public void handleDisplayChanged(DisplayEvent event)
_more_

Overrides:
handleDisplayChanged in class DisplayControlImpl
Parameters:
event - _more_

getSaveMenuItems

protected void getSaveMenuItems(List items,
                                boolean forMenuBar)
_more_

Overrides:
getSaveMenuItems in class DisplayControlImpl
Parameters:
items - _more_
forMenuBar - _more_

getEditMenuItems

protected void getEditMenuItems(List items,
                                boolean forMenuBar)
_more_

Overrides:
getEditMenuItems in class DisplayControlImpl
Parameters:
items - _more_
forMenuBar - _more_

getViewMenuItems

protected void getViewMenuItems(List items,
                                boolean forMenuBar)
_more_

Overrides:
getViewMenuItems in class DisplayControlImpl
Parameters:
items - _more_
forMenuBar - _more_

getWayName

public String getWayName()
_more_

Returns:
_more_

getWaysName

public String getWaysName()
_more_

Returns:
_more_

getDataProjectionLabel

protected String getDataProjectionLabel()
_more_

Overrides:
getDataProjectionLabel in class DisplayControlImpl
Returns:
_more_

getDataProjection

public MapProjection getDataProjection()
_more_

Specified by:
getDataProjection in interface DisplayControl
Overrides:
getDataProjection in class DisplayControlImpl
Returns:
_more_

hasMapProjection

public boolean hasMapProjection()
_more_

Overrides:
hasMapProjection in class DisplayControlImpl
Returns:
_more_

getDataProjectionForMenu

public MapProjection getDataProjectionForMenu()
_more_

Overrides:
getDataProjectionForMenu in class DisplayControlImpl
Returns:
_more_

getActiveStorms

private List<StormDisplayState> getActiveStorms()
_more_

Returns:
_more_

getPreferences

private Hashtable getPreferences()
_more_

Returns:
_more_

deleteStormDisplayState

public void deleteStormDisplayState()
_more_


saveStormDisplayState

public void saveStormDisplayState()
_more_


writePreferences

private void writePreferences()
_more_


putPreference

private void putPreference(String key,
                           Object object)
_more_

Parameters:
key - _more_
object - _more_

getStormDisplayState

private StormDisplayState getStormDisplayState(ucar.unidata.data.storm.StormInfo stormInfo)
_more_

Parameters:
stormInfo - _more_
Returns:
_more_

initDone

public void initDone()
_more_

Overrides:
initDone in class DisplayControlImpl

doRemove

public void doRemove()
              throws VisADException,
                     RemoteException
_more_

Specified by:
doRemove in interface DisplayControl
Overrides:
doRemove in class DisplayControlImpl
Throws:
RemoteException - _more_
VisADException - _more_

initYears

public void initYears()
_more_


loadYearPointData

private void loadYearPointData()
_more_


unloadYear

public void unloadYear(YearDisplayState yds)
_more_

Parameters:
yds - _more_

loadYear

public void loadYear(YearDisplayState yds)
_more_

Parameters:
yds - _more_

loadYearInner

public void loadYearInner(YearDisplayState yds)
                   throws Exception
_more_

Parameters:
yds - _more_
Throws:
Exception - _more_

writeToKml

public void writeToKml()
_more_


writeToKml

public void writeToKml(String filename,
                       boolean doObs,
                       boolean doForecast,
                       boolean mostRecent)
                throws VisADException,
                       RemoteException
_more_

Parameters:
filename - _more_
doObs - _more_
doForecast - _more_
mostRecent - _more_
Throws:
RemoteException - _more_
VisADException - _more_

writeToGE

protected void writeToGE(Element docNode,
                         Hashtable state,
                         Element parent,
                         ucar.unidata.data.storm.StormTrack track,
                         Color color)
                  throws Exception
_more_

Parameters:
docNode - _more_
state - _more_
parent - _more_
track - _more_
color - _more_
Throws:
RemoteException - _more_
VisADException - _more_
Exception - _more_

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

stormChanged

public void stormChanged(StormDisplayState stormDisplayState)
_more_

Parameters:
stormDisplayState - _more_

timeChanged

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

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

propertyChange

public void propertyChange(PropertyChangeEvent evt)
Property change method.

Specified by:
propertyChange in interface PropertyChangeListener
Overrides:
propertyChange in class DisplayControlImpl
Parameters:
evt - event to act on

handleChangedStationModel

private void handleChangedStationModel(String name)
_more_

Parameters:
name - _more_

setStormDisplayStates

public void setStormDisplayStates(List<StormDisplayState> value)
Set the StormDisplayStates property.

Parameters:
value - The new value for StormDisplayStates

getStormDisplayStates

public List<StormDisplayState> getStormDisplayStates()
Get the StormDisplayStates property.

Returns:
The StormDisplayStates

getYearDisplayState

public YearDisplayState getYearDisplayState(int year)
_more_

Parameters:
year - _more_
Returns:
_more_

setYearDisplayStates

public void setYearDisplayStates(List<YearDisplayState> value)
Set the YearDisplayStates property.

Parameters:
value - The new value for YearDisplayStates

getYearDisplayStates

public List<YearDisplayState> getYearDisplayStates()
Get the YearDisplayStates property.

Returns:
The YearDisplayStates

getCursorReadoutInner

protected List getCursorReadoutInner(EarthLocation el,
                                     Real animationValue,
                                     int animationStep,
                                     List<ReadoutInfo> samples)
                              throws Exception
_more_

Overrides:
getCursorReadoutInner in class DisplayControlImpl
Parameters:
el - _more_
animationValue - _more_
animationStep - _more_
samples - _more_
Returns:
_more_
Throws:
Exception - _more_

formatStormTrackPoint

protected String formatStormTrackPoint(ucar.unidata.data.storm.StormTrack stormTrack,
                                       ucar.unidata.data.storm.StormTrackPoint stp)
                                throws VisADException,
                                       RemoteException
_more_

Parameters:
stormTrack - _more_
stp - _more_
Returns:
_more_
Throws:
RemoteException - _more_
VisADException - _more_

findClosestPoint

protected Object[] findClosestPoint(EarthLocation el,
                                    List<StormDisplayState> theStates,
                                    Real animationValue,
                                    int distanceThresholdPixels)
                             throws Exception
This finds the StormTrack and StormTrackPoint that is closest to the given location

Parameters:
el - _more_
theStates - _more_
animationValue - _more_
distanceThresholdPixels - _more_
Returns:
A 2-tuple. First element is the StormTrack. Second element is the ob. Or null if none found
Throws:
Exception - _more_

checkTracksVisible

private boolean checkTracksVisible(Real currentAnimationTime,
                                   WayDisplayState wds)
                            throws Exception
_more_

Parameters:
currentAnimationTime - _more_
wds - _more_
Returns:
_more_
Throws:
Exception - _more_

getClosestTimeForecastTrack

private ucar.unidata.data.storm.StormTrack getClosestTimeForecastTrack(List<ucar.unidata.data.storm.StormTrack> tracks,
                                                                       Real pTime)
                                                                throws VisADException
_more_

Parameters:
tracks - _more_
pTime - _more_
Returns:
_more_
Throws:
VisADException - _more_

setOkWays

public void setOkWays(Hashtable<String,Boolean> value)
Set the OkWays property.

Parameters:
value - The new value for OkWays

setObservationWay

public void setObservationWay(ucar.unidata.data.storm.Way value)
_more_

Parameters:
value - _more_

getOkWays

public Hashtable<String,Boolean> getOkWays()
Get the OkWays property.

Returns:
The OkWays

getObservationWay

public ucar.unidata.data.storm.Way getObservationWay()
_more_

Returns:
_more_

setOkParams

public void setOkParams(Hashtable<String,Boolean> value)
Set the OkParams property.

Parameters:
value - The new value for OkParams

getOkParams

public Hashtable<String,Boolean> getOkParams()
Get the OkParams property.

Returns:
The OkParams

setStartTime

public void setStartTime(String value)
Set the StartTime property.

Parameters:
value - The new value for StartTime

getStartTime

public String getStartTime()
Get the StartTime property.

Returns:
The StartTime

setEndTime

public void setEndTime(String value)
Set the EndTime property.

Parameters:
value - The new value for EndTime

getEndTime

public String getEndTime()
Get the EndTime property.

Returns:
The EndTime

setLocalStormDisplayState

public void setLocalStormDisplayState(StormDisplayState value)
Set the LocalStormDisplayState property.

Parameters:
value - The new value for LocalStormDisplayState

getLocalStormDisplayState

public StormDisplayState getLocalStormDisplayState()
Get the LocalStormDisplayState property.

Returns:
The LocalStormDisplayState

setYearTimeMode

public void setYearTimeMode(int value)
Set the YearTimeMode property.

Parameters:
value - The new value for YearTimeMode

getYearTimeMode

public int getYearTimeMode()
Get the YearTimeMode property.

Returns:
The YearTimeMode

setEditMode

public void setEditMode(boolean value)
Set the EditMode property.

Parameters:
value - The new value for EditMode

getEditMode

public boolean getEditMode()
Get the EditMode property.

Returns:
The EditMode

applyRange

protected void applyRange()
                   throws VisADException,
                          RemoteException
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
Apply the range it to the Displayables in the displayables list that are flagged with the FLAG_COLORTABLE

Overrides:
applyRange in class DisplayControlImpl
Throws:
VisADException
RemoteException