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 |
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 JCheckBox |
use360Box |
private JLabel |
wavelengthLabel |
private JTextField |
wavenumbox |
static String |
WAVENUMLABEL |
categories, colorScaleInfo, colorScales, contourInfo, contourInfoParams, contourWidget, controlContext, ctw, dataSelection, defaultView, defaultViewManager, DISPLAY_LIST_NAME, displayListTable, displayListUsesColor, displayMasters, displayUnit, helpUrl, initNoteText, instantiatedWithNoData, isProgressiveResolution, matchDisplayRegion, noteTextArea, noteWrapper, paramName, reloadFromBounds, requestProperties, resolutionReadout, selectRangeWidget, settingVisibility, sharables, showNoteText, skipSlider, version, viewManagers, ZFUDGECMD_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_FHOUR2, MACRO_LONGNAME, MACRO_POSITION, MACRO_RESOLUTION, 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_AVERAGEBOTTOM_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 and Description |
|---|
MultiSpectralControl() |
| Modifier and Type | Method and Description |
|---|---|
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()
Get the initial
ColorTable associated with this control's
parameter name. |
protected Range |
getInitialRange()
Get the initial
Range for the data and color table. |
protected MultiSpectralDisplay |
getMultiSpectralDisplay() |
private String |
getParameterName()
Convenience method for extracting the parameter name.
|
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) |
updateRangeactionPerformed, 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, canDataDoProgressiveResolution, canDoProgressiveResolution, canExportData, canSaveDataInCache, captureWindow, centerOnDisplay, changeColorUnit, changeDisplayUnit, checkBoundsChange, checkFlag, checkIfDataOk, checkImageSize, clearDataInstance, clearPrototype, close, colorUnitChanged, controlChanged, convertColorRange, convertRange, createDisplayListDisplayable, createIdvWindow, dataChanged, dataSelectionAdaptiveResolution, 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, getIsProgressiveResolution, getIsRaster, getIsTimeDriver, getLabel, getLastFileMenuItems, getLatLonPoints, getLegendButtons, getLegendComponent, getLegendLabel, getLegendLabels, getLegendLabelTemplate, getLegendToolTip, getLineWidth, getLineWidthWidget, getLineWidthWidgetLabel, getLockVisibilityToggle, getLongParamName, getMacroNames, getMainPanel, getMainPanelSize, getMakeWindow, getMapDisplay, getMapViewManager, getMapViewProjection, getMatchDisplayRegion, 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, getShoulDoProgressiveResolution, 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, isRectBad, itemStateChanged, makeChangeColorMenuItems, makeLegendLabel, makeLockButton, makeMiscButton, 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, setIsProgressiveResolution, setIsRaster, setIsTimeDriver, setLabelAsPreference, setLegendBackground, setLegendForeground, setLegendLabel, setLegendLabelTemplate, setLineWidth, setLockVisibilityToggle, setMainPanelDimensions, setMainPanelSize, setMakeWindow, setMatchDisplayRegion, 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, updateMiscButton, useSmoothingFactor, useZPosition, viewManagerChanged, viewManagerDestroyed, viewpointChanged, writeTestArchive, xxxsetDisplayActive, zSliderChangedboxToEarth, 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, userMessageapplySharableProperties, doShare, doShare, doShareExternal, doShareInternal, getReceiveShareTime, getSharablePropertiesComponent, getShareGroup, getSharing, getUniqueId, initSharable, removeSharable, setReceiveShareTime, setShareGroup, setSharing, setUniqueId, showSharableDialogclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetTmpProperty, putTmpProperty, removeTmpPropertygetReceiveShareTime, getShareGroup, getSharing, getUniqueId, setReceiveShareTimeprivate static final org.slf4j.Logger logger
public static String WAVENUMLABEL
private JLabel wavelengthLabel
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.DisplayControlImplInitialize 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 DisplayControlImplchoice - 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 setWavelengthLabel(String s)
s - full label text, prefix and numeric valuepublic void initDone()
ucar.unidata.idv.control.DisplayControlImplinitDone in class DisplayControlImplpublic void setDisplayVisibility(boolean on)
setDisplayVisibility in interface DisplayControlsetDisplayVisibility in class DisplayControlImplon - 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)
Colors to create new readout
probes using the specified colors.colors - Variable length array of Colors. 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.Spectrums that manage each
ReadoutProbe associated with this display control and calls
MultiSpectralControl.Spectrum.removeValueDisplay() in an effort to remove this
control's probes.spectrapublic 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.DisplayControlImplgetDataSelection in class DisplayControlImplpublic void setDataSelection(DataSelection newSelection)
ucar.unidata.idv.control.DisplayControlImplsetDataSelection in class DisplayControlImplnewSelection - The new dataSelection memberpublic MapProjection getDataProjection()
ucar.unidata.idv.control.DisplayControlImplgetDataProjection in interface DisplayControlgetDataProjection in class DisplayControlImplpublic static float[] minmax(float[] values)
private String getParameterName()
DataChoice.getName(), or PARAM if
the DataChoice is (somehow) null.protected Range getInitialRange() throws VisADException, RemoteException
Range for the data and color table.
Note: if there is a parameter default range associated with the
current parameter name, that will be returned. If there is not a
parameter default range match, a Range consisting of
rangeMin and rangeMax will be returned.
getInitialRange in class DisplayControlImplRange for data and color table.VisADException - if VisAD had problems.RemoteException - if there was a Java RMI problem.protected ColorTable getInitialColorTable()
ColorTable associated with this control's
parameter name.
Note: if there is a parameter default color table associated with
the parameter name, that color table will be returned. If there are
no parameter defaults associated with the parameter name,
then the ColorTable associated with "BrightnessTemp"
is returned (this is a "legacy" behavior).
getInitialColorTable in class DisplayControlImplColorTable to use.public Container doMakeContents()
ucar.unidata.idv.control.DisplayControlImpldoMakeContents in class DisplayControlImplpublic void doRemove() throws VisADException, RemoteException
ucar.unidata.idv.control.DisplayControlImplControlContext
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 DisplayControldoRemove in class DisplayControlImplVisADExceptionRemoteExceptionprotected void clearViewManagers()
clearViewManagers in class DisplayControlImplprotected JComponent doMakeWidgetComponent()
ucar.unidata.idv.control.DisplayControlImplControlWidget
(e.g., ColorTableWidget) and creates a gridded
ui with them.doMakeWidgetComponent in class DisplayControlImplprotected MultiSpectralDisplay getMultiSpectralDisplay()
getMultiSpectralDisplay in class HydraControlpublic boolean updateImage(float newChan)
public void handleChannelChange(float newChan)
handleChannelChange in class HydraControlpublic 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)