ucar.unidata.idv.control
Class DataTransectControl

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

public class DataTransectControl
extends CrossSectionControl

Class for displaying transects of data along a cross section line.

Version:
$Revision: 1.31 $
Author:
IDV developers

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.CrossSectionControl
coordTrans, crossSectionView, csSelector, dataIs3D, displayIs3D, endCoord, endLocation, SHARE_XSLINE, sizeX, sizeY, startCoord, startLocation, vcsDisplay, xsDisplay
 
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, 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, 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
DataTransectControl()
          Default Constructor
 
Method Summary
 void addToRangeMenu(RangeWidget rw, List items)
          Add an entry into the range menu
protected  void applyDisplayUnit()
          Apply the display unit to the data depictions.
protected  void applyRange()
          Apply the data range to the data depictions.
protected  void createCrossSectionSelector()
          Make a Selector line which shows and controls where cross section is
protected  DisplayableData createVCSDisplay()
          Create the DisplayableData that will be used to depict the data in the cross section view display.
protected  DisplayableData createXSDisplay()
          Create the DisplayableData that will be used to depict the data in the main display.
 void getControlWidgets(List controlWidgets)
          Add control widgets specific to this control to the list
protected  String getCrossSectionViewLabel()
          Get the label for the CrossSectionView
 int getLineWidth()
          Get the track width property.
protected  int getSelectorAttributeFlags()
          Return the attribute flags to apply to the cross section selector.
 boolean init(DataChoice dataChoice)
          Initialize the class.
protected  void load2DData(FieldImpl twoDData)
          Load the 2D data into the appropriate display(s)
protected  GriddedSet make2DDomainSet(GriddedSet domainSet)
          Make the domain for the 2D grid
 void setLineWidth(int width)
          Set the line width property.
protected  void setYAxisRange(XSDisplay display, Range range)
          Methods to do the things that need to be done when the data range changes.
protected  void updateViewParameters()
          Set the parameters for the view.
 
Methods inherited from class ucar.unidata.idv.control.CrossSectionControl
addDisplaySettings, addLabelMacros, addPropertiesComponents, addTopographyMap, applyPreferences, applySmoothing, applyZPosition, boxToEarth, canExportData, constrainDragPoint, convertToDisplay, createCrossSectionSelector, createXFromLatLon, crossSectionChanged, doApplyProperties, doExport, doMakeContents, doRemove, getAllowAutoScale, getAnimationInfo, getAutoScaleYAxis, getAutoUpdate, getCrossSectionSelector, getCrossSectionView, getCrossSectionViewManager, getCursorReadoutInner, getDataProjection, getDisplayedData, getDisplayTabComponent, getEditMenuItems, getEndPoint, getGridDisplayable, getInitialZPosition, getLineCoords, getLineVisible, getMacroNames, getSelectorAltitude, getStartPoint, getVerticalAxisRange, getVerticalCSDisplay, getViewManagerForCapture, getViewMenuItems, getXSDisplay, getZPositionSliderLabel, handleAddPoint, handleDragDirect, initAfterUnPersistence, initDone, loadData, loadDataFromLine, make2DData, projectionChanged, propertyChange, receiveShareData, reScale, setAllowAutoScale, setAnimationInfo, setAutoScaleYAxis, setAutoUpdate, setBackground, setCrossSectionView, setData, setDisplayMatrix, setEndCoord, setEndPoint, setForeground, setInitAlt, setInitLat1, setInitLat2, setInitLon1, setInitLon2, setLineVisible, setPosition, setStartCoord, setStartPoint, setVerticalAxisRange, shouldAddControlListener, transectChanged, updateLocationLabel, viewpointChanged
 
Methods inherited from class ucar.unidata.idv.control.GridDisplayControl
actionPerformed, addTopographyMap, convertColorRange, doMakeContourLevelControl, doMakeDataInstance, doMakeLevelControl, doMakeLevelControl, exportDisplayedData, getColorParamName, getColorRangeFromData, getColorRangeIndex, getColorUnit, getContourInfo, getCursorReadoutData, getDataRangeInColorUnits, 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, addNewData, addNoteText, addPropertyChangeListener, addRemovable, addSharable, addTimeModeWidget, addToControlContext, addToRangeMenu, addToRangeMenu, addViewManager, appendDataChoices, applyAttributesToDisplayables, applyColor, applyColorScaleInfo, applyColorTable, applyColorUnit, applyContourInfo, applyDisplaySetting, applyLineWidth, applyProperties, applyProperties, applyPropertyValues, applySelectRange, applySkipFactor, applyTextureQuality, applyTimeRange, boundsClose, canBeDocked, 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, doInitialUpdateLegendAndList, doMakeBottomLegendComponent, doMakeChangeColorMenu, doMakeChangeColorMenu, doMakeChangeParameterMenuItem, doMakeColorControl, doMakeColorControl, doMakeColorScales, doMakeMenuBar, doMakeMenuBarMenus, doMakePointSizeWidget, doMakeRemoveControl, doMakeSideLegendComponent, doMakeSkipFactorSlider, doMakeTextureSlider, doMakeVisibilityControl, doMakeWidgetComponent, doMakeWindow, doMakeZPositionSlider, findDisplayInfo, findDisplays, findDisplays, firePropertyChangeEvent, firstFrameDone, formatForCursorReadout, getActive, getAnimation, getAnimation, getAnimation, getAnimation, getAnimationWidget, getAttributeFlags, getCachedData, getCanDoRemoveAll, getCategories, getChangeParameterLabel, getCollapseLegend, getColor, getColorDimness, getColorScaleInfo, getColorTable, getColorTableForDisplayable, getColorTableToApply, getColorTableWidget, getColorUnitName, getColorWidgetLabel, getComponentHolder, getContents, getControlChangeSleepTime, getControlContext, getControlMenus, getCursorReadout, getCursorReadoutInner, getData, getDataChoice, getDataChoices, getDataForDisplayList, getDataInstance, getDataInstance, getDataProjectionForMenu, getDataProjectionLabel, getDataSelection, getDataSources, getDataTimeRange, getDataTimeRange, getDataTimeSet, getDebugDetails, getDefaultColorScaleInfo, getDefaultDisplayListTemplate, getDefaultDistanceUnit, getDefaultFastRendering, getDefaultSamplingMode, getDefaultSamplingModeValue, getDefaultView, getDefaultViewDescriptor, getDefaultViewManager, getDetailsContents, getDisplayAltitudeType, getDisplayCategory, getDisplayCenter, getDisplayConventions, getDisplayId, getDisplayInfos, getDisplayListColor, getDisplayListData, getDisplayListDisplayable, getDisplayListTemplate, getDisplayMaster, getDisplayName, getDisplayScale, getDisplayUnit, getDisplayUnitName, getDisplayVisibility, getDoCursorReadout, getEditMenuItems, getExpandedInTabs, getExtraLabelTemplate, getExtraLegendComponent, getExtraMenus, getFileMenuItems, getFileMenuItems, getGraphicsConfiguration, getGrid, getGrid, getHadDataChoices, getHaveInitialized, getHelpIds, getHelpMenuItems, getId, getIdv, getImage, getImage, getInitDataChoices, getInitialFastRendering, getInternalAnimation, getInternalAnimation, getIsRaster, getIsTimeDriver, getLabel, getLastFileMenuItems, getLegendButtons, getLegendComponent, getLegendLabel, getLegendLabels, getLegendLabelTemplate, getLegendToolTip, getLineWidthWidget, getLineWidthWidgetLabel, getLockVisibilityToggle, getLongParamName, getMainPanel, getMainPanelSize, getMakeWindow, getMapDisplay, getMapViewManager, getMapViewProjection, getMenuLabel, getMyDataChoices, getNavigatedDisplay, getNoteText, getObjectStore, getOkToFireEvents, getOldColorTableOrInitialColorTable, getOriginalDataChoicesLabel, getOuterContents, getPointSize, getProperty, getProperty, getPropertyDisplayName, getRange, getRangeForColorTable, getRangeToApply, getRequestProperties, getSamplingModeName, getSamplingModeValue, getSamplingModeValue, getSaveMenuItems, 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, getViewManagers, getViewMenuItems, getVisbilityAnimationPause, getWasUnPersisted, getWindow, getWindowSize, getWindowVisible, getWindowX, getWindowY, getZPosition, guiExported, guiImported, handleDisplayChanged, handleWindowClosing, hasMapProjection, hasTimeMacro, haveDataTimes, haveParameterDefaults, hide, hyperlinkUpdate, inGlobeDisplay, init, init, init, 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, reallySetAttributeFlags, redoGuiLayout, reloadDataSource, reloadDataSourceInThread, removeDataChoice, removeDisplayable, removeDisplayables, removeDisplayables, removeOnWindowClose, removePropertyChangeListener, resetData, resetDimness, resetViewManager, revertToDefaultColorTable, revertToDefaultColorTable, revertToDefaultRange, revertToDefaultRange, saveAsFavorite, saveAsParameterDefaults, saveAsPrototype, saveAsTemplate, saveDataChoiceInCache, saveImage, selectDataChoices, setAnimationSet, setAttributeFlags, setCachedData, setCanDoRemoveAll, setCategories, setCollapseLegend, setColor, setColorBrighter, setColorDimmer, setColorDimness, setColorScaleInfo, setColorScaleVisible, setColorTable, setColorTable, setColorTableName, setColorUnit, setColorUnitName, setComponentHolder, setContents, setContourInfo, setContourInfoParams, 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, 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, timeChanged, toFront, toggleNoteTextArea, toggleVisibilityForVectorGraphicsRendering, toggleWindow, toString, 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
 

Constructor Detail

DataTransectControl

public DataTransectControl()
Default Constructor

Method Detail

createCrossSectionSelector

protected void createCrossSectionSelector()
                                   throws VisADException,
                                          RemoteException
Make a Selector line which shows and controls where cross section is

Overrides:
createCrossSectionSelector in class CrossSectionControl
Throws:
RemoteException - Java RMI error
VisADException - VisAD error

getSelectorAttributeFlags

protected int getSelectorAttributeFlags()
Return the attribute flags to apply to the cross section selector.

Overrides:
getSelectorAttributeFlags in class CrossSectionControl
Returns:
Flags to use

getControlWidgets

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

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

createVCSDisplay

protected DisplayableData createVCSDisplay()
                                    throws VisADException,
                                           RemoteException
Create the DisplayableData that will be used to depict the data in the cross section view display.

Specified by:
createVCSDisplay in class CrossSectionControl
Returns:
depictor for data in main display
Throws:
VisADException - unable to create depictor
RemoteException - unable to create depictor (shouldn't happen)

createXSDisplay

protected DisplayableData createXSDisplay()
                                   throws VisADException,
                                          RemoteException
Create the DisplayableData that will be used to depict the data in the main display.

Specified by:
createXSDisplay in class CrossSectionControl
Returns:
depictor for data in main display
Throws:
VisADException - unable to create depictor
RemoteException - unable to create depictor (shouldn't happen)

init

public boolean init(DataChoice dataChoice)
             throws VisADException,
                    RemoteException
Initialize the class.

Overrides:
init in class CrossSectionControl
Parameters:
dataChoice - data description
Returns:
true if successful
Throws:
RemoteException - Java RMI error
VisADException - VisAD error

load2DData

protected void load2DData(FieldImpl twoDData)
                   throws VisADException,
                          RemoteException
Load the 2D data into the appropriate display(s)

Overrides:
load2DData in class CrossSectionControl
Parameters:
twoDData - cross section slice converted to 2D
Throws:
RemoteException - Java RMI error
VisADException - VisAD error

addToRangeMenu

public void addToRangeMenu(RangeWidget rw,
                           List items)
Add an entry into the range menu

Overrides:
addToRangeMenu in class DisplayControlImpl
Parameters:
rw - The widget that manages the range dialog
items - List of menu items

applyDisplayUnit

protected void applyDisplayUnit()
                         throws VisADException,
                                RemoteException
Apply the display unit to the data depictions.

Overrides:
applyDisplayUnit in class DisplayControlImpl
Throws:
VisADException - error applying unit
RemoteException - error applying unit

applyRange

protected void applyRange()
                   throws VisADException,
                          RemoteException
Apply the data range to the data depictions.

Overrides:
applyRange in class DisplayControlImpl
Throws:
VisADException - error applying unit
RemoteException - error applying unit

getCrossSectionViewLabel

protected String getCrossSectionViewLabel()
Get the label for the CrossSectionView

Overrides:
getCrossSectionViewLabel in class CrossSectionControl
Returns:
return the name of the cross section view

updateViewParameters

protected void updateViewParameters()
                             throws VisADException,
                                    RemoteException
Set the parameters for the view. Mostly deals with the vertical scale.

Overrides:
updateViewParameters in class CrossSectionControl
Throws:
RemoteException - Java RMI error
VisADException - VisAD error

setYAxisRange

protected void setYAxisRange(XSDisplay display,
                             Range range)
                      throws VisADException,
                             RemoteException
Methods to do the things that need to be done when the data range changes.

Overrides:
setYAxisRange in class CrossSectionControl
Parameters:
display - the display to modify
range - Range of values in units of Y Axis
Throws:
RemoteException - Java RMI error
VisADException - VisAD error

make2DDomainSet

protected GriddedSet make2DDomainSet(GriddedSet domainSet)
                              throws VisADException,
                                     RemoteException
Make the domain for the 2D grid

Overrides:
make2DDomainSet in class CrossSectionControl
Parameters:
domainSet - the domain to be 2D'ized
Returns:
the 2D ized grid
Throws:
RemoteException - Java RMI error
VisADException - VisAD error

setLineWidth

public void setLineWidth(int width)
Set the line width property. Used by persistence

Overrides:
setLineWidth in class DisplayControlImpl
Parameters:
width - width for line (pixels)

getLineWidth

public int getLineWidth()
Get the track width property. Used by persistence

Overrides:
getLineWidth in class DisplayControlImpl
Returns:
width