public class MultiSpectralControl extends HydraControl
Modifier and Type | Class and Description |
---|---|
class |
MultiSpectralControl.ColorEditor |
class |
MultiSpectralControl.ColorRenderer |
class |
MultiSpectralControl.HackyDragDropRowUI |
private static class |
MultiSpectralControl.ProbeTableModel |
private static class |
MultiSpectralControl.Spectrum |
DisplayControlImpl.SideLegendLabel
Modifier and Type | Field and Description |
---|---|
private JButton |
addProbe |
private static int |
DEFAULT_FLAGS |
private MultiSpectralDisplay |
display |
private DisplayMaster |
displayMaster |
private McIDASVHistogramWrapper |
histoWrapper |
(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 JTextField |
wavenumbox |
categories, colorScaleInfo, colorScales, contourInfo, contourInfoParams, contourWidget, controlContext, ctw, dataSelection, defaultView, defaultViewManager, DISPLAY_LIST_NAME, displayListTable, displayMasters, displayUnit, helpUrl, initNoteText, instantiatedWithNoData, noteTextArea, noteWrapper, paramName, requestProperties, selectRangeWidget, settingVisibility, sharables, showNoteText, skipSlider, version, viewManagers, ZFUDGE
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_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
BOTTOM_LEGEND, DEFAULT_PROBEFORMAT, DOTIMEDRIVER, 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 and Description |
---|
MultiSpectralControl() |
Modifier and Type | Method and Description |
---|---|
protected void |
addSpectra(Color... colors)
Uses a variable-length array of
Color s 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.Spectrum s 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) |
private void |
updateHistogramTab() |
boolean |
updateImage(float newChan) |
protected void |
updateList(List<MultiSpectralControl.Spectrum> updatedSpectra) |
updateRange
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, 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, 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, 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
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
applySharableProperties, doShare, doShare, doShareExternal, doShareInternal, getReceiveShareTime, getSharablePropertiesComponent, getShareGroup, getSharing, getUniqueId, initSharable, removeSharable, setReceiveShareTime, setShareGroup, setSharing, setUniqueId, showSharableDialog
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getTmpProperty, putTmpProperty, removeTmpProperty
getReceiveShareTime, getShareGroup, getSharing, getUniqueId, setReceiveShareTime
private static final int DEFAULT_FLAGS
private MultiSpectralDisplay display
private DisplayMaster displayMaster
private final JTextField wavenumbox
final JTextField minBox
final JTextField maxBox
private final List<Hashtable<String,Object>> spectraProperties
private final List<MultiSpectralControl.Spectrum> spectra
private McIDASVHistogramWrapper histoWrapper
private float rangeMin
private float rangeMax
private int probesSeen
private final JTable probeTable
private final JScrollPane scrollPane
private final JButton removeProbe
public MultiSpectralControl()
public boolean init(DataChoice choice) throws VisADException, RemoteException
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
.
init
in class DisplayControlImpl
choice
- A data choice or null
.true
if and only if this instance
was correctly initialized by the data choice.VisADException
- if a VisAD Failure occurs.RemoteException
- if a Java RMI failure occurs.public void initDone()
ucar.unidata.idv.control.DisplayControlImpl
initDone
in class DisplayControlImpl
public void setDisplayVisibility(boolean on)
setDisplayVisibility
in interface DisplayControl
setDisplayVisibility
in class DisplayControlImpl
on
- true
if we're visible, false
otherwise.DisplayControl.setDisplayVisibility(boolean)
public void setSpectraProperties(List<Hashtable<String,Object>> props)
public List<Hashtable<String,Object>> getSpectraProperties()
protected void updateList(List<MultiSpectralControl.Spectrum> updatedSpectra)
protected void addSpectra(Color... colors)
Color
s to create new readout
probes using the specified colors.colors
- Variable length array of Color
s. Shouldn't be
null
.public MultiSpectralControl.Spectrum addSpectrum(Color color)
ReadoutProbe
with the specified Color
.color
- Color
of the new ReadoutProbe
.
null
values are not allowed.MultiSpectralControl.Spectrum
wrapper for the newly created
ReadoutProbe
.NullPointerException
- if color
is null
.public void removeSpectrum(int index)
MultiSpectralControl.Spectrum
at the given index
.index
- Index of the probe to be removed (within spectra
).public void removeSpectra()
MultiSpectralControl.Spectrum
s that manage each
ReadoutProbe
associated with this display control and calls
MultiSpectralControl.Spectrum.removeValueDisplay()
in an effort to remove this
control's probes.spectra
public void pokeSpectra()
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.
public DataSelection getDataSelection()
ucar.unidata.idv.control.DisplayControlImpl
getDataSelection
in class DisplayControlImpl
public void setDataSelection(DataSelection newSelection)
ucar.unidata.idv.control.DisplayControlImpl
setDataSelection
in class DisplayControlImpl
newSelection
- The new dataSelection memberpublic MapProjection getDataProjection()
ucar.unidata.idv.control.DisplayControlImpl
getDataProjection
in interface DisplayControl
getDataProjection
in class DisplayControlImpl
public static float[] minmax(float[] values)
protected Range getInitialRange() throws VisADException, RemoteException
ucar.unidata.idv.control.DisplayControlImpl
Range
getInitialRange
in class DisplayControlImpl
VisADException
- VisAD problemRemoteException
- Java RMI problemprotected ColorTable getInitialColorTable()
ucar.unidata.idv.control.DisplayControlImpl
DisplayConventions
to get the color table based on the paramNamegetInitialColorTable
in class DisplayControlImpl
public Container doMakeContents()
ucar.unidata.idv.control.DisplayControlImpl
doMakeContents
in class DisplayControlImpl
public void doRemove() throws VisADException, RemoteException
ucar.unidata.idv.control.DisplayControlImpl
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.doRemove
in interface DisplayControl
doRemove
in class DisplayControlImpl
VisADException
RemoteException
protected void clearViewManagers()
clearViewManagers
in class DisplayControlImpl
protected JComponent doMakeWidgetComponent()
ucar.unidata.idv.control.DisplayControlImpl
ControlWidget
(e.g., ColorTableWidget) and creates a gridded
ui with them.doMakeWidgetComponent
in class DisplayControlImpl
protected MultiSpectralDisplay getMultiSpectralDisplay()
getMultiSpectralDisplay
in class HydraControl
public boolean updateImage(float newChan)
public void handleChannelChange(float newChan)
handleChannelChange
in class HydraControl
public void handleChannelChange(float newChan, boolean update)
private JComponent getDisplayTab()
private JComponent getHistogramTabComponent()
private void updateHistogramTab()
public void resetColorTable()
protected void contrastStretch(double low, double high)