edu.wisc.ssec.mcidasv.control
Class MultiSpectralControl

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

public class MultiSpectralControl
extends HydraControl


Nested Class Summary
 class MultiSpectralControl.ColorEditor
           
 class MultiSpectralControl.ColorRenderer
           
 class MultiSpectralControl.HackyDragDropRowUI
           
private static class MultiSpectralControl.ProbeTableModel
           
private static class MultiSpectralControl.Spectrum
           
 
Nested classes/interfaces inherited from class ucar.unidata.idv.control.DisplayControlImpl
DisplayControlImpl.SideLegendLabel
 
Field Summary
private  JButton addProbe
           
private static int DEFAULT_FLAGS
           
private  MultiSpectralDisplay display
           
private  DisplayMaster displayMaster
           
private  McIDASVHistogramWrapper histoWrapper
           
private static org.slf4j.Logger logger
           
(package private)  JTextField maxBox
           
(package private)  JTextField minBox
           
private  String PARAM
           
private  int probesSeen
           
private  JTable probeTable
           
private  float rangeMax
           
private  float rangeMin
           
private  JButton removeProbe
           
private  JScrollPane scrollPane
           
private  List<MultiSpectralControl.Spectrum> spectra
           
private  List<Hashtable<String,Object>> spectraProperties
           
private  JLabel wavelengthLabel
           
private  JTextField wavenumbox
           
static String WAVENUMLABEL
           
 
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
MultiSpectralControl()
           
 
Method Summary
protected  void addSpectra(Color... colors)
          Uses a variable-length array of Colors to create new readout probes using the specified colors.
 MultiSpectralControl.Spectrum addSpectrum(Color color)
          Creates a new ReadoutProbe with the specified Color.
protected  void clearViewManagers()
          Runs through the list of ViewManager-s and tells each to destroy.
protected  void contrastStretch(double low, double high)
           
 Container doMakeContents()
          Make Gui contents
protected  JComponent doMakeWidgetComponent()
          A helper method for constructing the ui.
 void doRemove()
          Remove this DisplayControl.
 MapProjection getDataProjection()
          get MapProjection of data to display
 DataSelection getDataSelection()
          This is used for xml persistence.
private  JComponent getDisplayTab()
           
private  JComponent getHistogramTabComponent()
           
protected  ColorTable getInitialColorTable()
          A hook so derived classes can return a colortable.
protected  Range getInitialRange()
          Hook method to allow derived classes to return a different initial Range
protected  MultiSpectralDisplay getMultiSpectralDisplay()
           
 List<Hashtable<String,Object>> getSpectraProperties()
           
 void handleChannelChange(float newChan)
           
 void handleChannelChange(float newChan, boolean update)
           
 boolean init(DataChoice choice)
          Initialize this instance according to a data choice.
 void initDone()
          Called after all initialization has been done.
static float[] minmax(float[] values)
           
 void pokeSpectra()
          Makes each ReadoutProbe in this display control attempt to redisplay its readout value.
 void removeSpectra()
          Iterates through the list of MultiSpectralControl.Spectrums that manage each ReadoutProbe associated with this display control and calls MultiSpectralControl.Spectrum.removeValueDisplay() in an effort to remove this control's probes.
 void removeSpectrum(int index)
          Attempts to remove the MultiSpectralControl.Spectrum at the given index.
 void resetColorTable()
           
 void setDataSelection(DataSelection newSelection)
          This is used for xml persistence.
 void setDisplayVisibility(boolean on)
          Overridden by McIDAS-V so that "hide" probes when their display is turned off.
 void setSpectraProperties(List<Hashtable<String,Object>> props)
           
 void setWavelengthLabel(String s)
          Updates the Wavelength label when user manipulates drag line UI
private  void updateHistogramTab()
           
 boolean updateImage(float newChan)
           
protected  void updateList(List<MultiSpectralControl.Spectrum> updatedSpectra)
           
 
Methods inherited from class edu.wisc.ssec.mcidasv.control.HydraControl
updateRange
 
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, addPropertiesComponents, addPropertyChangeListener, addRemovable, addSharable, addTimeModeWidget, addToControlContext, addToRangeMenu, addToRangeMenu, addToRangeMenu, addViewManager, appendDataChoices, applyAttributesToDisplayables, applyColor, applyColorScaleInfo, applyColorTable, applyColorUnit, applyContourInfo, applyDisplaySetting, applyDisplayUnit, applyLineWidth, applyPreferences, applyProperties, applyProperties, applyPropertyValues, applyRange, applySelectRange, applySkipFactor, applySmoothing, applyTextureQuality, applyTimeRange, applyZPosition, boundsClose, canBeDocked, canExportData, canSaveDataInCache, captureWindow, centerOnDisplay, changeColorUnit, changeDisplayUnit, checkFlag, checkIfDataOk, checkImageSize, clearDataInstance, clearPrototype, close, colorUnitChanged, controlChanged, convertColorRange, convertRange, createDisplayListDisplayable, createIdvWindow, dataChanged, deactivateDisplays, debug, displayableToFront, displayChanged, displayControlFailed, displayUnitChanged, doApplyProperties, doExport, doInitialUpdateLegendAndList, doMakeBottomLegendComponent, doMakeChangeColorMenu, doMakeChangeColorMenu, doMakeChangeParameterMenuItem, doMakeColorControl, doMakeColorControl, doMakeColorScales, doMakeDataInstance, doMakeMenuBar, doMakeMenuBarMenus, doMakePointSizeWidget, doMakeRemoveControl, doMakeSideLegendComponent, doMakeSkipFactorSlider, doMakeTextureSlider, doMakeVisibilityControl, 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, getCursorReadoutInner, getData, getDataChoice, getDataChoices, getDataForDisplayList, getDataInstance, getDataInstance, getDataProjectionForMenu, getDataProjectionLabel, 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, getEditMenuItems, getExpandedInTabs, getExtraLabelTemplate, getExtraLegendComponent, getExtraMenus, getFileMenuItems, getFileMenuItems, getGraphicsConfiguration, getGrid, getGrid, getHadDataChoices, getHaveInitialized, getHelpIds, getHelpMenuItems, getId, getIdv, getImage, getImage, getInitDataChoices, getInitialFastRendering, 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, 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, getViewManagerForCapture, getViewManagers, getViewMenuItems, getViewMenuItems, getVisbilityAnimationPause, getWasUnPersisted, getWindow, getWindowSize, getWindowVisible, getWindowX, getWindowY, getZPosition, getZPositionSliderLabel, guiExported, guiImported, handleDisplayChanged, handleWindowClosing, hasMapProjection, 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, propertyChange, putTransientProperty, reallySetAttributeFlags, receiveShareData, redoGuiLayout, reloadDataSource, reloadDataSourceInThread, removeDataChoice, removeDisplayable, removeDisplayables, removeDisplayables, removeOnWindowClose, removePropertyChangeListener, resetData, 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, setColorTable, setColorTableName, setColorUnit, setColorUnitName, setComponentHolder, setContents, setContourInfo, setContourInfoParams, setData, setData, setDataChoices, setDataInstance, setDataInstances, setDataTimeRange, setDefaultSamplingMode, setDefaultView, setDisplayableVisibility, setDisplayableVisiblity, setDisplayActive, setDisplayCategory, setDisplayId, setDisplayInactive, setDisplayListColor, setDisplayListColor, setDisplayListProperties, setDisplayListTemplate, setDisplayName, setDisplayUnit, setDisplayUnitName, 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, shouldAddControlListener, 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, transectChanged, updateAnimation, updateDataInstance, updateDataSelection, updateDisplayList, updateGridDataInstance, updateLegendAndList, updateLegendLabel, updateLockButton, useSmoothingFactor, 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, 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

logger

private static final org.slf4j.Logger logger

PARAM

private String PARAM

WAVENUMLABEL

public static String WAVENUMLABEL

wavelengthLabel

private JLabel wavelengthLabel

DEFAULT_FLAGS

private static final int DEFAULT_FLAGS
See Also:
Constant Field Values

display

private MultiSpectralDisplay display

displayMaster

private DisplayMaster displayMaster

wavenumbox

private final JTextField wavenumbox

minBox

final JTextField minBox

maxBox

final JTextField maxBox

spectraProperties

private final List<Hashtable<String,Object>> spectraProperties

spectra

private final List<MultiSpectralControl.Spectrum> spectra

histoWrapper

private McIDASVHistogramWrapper histoWrapper

rangeMin

private float rangeMin

rangeMax

private float rangeMax

probesSeen

private int probesSeen

probeTable

private final JTable probeTable

scrollPane

private final JScrollPane scrollPane

addProbe

private final JButton addProbe

removeProbe

private final JButton removeProbe
Constructor Detail

MultiSpectralControl

public MultiSpectralControl()
Method Detail

init

public boolean init(DataChoice choice)
             throws VisADException,
                    RemoteException
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl

Initialize this instance according to a data choice. Subclasses should override this method. Overridding methods should probably invoke DisplayControlImpl.setData(DataChoice) as part of their initialization procedure -- although it is unclear when this is actually necessary.

This implementation simply returns true.

Overrides:
init in class DisplayControlImpl
Parameters:
choice - A data choice or null.
Returns:
true if and only if this instance was correctly initialized by the data choice.
Throws:
VisADException - if a VisAD Failure occurs.
RemoteException - if a Java RMI failure occurs.

setWavelengthLabel

public void setWavelengthLabel(String s)
Updates the Wavelength label when user manipulates drag line UI

Parameters:
s - full label text, prefix and numeric value

initDone

public void initDone()
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
Called after all initialization has been done. A hook that allows derived classes to do any further initialization.

Overrides:
initDone in class DisplayControlImpl

setDisplayVisibility

public void setDisplayVisibility(boolean on)
Overridden by McIDAS-V so that "hide" probes when their display is turned off. Otherwise users can wind up with probes on the screen which aren't associated with any displayed data.

Specified by:
setDisplayVisibility in interface DisplayControl
Overrides:
setDisplayVisibility in class DisplayControlImpl
Parameters:
on - true if we're visible, false otherwise.
See Also:
DisplayControl.setDisplayVisibility(boolean)

setSpectraProperties

public void setSpectraProperties(List<Hashtable<String,Object>> props)

getSpectraProperties

public List<Hashtable<String,Object>> getSpectraProperties()

updateList

protected void updateList(List<MultiSpectralControl.Spectrum> updatedSpectra)

addSpectra

protected void addSpectra(Color... colors)
Uses a variable-length array of Colors to create new readout probes using the specified colors.

Parameters:
colors - Variable length array of Colors. Shouldn't be null.

addSpectrum

public MultiSpectralControl.Spectrum addSpectrum(Color color)
Creates a new ReadoutProbe with the specified Color.

Parameters:
color - Color of the new ReadoutProbe. null values are not allowed.
Returns:
MultiSpectralControl.Spectrum wrapper for the newly created ReadoutProbe.
Throws:
NullPointerException - if color is null.

removeSpectrum

public void removeSpectrum(int index)
Attempts to remove the MultiSpectralControl.Spectrum at the given index.

Parameters:
index - Index of the probe to be removed (within spectra).

removeSpectra

public void removeSpectra()
Iterates through the list of MultiSpectralControl.Spectrums that manage each ReadoutProbe associated with this display control and calls MultiSpectralControl.Spectrum.removeValueDisplay() in an effort to remove this control's probes.

See Also:
spectra

pokeSpectra

public void pokeSpectra()
Makes each ReadoutProbe in this display control attempt to redisplay its readout value.

Sometimes the probes don't initialize correctly and this method is a stop-gap solution.


getDataSelection

public DataSelection getDataSelection()
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
This is used for xml persistence.

Overrides:
getDataSelection in class DisplayControlImpl
Returns:
The dataSelection member

setDataSelection

public void setDataSelection(DataSelection newSelection)
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
This is used for xml persistence.

Overrides:
setDataSelection in class DisplayControlImpl
Parameters:
newSelection - The new dataSelection member

getDataProjection

public MapProjection getDataProjection()
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
get MapProjection of data to display

Specified by:
getDataProjection in interface DisplayControl
Overrides:
getDataProjection in class DisplayControlImpl
Returns:
The native projection of the data

minmax

public static float[] minmax(float[] values)

getInitialRange

protected Range getInitialRange()
                         throws VisADException,
                                RemoteException
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
Hook method to allow derived classes to return a different initial Range

Overrides:
getInitialRange in class DisplayControlImpl
Returns:
The initial range to use
Throws:
VisADException - VisAD problem
RemoteException - Java RMI problem

getInitialColorTable

protected ColorTable getInitialColorTable()
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
A hook so derived classes can return a colortable. This method uses the DisplayConventions to get the color table based on the paramName

Overrides:
getInitialColorTable in class DisplayControlImpl
Returns:
The color table to use

doMakeContents

public Container doMakeContents()
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
Make Gui contents

Overrides:
doMakeContents in class DisplayControlImpl
Returns:
User interface contents

doRemove

public void doRemove()
              throws VisADException,
                     RemoteException
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
Remove this DisplayControl. Tells the ControlContext to removeDisplayControl. Removes all Displayable-s from their ViewManager-s, remove this object from its Sharable group, and sets the visibility of the dialog window to false.

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

clearViewManagers

protected void clearViewManagers()
Runs through the list of ViewManager-s and tells each to destroy. Creates a new viewManagers list.

Overrides:
clearViewManagers in class DisplayControlImpl

doMakeWidgetComponent

protected JComponent doMakeWidgetComponent()
Description copied from class: ucar.unidata.idv.control.DisplayControlImpl
A helper method for constructing the ui. This fills up a list of ControlWidget (e.g., ColorTableWidget) and creates a gridded ui with them.

Overrides:
doMakeWidgetComponent in class DisplayControlImpl
Returns:
The ui for the widgets

getMultiSpectralDisplay

protected MultiSpectralDisplay getMultiSpectralDisplay()
Specified by:
getMultiSpectralDisplay in class HydraControl

updateImage

public boolean updateImage(float newChan)

handleChannelChange

public void handleChannelChange(float newChan)
Overrides:
handleChannelChange in class HydraControl

handleChannelChange

public void handleChannelChange(float newChan,
                                boolean update)

getDisplayTab

private JComponent getDisplayTab()

getHistogramTabComponent

private JComponent getHistogramTabComponent()

updateHistogramTab

private void updateHistogramTab()

resetColorTable

public void resetColorTable()

contrastStretch

protected void contrastStretch(double low,
                               double high)