ucar.unidata.idv.control
Class AerologicalSoundingControl

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.AerologicalSoundingControl
All Implemented Interfaces:
ActionListener, ItemListener, PropertyChangeListener, EventListener, HyperlinkListener, Sharable, DataChangeListener, DisplayControl, Prototypable, AerologicalDisplayConstants, ControlListener, DisplayListener
Direct Known Subclasses:
GriddedSoundingControl, RaobSoundingControl, SkewTControl, TrackSoundingControl

public abstract class AerologicalSoundingControl
extends DisplayControlImpl
implements AerologicalDisplayConstants

Abstract class for displaying an aerological Skew-T log p diagram of an atmospheric sounding.

Version:
$Revision: 1.30 $Date: 2007/05/23 20:45:24 $
Author:
IDV Development Team

Nested Class Summary
 
Nested classes/interfaces inherited from class ucar.unidata.idv.control.DisplayControlImpl
DisplayControlImpl.SideLegendLabel
 
Field Summary
protected  AerologicalDisplay aeroDisplay
          The Skew-T log p display.
protected  Hodograph3DDisplay hodoDisplay
          The 3D hodograph display.
protected  SoundingViewManager soundingView
          The view manager for this control
 
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.view.sounding.AerologicalDisplayConstants
EMAGRAM_DISPLAY, SKEWT_DISPLAY, STUVE_DISPLAY
 
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
 
Method Summary
 void addPropertiesComponents(JTabbedPane jtp)
          Add tabs to the properties dialog.
 boolean doApplyProperties()
          Apply the properties
protected  Container doMakeContents()
          Creates the Skew-T display component.
 void doRemove()
          Remove this control.
 String getDisplayType()
          Get the type of display.
protected  void getEditMenuItems(List items, boolean forMenuBar)
          Add the relevant edit menu items into the list
protected  LatLonPoint getLocation()
          Gets the location of the profile.
 ParcelMode getParcelMode()
          Returns the mode that is used to determine the initial conditions of the lifted parcel.
 SoundingViewManager getSoundingView()
          Get the SoundingView property.
protected  String getSpatialLociLabel()
          Return the label used for the spatial loci checkbox.
 boolean getSpatialLociVisible()
          Returns the visibility of the spatial loci in the main, 3D window.
 boolean getTrajectoryActive()
          Indicates if this instance displays the path of a lifted parcel.
static String getTypeLabel(String displayType)
          Get the label for the type of display
protected  void getViewMenuItems(List menus, boolean forMenuBar)
          Add the relevant view menu items into the list
 boolean getVirtTempActive()
          Indicates whether or not this instance is or will display virtual temperature paths.
 String getWindBarbSpacing()
          Get the wind barb spacing as a String
 boolean isDisplayType(String type)
          See if the display type in question is the same as this type.
 void propertyChange(PropertyChangeEvent event)
          Handle property change
 void setDisplayType(String type)
          Set the type of display.
 void setDisplayVisibility(boolean on)
          Override base class method so we can control the visiblity of the grid points.
 void setParcelMode(ParcelMode mode)
          Sets the mode used to determine the initial conditions of the lifted parcel.
 void setSoundingView(SoundingViewManager value)
          Set the SoundingView property.
protected  void setSpatialLoci(Displayable loci)
          Set the spatial location displayable
 void setSpatialLociVisible(boolean visible)
          Sets the visibility of the spatial loci in the main, 3D window.
 void setTrajectoryActive(boolean active)
          Sets whether or not this instance will display the path of a lifted parcel.
 void setVirtTempActive(boolean active)
          Sets whether or not this instance will display virtual temperature paths.
 void setWindBarbSpacing(String newSpacing)
          Set the wind barb spacing.
protected  String xxxgetTitle()
          Returns the title of this display.
 
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, 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, doMakeBottomLegendComponent, doMakeChangeColorMenu, doMakeChangeColorMenu, doMakeChangeParameterMenuItem, doMakeColorControl, doMakeColorControl, doMakeColorScales, doMakeDataInstance, doMakeMenuBar, doMakeMenuBarMenus, doMakeRemoveControl, doMakeSideLegendComponent, doMakeSkipFactorSlider, 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, getControlWidgets, 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, getExpandedInTabs, getExtraLabelTemplate, getExtraLegendComponent, getExtraMenus, getFileMenuItems, getFileMenuItems, getGraphicsConfiguration, getHadDataChoices, getHaveInitialized, getHelpIds, getHelpMenuItems, getId, getIdv, getImage, getImage, getInitDataChoices, getInitialColorTable, getInitialRange, 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, getWasUnPersisted, getWindow, getWindowSize, getWindowVisible, getWindowX, getWindowY, getZPosition, getZPositionSliderLabel, guiExported, guiImported, handleDisplayChanged, handleWindowClosing, hasMapProjection, haveDataTimes, haveParameterDefaults, hide, hyperlinkUpdate, init, init, init, init, initAfterUnPersistence, initAfterUnPersistence, initAsPrototype, initAsTemplate, initBasic, initDone, initializeWithNewData, initWindow, isDisplay3D, isDisplayUnitAlsoColorUnit, isGuiShown, isInitDone, isInTransectView, isInViewManager, itemStateChanged, makeChangeColorMenuItems, makeLegendLabel, makeLockButton, makeRemoveButton, moveTo, notifyViewManagersOfChange, parseProperties, popup, popupDataDialog, popupDataDialog, popupDataDialog, processRequestProperties, projectionChanged, 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, 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

soundingView

protected SoundingViewManager soundingView
The view manager for this control


aeroDisplay

protected AerologicalDisplay aeroDisplay
The Skew-T log p display.


hodoDisplay

protected Hodograph3DDisplay hodoDisplay
The 3D hodograph display.

Method Detail

propertyChange

public void propertyChange(PropertyChangeEvent event)
Handle property change

Specified by:
propertyChange in interface PropertyChangeListener
Overrides:
propertyChange in class DisplayControlImpl
Parameters:
event - The event

addPropertiesComponents

public void addPropertiesComponents(JTabbedPane jtp)
Add tabs to the properties dialog.

Overrides:
addPropertiesComponents in class DisplayControlImpl
Parameters:
jtp - the JTabbedPane to add to

doApplyProperties

public boolean doApplyProperties()
Apply the properties

Overrides:
doApplyProperties in class DisplayControlImpl
Returns:
true if successful

doRemove

public void doRemove()
              throws VisADException,
                     RemoteException
Remove this control. Call the parent class doRemove and clears references to gridLocs, etc.

Specified by:
doRemove in interface DisplayControl
Overrides:
doRemove in class DisplayControlImpl
Throws:
RemoteException - Java RMI error
VisADException - VisAD error

setSpatialLoci

protected void setSpatialLoci(Displayable loci)
Set the spatial location displayable

Parameters:
loci - Displayable for spatial locations

setSpatialLociVisible

public void setSpatialLociVisible(boolean visible)
                           throws VisADException,
                                  RemoteException
Sets the visibility of the spatial loci in the main, 3D window.

Parameters:
visible - If true, then the loci will be rendered visible; otherwise, they will be rendered invisible.
Throws:
RemoteException - Java RMI error
VisADException - VisAD error

setDisplayVisibility

public void setDisplayVisibility(boolean on)
Override base class method so we can control the visiblity of the grid points.

Specified by:
setDisplayVisibility in interface DisplayControl
Overrides:
setDisplayVisibility in class DisplayControlImpl
Parameters:
on - true to make it visible

getSpatialLociVisible

public boolean getSpatialLociVisible()
Returns the visibility of the spatial loci in the main, 3D window. otherwise, they will be rendered invisible.

Returns:
true if loci are visible

xxxgetTitle

protected final String xxxgetTitle()

Returns the title of this display.

Returns:
The title of this display.

getTrajectoryActive

public final boolean getTrajectoryActive()
Indicates if this instance displays the path of a lifted parcel.

Returns:
True if and only if the path is or will be displayed.

setTrajectoryActive

public final void setTrajectoryActive(boolean active)
                               throws VisADException,
                                      RemoteException
Sets whether or not this instance will display the path of a lifted parcel.

Parameters:
active - Whether or not to display the path.
Throws:
VisADException - if a VisAD failure occurs.
RemoteException - if a Java RMI failure occurs.

getVirtTempActive

public final boolean getVirtTempActive()
Indicates whether or not this instance is or will display virtual temperature paths.

Returns:
True if and only if virtual temperature paths are or will be displayed.

setVirtTempActive

public final void setVirtTempActive(boolean active)
                             throws VisADException,
                                    RemoteException
Sets whether or not this instance will display virtual temperature paths.

Parameters:
active - Whether or not to display virtual temperature paths.
Throws:
VisADException - if a VisAD failure occurs.
RemoteException - if a Java RMI failure occurs.

getParcelMode

public final ParcelMode getParcelMode()
Returns the mode that is used to determine the initial conditions of the lifted parcel.

Returns:
The mode used to determine the initial conditions of the lifted parcel.

setParcelMode

public final void setParcelMode(ParcelMode mode)
                         throws VisADException,
                                RemoteException
Sets the mode used to determine the initial conditions of the lifted parcel.

Parameters:
mode - The mode used to determine the initial conditions of the lifted parcel.
Throws:
VisADException - if a VisAD failure occurs.
RemoteException - if a Java RMI failure occurs.

doMakeContents

protected Container doMakeContents()
                            throws VisADException,
                                   RemoteException
Creates the Skew-T display component.

Overrides:
doMakeContents in class DisplayControlImpl
Returns:
The Skew-T display component.
Throws:
VisADException - if a VisAD failure occurs.
RemoteException - if a Java RMI failure occurs.

getSpatialLociLabel

protected String getSpatialLociLabel()
Return the label used for the spatial loci checkbox. This can get overwritten by derived classes to return the correct label.

Returns:
true if they are visible

getLocation

protected final LatLonPoint getLocation()
Gets the location of the profile.

Returns:
The location of the profile (may be null).

getEditMenuItems

protected void getEditMenuItems(List items,
                                boolean forMenuBar)
Add the relevant edit menu items into the list

Overrides:
getEditMenuItems in class DisplayControlImpl
Parameters:
items - List of menu items
forMenuBar - Is this for the menu in the window's menu bar or for a popup menu in the legend

getViewMenuItems

protected void getViewMenuItems(List menus,
                                boolean forMenuBar)
Add the relevant view menu items into the list

Overrides:
getViewMenuItems in class DisplayControlImpl
Parameters:
menus - List of menu items
forMenuBar - Is this for the menu in the window's menu bar or for a popup menu in the legend

isDisplayType

public boolean isDisplayType(String type)
See if the display type in question is the same as this type.

Parameters:
type - display type
Returns:
true if display types are the same

setDisplayType

public void setDisplayType(String type)
Set the type of display. Used by persistence.

Parameters:
type - the display type

getDisplayType

public String getDisplayType()
Get the type of display. Used by persistence.

Returns:
the display type

getWindBarbSpacing

public String getWindBarbSpacing()
Get the wind barb spacing as a String

Returns:
String representation of the wind barb spacing

setWindBarbSpacing

public void setWindBarbSpacing(String newSpacing)
Set the wind barb spacing.

Parameters:
newSpacing - either ALL_LEVELS or MANDATORY_LEVELS, or the value as a String.

getTypeLabel

public static String getTypeLabel(String displayType)
Get the label for the type of display

Parameters:
displayType - type name
Returns:
the label

setSoundingView

public void setSoundingView(SoundingViewManager value)
Set the SoundingView property.

Parameters:
value - The new value for SoundingView

getSoundingView

public SoundingViewManager getSoundingView()
Get the SoundingView property.

Returns:
The SoundingView