ucar.unidata.idv.control
Class FlowPlanViewControl

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

public class FlowPlanViewControl
extends PlanViewControl
implements FlowDisplayControl

A plan view control for flow data (vector or wind barbs)

Version:
$Revision: 1.65 $
Author:
IDV Development Team

Nested Class Summary
 
Nested classes/interfaces inherited from class ucar.unidata.idv.control.DisplayControlImpl
DisplayControlImpl.SideLegendLabel
 
Field Summary
protected  float scaleFactor
          a scale factor
 
Fields inherited from class ucar.unidata.idv.control.PlanViewControl
currentLevel, currentLevels, currentSlice, datachoice, levelReadout, MACRO_LEVEL, SHARE_LEVEL
 
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.control.FlowDisplayControl
SHARE_FLOWRANGE, SHARE_FLOWSCALE
 
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
FlowPlanViewControl()
          Create a new FlowPlanViewControl; set attribute flags
 
Method Summary
protected  void addTopographyMap()
          Wrapper around GridDisplayControl.addTopographyMap(int) to allow subclasses to set their own index.
protected  DisplayableData createPlanDisplay()
          Create the Displayable for the data depiction.
 void densitySliderChanged(int value)
          The streamline density slider changed
protected  JComponent doMakeDensityComponent()
          Create the streamline density slider
protected  JComponent doMakeFlowRangeComponent()
          Create the streamline density slider
 Range getColorRangeFromData()
          Return the range attribute of the colorTable (if non-null) else return null;
protected  int getColorRangeIndex()
          Returns the index to use in the GridDataInstance array of ranges for color ranges.
 String getColorWidgetLabel()
          Get the color table widget label text.
 void getControlWidgets(List controlWidgets)
          Get control widgets special to this control.
 Range getFlowRange()
          Get the flow range.
 float getFlowScale()
          Get the flow scale.
 boolean getIsThreeComponents()
          Get the use 3 components property.
protected  Range getLevelColorRange()
          Get the range for the current slice.
 float getStreamlineDensity()
          Get the streamline density.
 boolean getStreamlines()
          Get the streamline property.
 boolean getWindbarbs()
          Get the wind barb property.
protected  boolean haveMultipleFields()
          Return whether the Data held by this display control contains multiple fields (e.g., for the isosurface colored by another parameter
 void receiveShareData(Sharable from, Object dataId, Object[] data)
          Method called by other classes that share the the state.
protected  boolean setData(DataChoice dataChoice)
          Called to initialize this control from the given dataChoice; override super class instance to set skip factor before displaying data.
 void setFlowRange(Range f)
          Set the flow range.
 void setFlowScale(float f)
          Set the flow scale.
 void setIsThreeComponents(boolean v)
          Set the use 3 components property.
 void setScaleFactor(float s)
          Set the scale factor.
 void setStreamlineDensity(float f)
          Set the streamline density.
 void setStreamlines(boolean v)
          Set the streamline property.
 void setWindbarbs(boolean v)
          Set the wind barb property.
 boolean showColorControlWidget()
          Show the color control widget in the widgets if FLAG_COLOR is set.
 
Methods inherited from class ucar.unidata.idv.control.PlanViewControl
addDisplaySettings, addLabelMacros, addToRangeMenu, applySkipFactor, canExportData, doMakeContents, doMakeDataInstance, formatLevel, getCursorReadoutData, getCursorReadoutInner, getDataProjectionLabel, getDisplayedData, getEditMenuItems, getGridDisplayable, getIgnoreVerticalDimension, getLegendLabels, getLevel, getLevelsLabel, getMacroNames, getMultipleIsTopography, getPlanDisplay, getSliceForDisplay, haveLevels, init, loadDataAtLevel, projectionChanged, propertyChange, setDataSelectionLevel, setIgnoreVerticalDimension, setLevel, setLevelFromUser, setLevelReadoutLabel, setLevels, setMultipleIsTopography, setSettingsLevel, shouldShowLevelWidget, shouldShowZSelector, shouldUseZPosition
 
Methods inherited from class ucar.unidata.idv.control.GridDisplayControl
actionPerformed, addTopographyMap, convertColorRange, doMakeContourLevelControl, doMakeLevelControl, doMakeLevelControl, getColorParamName, getColorUnit, getContourInfo, getDataProjection, getDefaultContourInfo, getDisplayUnit, getGridDataInstance, getInitialColorTable, getInitialRange, getRawDataUnit, initializeDefaultContourInfo, isDisplayUnitAlsoColorUnit, setLevel
 
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, addPropertiesComponents, addPropertyChangeListener, addSharable, addToRangeMenu, addToRangeMenu, addViewManager, appendDataChoices, applyAttributesToDisplayables, applyColor, applyColorScaleInfo, applyColorTable, applyColorUnit, applyContourInfo, applyDisplaySetting, applyDisplayUnit, applyLineWidth, applyPreferences, applyProperties, applyProperties, applyPropertyValues, applyRange, applySelectRange, applyTimeRange, applyZPosition, boundsClose, canBeDocked, canSaveDataInCache, captureWindow, changeColorUnit, changeDisplayUnit, checkFlag, checkIfDataOk, checkImageSize, clearDataInstance, clearPrototype, clearViewManagers, close, colorUnitChanged, controlChanged, convertColorRange, convertRange, createDisplayListDisplayable, createIdvWindow, dataChanged, deactivateDisplays, debug, displayableToFront, displayChanged, displayControlFailed, displayUnitChanged, doApplyProperties, doMakeBottomLegendComponent, doMakeChangeColorMenu, doMakeChangeColorMenu, doMakeChangeParameterMenuItem, doMakeColorControl, doMakeColorControl, doMakeColorScales, doMakeMenuBar, doMakeMenuBarMenus, doMakeRemoveControl, doMakeSideLegendComponent, doMakeSkipFactorSlider, doMakeVisibilityControl, doMakeWidgetComponent, doMakeWindow, doMakeZPositionSlider, doRemove, exportDisplayedData, findDisplayInfo, findDisplays, findDisplays, firePropertyChangeEvent, firstFrameDone, formatForCursorReadout, getActive, getAnimation, getAnimation, getAnimation, getAnimation, getAnimationInfo, getAnimationWidget, getAttributeFlags, getCachedData, getCanDoRemoveAll, getCategories, getChangeParameterLabel, getCollapseLegend, getColor, getColorDimness, getColorScaleInfo, getColorTable, getColorTableForDisplayable, getColorTableToApply, getColorTableWidget, getColorUnitName, getComponentHolder, getContents, getControlChangeSleepTime, getControlContext, getCursorReadout, getDataChoice, getDataChoices, getDataInstance, getDataInstance, getDataProjectionForMenu, getDataSelection, getDataSources, getDataTimeRange, getDataTimeRange, getDataTimeSet, getDebugDetails, getDefaultColorScaleInfo, 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, 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, getSaveMenuItems, getSelectRange, getSelectRangeEnabled, getSelectRangeWidget, getSettingsPanel, getShortParamName, getShowInDisplayList, getShowInLegend, getShowInTabs, getShowNoteText, getSkipValue, getSkipWidgetLabel, getStore, getTemplateName, getTimeSet, getTitle, getTransientProperty, getUnitForColor, getUseFastRendering, getUseTimesInAnimation, getVersion, getVerticalValue, getViewContext, getViewer, getViewManager, getViewManager, getViewManager, getViewManagerClassNames, getViewManagers, getViewMenuItems, getViewMenuItems, getWasUnPersisted, getWindow, getWindowSize, getWindowVisible, getWindowX, getWindowY, getZPosition, getZPositionSliderLabel, guiExported, guiImported, handleDisplayChanged, handleWindowClosing, hasMapProjection, haveDataTimes, haveParameterDefaults, hide, hyperlinkUpdate, init, init, init, initAfterUnPersistence, initAfterUnPersistence, initAsPrototype, initAsTemplate, initBasic, initDone, initializeWithNewData, initWindow, isDisplay3D, isGuiShown, isInitDone, isInTransectView, isInViewManager, itemStateChanged, makeChangeColorMenuItems, makeLegendLabel, makeLockButton, makeRemoveButton, moveTo, notifyViewManagersOfChange, parseProperties, popup, popupDataDialog, popupDataDialog, popupDataDialog, processRequestProperties, putTransientProperty, redoGuiLayout, reloadDataSource, reloadDataSourceInThread, removeDataChoice, removeDisplayable, removeDisplayables, removeOnWindowClose, removePropertyChangeListener, resetData, resetDimness, resetViewManager, revertToDefaultColorTable, revertToDefaultColorTable, revertToDefaultRange, revertToDefaultRange, saveAsFavorite, saveAsParameterDefaults, saveAsPrototype, saveAsTemplate, saveDataChoiceInCache, saveImage, setAnimationInfo, setAnimationSet, setAttributeFlags, setCachedData, setCanDoRemoveAll, setCategories, setCollapseLegend, setColor, setColorBrighter, setColorDimmer, setColorDimness, setColorScaleInfo, setColorScaleVisible, setColorTable, setColorTable, setColorTableName, setColorUnit, setColorUnitName, setComponentHolder, setContents, setContourInfo, setContourInfoParams, setData, setDataChoices, 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, 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

scaleFactor

protected final float scaleFactor
a scale factor

See Also:
Constant Field Values
Constructor Detail

FlowPlanViewControl

public FlowPlanViewControl()
Create a new FlowPlanViewControl; set attribute flags

Method Detail

getColorWidgetLabel

public String getColorWidgetLabel()
Get the color table widget label text.

Overrides:
getColorWidgetLabel in class DisplayControlImpl
Returns:
the label text.

createPlanDisplay

protected DisplayableData createPlanDisplay()
                                     throws VisADException,
                                            RemoteException
Create the Displayable for the data depiction.

Specified by:
createPlanDisplay in class PlanViewControl
Returns:
the Displayable.
Throws:
RemoteException - Java RMI error
VisADException - VisAD error

setData

protected boolean setData(DataChoice dataChoice)
                   throws VisADException,
                          RemoteException
Called to initialize this control from the given dataChoice; override super class instance to set skip factor before displaying data.

Overrides:
setData in class PlanViewControl
Parameters:
dataChoice - choice that describes the data to be loaded.
Returns:
true if successful
Throws:
RemoteException - Java RMI error
VisADException - VisAD Error

getControlWidgets

public void getControlWidgets(List controlWidgets)
                       throws VisADException,
                              RemoteException
Get control widgets special to this control.

Overrides:
getControlWidgets in class PlanViewControl
Parameters:
controlWidgets - list of control widget from the superclass
Throws:
RemoteException - Java RMI error
VisADException - VisAD error

doMakeDensityComponent

protected JComponent doMakeDensityComponent()
Create the streamline density slider

Returns:
The panel that shows the streamline density slider

doMakeFlowRangeComponent

protected JComponent doMakeFlowRangeComponent()
Create the streamline density slider

Returns:
The panel that shows the streamline density slider

receiveShareData

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

Specified by:
receiveShareData in interface Sharable
Overrides:
receiveShareData in class PlanViewControl
Parameters:
from - other class.
dataId - type of sharing
data - Array of data being shared. In this case, the first (and only?) object in the array is the level

densitySliderChanged

public void densitySliderChanged(int value)
The streamline density slider changed

Parameters:
value - slider value

addTopographyMap

protected void addTopographyMap()
                         throws VisADException,
                                RemoteException
Wrapper around GridDisplayControl.addTopographyMap(int) to allow subclasses to set their own index.

Overrides:
addTopographyMap in class PlanViewControl
Throws:
RemoteException - Java RMI error
VisADException - VisAD error

setStreamlines

public void setStreamlines(boolean v)
Set the streamline property. Used by XML persistence

Parameters:
v - true to use streamlines

getStreamlines

public boolean getStreamlines()
Get the streamline property. Used by XML persistence

Returns:
the current streamline property (true if streamlines)

setWindbarbs

public void setWindbarbs(boolean v)
Set the wind barb property. Used by XML persistence

Parameters:
v - true if you want to use wind barbs

getWindbarbs

public boolean getWindbarbs()
Get the wind barb property. Used by XML persistence

Returns:
true if wind barbs are being depicted

setIsThreeComponents

public void setIsThreeComponents(boolean v)
Set the use 3 components property. Used by XML persistence

Parameters:
v - true if using u, v and w

getIsThreeComponents

public boolean getIsThreeComponents()
Get the use 3 components property. Used by XML persistence

Returns:
true if using 3 components for wind

setScaleFactor

public void setScaleFactor(float s)
Set the scale factor. Used by XML persistence

Parameters:
s - the new factor

getFlowScale

public float getFlowScale()
Get the flow scale. Used by XML persistence

Returns:
the flow scale for this control

setFlowScale

public void setFlowScale(float f)
Set the flow scale. Used by XML persistence

Parameters:
f - new flow scale

getFlowRange

public Range getFlowRange()
Get the flow range. Used by XML persistence

Returns:
the flow range for this control

setFlowRange

public void setFlowRange(Range f)
Set the flow range. Used by XML persistence

Parameters:
f - new flow range

getStreamlineDensity

public float getStreamlineDensity()
Get the streamline density. Used by XML persistence

Returns:
the streamline density for this control

setStreamlineDensity

public void setStreamlineDensity(float f)
Set the streamline density. Used by XML persistence

Parameters:
f - new flow scale

getColorRangeFromData

public Range getColorRangeFromData()
Return the range attribute of the colorTable (if non-null) else return null;

Overrides:
getColorRangeFromData in class GridDisplayControl
Returns:
The range from the color table attribute

getLevelColorRange

protected Range getLevelColorRange()
Get the range for the current slice.

Overrides:
getLevelColorRange in class PlanViewControl
Returns:
range or null

haveMultipleFields

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

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

getColorRangeIndex

protected int getColorRangeIndex()
Returns the index to use in the GridDataInstance array of ranges for color ranges.

Overrides:
getColorRangeIndex in class PlanViewControl
Returns:
The index to be used for the color range.

showColorControlWidget

public boolean showColorControlWidget()
Show the color control widget in the widgets if FLAG_COLOR is set.

Overrides:
showColorControlWidget in class DisplayControlImpl
Returns:
false subclasses should override