ucar.unidata.idv.control
Class VerticalProfileControl

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

public class VerticalProfileControl
extends LineProbeControl

Given a VisAD Field, make a 2D plot of the range data against one of the 3 domain coordinates.

Version:
$Revision: 1.16 $Date: 2007/07/24 15:59:26 $
Author:
IDV Development Team

Nested Class Summary
 class VerticalProfileControl.SamplingEditor
          If user clicks on the "sampling" column, a popup menu appears with choices for the grid value sampling method.
 
Nested classes/interfaces inherited from class ucar.unidata.idv.control.DisplayControlImpl
DisplayControlImpl.SideLegendLabel
 
Field Summary
static int COL_NAME
          Column name property
static int COL_SAMPLING
          Column sampling property
static int NUM_COLS
          number of columns
static String SHARE_PROFILE
          profile sharing property
 
Fields inherited from class ucar.unidata.idv.control.LineProbeControl
positionText
 
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
VerticalProfileControl()
          Default constructor; set attribute flags
 
Method Summary
protected  void addNewData(List newChoices)
          Override base class method which is called when the user has selected new data choices.
protected  Container doMakeContents()
          Make the UI contents for this control.
protected  void doMoveProbe()
          Method called when probe is moved.
protected  String getChangeParameterLabel()
          Return the appropriate label text for the menu.
 VerticalProfileChart getChart()
          Get the chart
 DataChoice getDataChoiceAtRow(int row)
          Get the DataChoice associated with the parameter at a particular row.
protected  JComponent getExtraLegendComponent(int legendType)
          Assume that any display controls that have a color table widget will want the color table to show up in the legend.
 List getInfos()
          Get the Infos property.
protected  void getSaveMenuItems(List items, boolean forMenuBar)
          Add the relevant file menu items into the list
 boolean getShowTable()
          Get the ShowTable property.
 VerticalProfileChart getVerticalProfileChart()
          Get the Chart property.
protected  void getViewMenuItems(List items, boolean forMenuBar)
          Make the view menu items
 boolean init(DataChoice dataChoice)
          Construct the vertical profile display and control buttons
 boolean init(List choices)
          Construct the vertical profile display and control buttons
 void initDone()
          Called after init().
 void loadProfile(RealTuple position)
          Given the location of the profile SelectorPoint, and a FieldImpl for one or more times for animation, create a data set for a profile at the profile's SP location.
protected  void probePositionChanged(RealTuple position)
          This gets called by the base class LineProbeControl class when the probe positon has changed (either through user interaction or through the sharing framework.
protected  void processNewData(List newChoices)
          Override base class method which is called when the user has selected new data choices.
protected  void resetData()
          Override base class method to just trigger a redisplay of the data.
 void setInfos(List value)
          Set the Infos property.
 void setShowTable(boolean value)
          Set the ShowTable property.
 void setShowThumbNail(boolean value)
          Set the ShowThumbNail property.
 void setVerticalProfileChart(VerticalProfileChart value)
          Set the Chart property.
 void showLineProperties(VerticalProfileInfo vpInfo)
          Show the line properties editor
protected  void timeChanged(Real time)
          Respond to a timeChange event
 
Methods inherited from class ucar.unidata.idv.control.LineProbeControl
addLabelMacros, decreaseProbeSize, doMakeProbe, doMakeProbe, doMakeProbe, doMakeProbe, doMakeProbeMenu, getEditMenuItems, getGridCenterPosition, getInitialLinePosition, getInitialPosition, getLegendLabels, getMacroNames, getMarker, getPointSize, getPosition, increaseProbeSize, projectionChanged, propertyChange, receiveShareData, resetProbePosition, setMarker, setPointSize, setPosition, setProbePosition, setProbePosition, updateLegendLabel
 
Methods inherited from class ucar.unidata.idv.control.GridDisplayControl
actionPerformed, addTopographyMap, convertColorRange, doMakeContourLevelControl, doMakeDataInstance, doMakeLevelControl, doMakeLevelControl, getColorParamName, getColorRangeFromData, getColorRangeIndex, getColorUnit, getContourInfo, getCursorReadoutData, getCursorReadoutInner, getDataProjection, getDefaultContourInfo, getDisplayUnit, getGridDataInstance, getInitialColorTable, getInitialRange, getRawDataUnit, haveMultipleFields, 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, addDisplaySettings, 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, 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, getCollapseLegend, getColor, getColorDimness, getColorScaleInfo, getColorTable, getColorTableForDisplayable, getColorTableToApply, getColorTableWidget, getColorUnitName, getColorWidgetLabel, getComponentHolder, getContents, getControlChangeSleepTime, getControlContext, getControlWidgets, getCursorReadout, getDataChoice, getDataChoices, getDataInstance, getDataInstance, 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, getDisplayUnitName, getDisplayVisibility, getDoCursorReadout, getEditMenuItems, getExpandedInTabs, getExtraLabelTemplate, getExtraMenus, getFileMenuItems, getFileMenuItems, getGraphicsConfiguration, getHadDataChoices, getHaveInitialized, getHelpIds, getHelpMenuItems, getId, getIdv, getImage, getImage, getInitDataChoices, getInitialZPosition, getLabel, getLastFileMenuItems, getLegendButtons, getLegendComponent, getLegendLabel, getLegendLabelTemplate, getLegendToolTip, getLineWidth, getLineWidthWidget, getLineWidthWidgetLabel, getLockVisibilityToggle, getLongParamName, getMainPanel, getMainPanelSize, getMakeWindow, getMapDisplay, getMapViewManager, getMapViewProjection, getMenuLabel, getMyDataChoices, getNavigatedDisplay, getNoteText, getObjectStore, getOkToFireEvents, getOldColorTableOrInitialColorTable, getOriginalDataChoicesLabel, getOuterContents, getProperty, getProperty, getPropertyDisplayName, getRange, getRangeForColorTable, getRangeToApply, getRequestProperties, getSamplingModeName, getSamplingModeValue, 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, initAfterUnPersistence, initAfterUnPersistence, initAsPrototype, initAsTemplate, initBasic, initializeWithNewData, initWindow, isDisplay3D, isGuiShown, isInitDone, isInTransectView, isInViewManager, itemStateChanged, makeChangeColorMenuItems, makeLegendLabel, makeLockButton, makeRemoveButton, moveTo, notifyViewManagersOfChange, parseProperties, popup, popupDataDialog, popupDataDialog, popupDataDialog, processRequestProperties, putTransientProperty, redoGuiLayout, reloadDataSource, reloadDataSourceInThread, removeDataChoice, removeDisplayable, removeDisplayables, removeOnWindowClose, removePropertyChangeListener, 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, toFront, toggleNoteTextArea, toggleWindow, toString, transectChanged, updateAnimation, updateDisplayList, updateLegendAndList, 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

COL_NAME

public static final int COL_NAME
Column name property

See Also:
Constant Field Values

COL_SAMPLING

public static final int COL_SAMPLING
Column sampling property

See Also:
Constant Field Values

NUM_COLS

public static final int NUM_COLS
number of columns

See Also:
Constant Field Values

SHARE_PROFILE

public static final String SHARE_PROFILE
profile sharing property

See Also:
Constant Field Values
Constructor Detail

VerticalProfileControl

public VerticalProfileControl()
Default constructor; set attribute flags

Method Detail

init

public boolean init(DataChoice dataChoice)
             throws VisADException,
                    RemoteException
Construct the vertical profile display and control buttons

Overrides:
init in class DisplayControlImpl
Parameters:
dataChoice - data description
Returns:
true if successful
Throws:
VisADException - couldn't create a VisAD object needed
RemoteException - couldn't create a remote object needed

init

public boolean init(List choices)
             throws VisADException,
                    RemoteException
Construct the vertical profile display and control buttons

Overrides:
init in class DisplayControlImpl
Parameters:
choices - data choices
Returns:
true if successful
Throws:
VisADException - couldn't create a VisAD object needed
RemoteException - couldn't create a remote object needed

initDone

public void initDone()
Called after init(). Load profile into display.

Overrides:
initDone in class DisplayControlImpl

getExtraLegendComponent

protected JComponent getExtraLegendComponent(int legendType)
Assume that any display controls that have a color table widget will want the color table to show up in the legend.

Overrides:
getExtraLegendComponent in class DisplayControlImpl
Parameters:
legendType - type of legend
Returns:
The extra JComponent to use in legend

timeChanged

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

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

doMakeContents

protected Container doMakeContents()
                            throws VisADException,
                                   RemoteException
Make the UI contents for this control.

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

processNewData

protected void processNewData(List newChoices)
                       throws VisADException,
                              RemoteException
Override base class method which is called when the user has selected new data choices.

Parameters:
newChoices - new list of choices
Throws:
RemoteException - Java RMI error
VisADException - VisAD Error

resetData

protected void resetData()
                  throws VisADException,
                         RemoteException
Override base class method to just trigger a redisplay of the data.

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

doMoveProbe

protected void doMoveProbe()
Method called when probe is moved.

Overrides:
doMoveProbe in class LineProbeControl

addNewData

protected void addNewData(List newChoices)
                   throws VisADException,
                          RemoteException
Override base class method which is called when the user has selected new data choices.

Overrides:
addNewData in class DisplayControlImpl
Parameters:
newChoices - new list of choices
Throws:
RemoteException - Java RMI error
VisADException - VisAD Error

getDataChoiceAtRow

public DataChoice getDataChoiceAtRow(int row)
Get the DataChoice associated with the parameter at a particular row.

Parameters:
row - row index
Returns:
the associated DataChoice

getChangeParameterLabel

protected String getChangeParameterLabel()
Return the appropriate label text for the menu.

Overrides:
getChangeParameterLabel in class DisplayControlImpl
Returns:
the label text

probePositionChanged

protected void probePositionChanged(RealTuple position)
This gets called by the base class LineProbeControl class when the probe positon has changed (either through user interaction or through the sharing framework.

Overrides:
probePositionChanged in class LineProbeControl
Parameters:
position - new position

loadProfile

public void loadProfile(RealTuple position)
                 throws VisADException,
                        RemoteException
Given the location of the profile SelectorPoint, and a FieldImpl for one or more times for animation, create a data set for a profile at the profile's SP location. Create a vertical line showing where profile is in the data.

Parameters:
position - new position for profile
Throws:
VisADException - VisAD failure.
RemoteException - Java RMI failure.

getSaveMenuItems

protected void getSaveMenuItems(List items,
                                boolean forMenuBar)
Add the relevant file menu items into the list

Overrides:
getSaveMenuItems 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 items,
                                boolean forMenuBar)
Make the view menu items

Overrides:
getViewMenuItems in class DisplayControlImpl
Parameters:
items - List of menu items
forMenuBar - forMenuBar

showLineProperties

public void showLineProperties(VerticalProfileInfo vpInfo)
Show the line properties editor

Parameters:
vpInfo - the VerticalProfileInfo

setShowThumbNail

public void setShowThumbNail(boolean value)
Set the ShowThumbNail property.

Parameters:
value - The new value for ShowThumbNail

setShowTable

public void setShowTable(boolean value)
Set the ShowTable property.

Parameters:
value - The new value for ShowTable

getShowTable

public boolean getShowTable()
Get the ShowTable property.

Returns:
The ShowTable

setInfos

public void setInfos(List value)
Set the Infos property.

Parameters:
value - The new value for Infos

getInfos

public List getInfos()
Get the Infos property.