Package adams.flow.sink
Class SpectrumDisplay
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.core.AbstractActor
-
- adams.flow.core.AbstractDisplay
-
- adams.flow.sink.AbstractDisplay
-
- adams.flow.sink.AbstractGraphicalDisplay
-
- adams.flow.sink.SpectrumDisplay
-
- All Implemented Interfaces:
adams.core.AdditionalInformationHandler
,adams.core.CleanUpHandler
,adams.core.Destroyable
,adams.core.GlobalInfoSupporter
,adams.core.logging.LoggingLevelHandler
,adams.core.logging.LoggingSupporter
,adams.core.option.OptionHandler
,adams.core.QuickInfoSupporter
,adams.core.ShallowCopySupporter<adams.flow.core.Actor>
,adams.core.SizeOfHandler
,adams.core.Stoppable
,adams.core.StoppableWithFeedback
,adams.core.VariablesInspectionHandler
,adams.event.VariableChangeListener
,adams.flow.core.Actor
,adams.flow.core.ClearableDisplay
,adams.flow.core.DataPlotUpdaterHandler<AbstractPlotUpdater>
,adams.flow.core.DataPlotUpdaterSupporter<AbstractPlotUpdater>
,adams.flow.core.DisplayTypeSupporter
,adams.flow.core.ErrorHandler
,adams.flow.core.FlowControlSubMenuSupporter
,adams.flow.core.HeadlessExecutionSupporter
,adams.flow.core.InputConsumer
,adams.flow.sink.ComponentSupplier
,adams.flow.sink.DisplayPanelProvider
,adams.gui.core.MenuBarProvider
,adams.gui.sendto.SendToActionSupporter
,adams.gui.visualization.core.ColorProviderHandler
,Serializable
,Comparable
public class SpectrumDisplay extends adams.flow.sink.AbstractGraphicalDisplay implements adams.flow.sink.DisplayPanelProvider, adams.flow.core.DataPlotUpdaterHandler<AbstractPlotUpdater>, adams.gui.visualization.core.ColorProviderHandler
Actor that displays spectra or multi-spectra.
Input/output:
- accepts:
adams.data.spectrum.Spectrum
adams.data.spectrum.Spectrum[]
adams.data.spectrum.MultiSpectrum
adams.data.spectrum.MultiSpectrum[]
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING min-user-mode: Expert
-name <java.lang.String> (property: name) The name of the actor. default: SpectrumDisplay
-annotation <adams.core.base.BaseAnnotation> (property: annotations) The annotations to attach to this actor. default:
-skip <boolean> (property: skip) If set to true, transformation is skipped and the input token is just forwarded as it is. default: false
-stop-flow-on-error <boolean> (property: stopFlowOnError) If set to true, the flow execution at this level gets stopped in case this actor encounters an error; the error gets propagated; useful for critical actors. default: false min-user-mode: Expert
-silent <boolean> (property: silent) If enabled, then no errors are output in the console; Note: the enclosing actor handler must have this enabled as well. default: false min-user-mode: Expert
-short-title <boolean> (property: shortTitle) If enabled uses just the name for the title instead of the actor's full name. default: false
-display-type <adams.flow.core.displaytype.AbstractDisplayType> (property: displayType) Determines how to show the display, eg as standalone frame (default) or in the Flow editor window. default: adams.flow.core.displaytype.Default min-user-mode: Expert
-width <int> (property: width) The width of the dialog. default: 1000 minimum: -1
-height <int> (property: height) The height of the dialog. default: 600 minimum: -1
-x <int> (property: x) The X position of the dialog (>=0: absolute, -1: left, -2: center, -3: right ). default: -1 minimum: -3
-y <int> (property: y) The Y position of the dialog (>=0: absolute, -1: top, -2: center, -3: bottom ). default: -1 minimum: -3
-writer <adams.gui.print.JComponentWriter> (property: writer) The writer to use for generating the graphics output. default: adams.gui.print.NullWriter
-show-flow-control-submenu <boolean> (property: showFlowControlSubMenu) If enabled, adds a flow control sub-menu to the menubar. default: false min-user-mode: Expert
-color-provider <adams.gui.visualization.core.ColorProvider> (property: colorProvider) The color provider in use for coloring the spectra. default: adams.gui.visualization.core.DefaultColorProvider
-paintlet <adams.gui.visualization.spectrum.AbstractSpectrumPaintlet> (property: paintlet) The paintlet to use for drawing the spectra. default: adams.gui.visualization.spectrum.SpectrumPaintlet
-show-side-panel <boolean> (property: showSidePanel) If enabled, the side panel with the list of loaded spectra gets displayed. default: true
-zoom-overview <boolean> (property: zoomOverview) If enabled, a zoom overview panel gets displayed as well. default: false
-plot-updater <adams.flow.sink.spectrumdisplay.AbstractPlotUpdater> (property: plotUpdater) The updating strategy for the plot. default: adams.flow.sink.spectrumdisplay.SimplePlotUpdater
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
SpectrumDisplay.DisplayPanel
Panel to be used inDisplayPanelManager
sink.
-
Field Summary
Fields Modifier and Type Field Description protected adams.gui.visualization.core.ColorProvider
m_ColorProvider
the color provider to use.protected AbstractSpectrumPaintlet
m_Paintlet
the paintlet to use.protected AbstractPlotUpdater
m_PlotUpdater
the plot updater to use.protected boolean
m_ShowSidePanel
whether to show the side panel or not.protected boolean
m_ZoomOverview
whether to display the zoom overview.-
Fields inherited from class adams.flow.sink.AbstractGraphicalDisplay
m_GraphicFileChooser, m_MenuBar, m_MenuItemFileClear, m_MenuItemFileClose, m_MenuItemFileSaveAs, m_MenuItemFileSaveTextAs, m_MenuItemFlowPauseResume, m_MenuItemFlowStop, m_ShowFlowControlSubMenu, m_TextFileChooser, m_Writer
-
Fields inherited from class adams.flow.core.AbstractDisplay
BACKUP_INPUT, m_CreateFrame, m_DisplayType, m_Frame, m_Height, m_InputToken, m_KeepOpen, m_Panel, m_ResetGUIWaiting, m_ShortTitle, m_Updating, m_Width, m_X, m_Y
-
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_LoggingPrefix, m_Name, m_Parent, m_ScopeHandler, m_Self, m_Silent, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
-
-
Constructor Summary
Constructors Constructor Description SpectrumDisplay()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Class[]
accepts()
Returns the class that the consumer accepts.void
clearPanel()
Clears the content of the panel.String
colorProviderTipText()
Returns the tip text for this property.SpectrumDisplay.DisplayPanel
createDisplayPanel(adams.flow.core.Token token)
Creates a new display panel for the token.void
defineOptions()
Adds options to the internal list of options.protected void
display(adams.flow.core.Token token)
Displays the token (the panel and dialog have already been created at this stage).boolean
displayPanelRequiresScrollPane()
Returns whether the created display panel requires a scroll pane or not.adams.gui.visualization.core.ColorProvider
getColorProvider()
Returns the color provider in use.protected int
getDefaultHeight()
Returns the default height for the dialog.protected int
getDefaultWidth()
Returns the default width for the dialog.AbstractSpectrumPaintlet
getPaintlet()
Returns the paintlet in use.AbstractPlotUpdater
getPlotUpdater()
Returns the plot updater in use.boolean
getShowSidePanel()
Returns whether to show the side panel or not.boolean
getZoomOverview()
Returns whether the zoom overview gets displayed.String
globalInfo()
Returns a string describing the object.protected adams.gui.core.BasePanel
newPanel()
Creates the panel to display in the dialog.String
paintletTipText()
Returns the tip text for this property.String
plotUpdaterTipText()
Returns the tip text for this property.void
setColorProvider(adams.gui.visualization.core.ColorProvider value)
Sets the color provider to use.void
setPaintlet(AbstractSpectrumPaintlet value)
Sets the paintlet to use.void
setPlotUpdater(AbstractPlotUpdater value)
Sets the plot updater to use.void
setShowSidePanel(boolean value)
Sets whether to show the side panel or not.void
setZoomOverview(boolean value)
Sets whether to display the zoom overview.String
showSidePanelTipText()
Returns the tip text for this property.protected static List<SpectrumContainer>
spectrumToContainers(Object obj, SpectrumContainerManager manager, adams.core.logging.Logger logger)
Turns the object into spectrum containers.boolean
supportsClear()
Whether "clear" is supported and shows up in the menu.protected static void
tokenToContainers(adams.flow.core.Token token, SpectrumExplorer panel, AbstractPlotUpdater plotUpdater, adams.core.logging.Logger logger)
Displays the token.void
updatePlot()
Updates the panel regardless, notifying the listeners.void
wrapUp()
Cleans up after the execution has finished.String
zoomOverviewTipText()
Returns the tip text for this property.-
Methods inherited from class adams.flow.sink.AbstractGraphicalDisplay
canPauseOrResume, cleanUpGUI, clear, close, createMenuBar, getGraphicFileChooser, getMenuBar, getSendToClasses, getSendToItem, getShowFlowControlSubMenu, getTextFileChooser, getWriter, hasPanel, hasSendToItem, isPaused, pauseResumeFlow, saveAs, saveTextAs, setShowFlowControlSubMenu, setWriter, showFlowControlSubMenuTipText, stopFlow, supplyComponent, updateMenu, writerTipText
-
Methods inherited from class adams.flow.sink.AbstractDisplay
newDisplayRunnable, postDisplay, preDisplay
-
Methods inherited from class adams.flow.core.AbstractDisplay
backupState, cleanUp, cleanUpGUIKeepOpen, closeDisplay, createFrame, createTitle, currentInput, deregisterInWrapUp, deregisterWindow, deregisterWithEditor, displayTypeTipText, doCreateFrame, doExecute, doExecuteHeadless, getCreateFrame, getDefaultDisplayType, getDefaultShortTitle, getDefaultX, getDefaultY, getDisplayType, getFrame, getFrameDefaultCloseOperation, getHeight, getKeepOpen, getPanel, getQuickInfo, getShortTitle, getWidth, getX, getY, hasInput, heightTipText, initialize, input, postCreateFrame, preCreateFrame, registerWindow, registerWithEditor, reset, restoreState, setCreateFrame, setDisplayType, setHeight, setKeepOpen, setShortTitle, setWidth, setX, setY, shortTitleTipText, stopExecution, supportsHeadlessExecution, widthTipText, xTipText, yTipText
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, compareTo, configureLogger, destroy, equals, execute, finalUpdateVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, postExecute, preExecute, pruneBackup, pruneBackup, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.flow.core.Actor
cleanUp, compareTo, destroy, equals, execute, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getQuickInfo, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, stopExecution, stopExecution, toCommandLine, variableChanged
-
-
-
-
Field Detail
-
m_ColorProvider
protected adams.gui.visualization.core.ColorProvider m_ColorProvider
the color provider to use.
-
m_Paintlet
protected AbstractSpectrumPaintlet m_Paintlet
the paintlet to use.
-
m_ShowSidePanel
protected boolean m_ShowSidePanel
whether to show the side panel or not.
-
m_ZoomOverview
protected boolean m_ZoomOverview
whether to display the zoom overview.
-
m_PlotUpdater
protected AbstractPlotUpdater m_PlotUpdater
the plot updater to use.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceadams.core.GlobalInfoSupporter
- Specified by:
globalInfo
in classadams.core.option.AbstractOptionHandler
- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptions
in interfaceadams.core.option.OptionHandler
- Overrides:
defineOptions
in classadams.flow.sink.AbstractGraphicalDisplay
-
getDefaultWidth
protected int getDefaultWidth()
Returns the default width for the dialog.- Overrides:
getDefaultWidth
in classadams.flow.core.AbstractDisplay
- Returns:
- the default width
-
getDefaultHeight
protected int getDefaultHeight()
Returns the default height for the dialog.- Overrides:
getDefaultHeight
in classadams.flow.core.AbstractDisplay
- Returns:
- the default height
-
setColorProvider
public void setColorProvider(adams.gui.visualization.core.ColorProvider value)
Sets the color provider to use.- Specified by:
setColorProvider
in interfaceadams.gui.visualization.core.ColorProviderHandler
- Parameters:
value
- the color provider
-
getColorProvider
public adams.gui.visualization.core.ColorProvider getColorProvider()
Returns the color provider in use.- Specified by:
getColorProvider
in interfaceadams.gui.visualization.core.ColorProviderHandler
- Returns:
- the color provider
-
colorProviderTipText
public String colorProviderTipText()
Returns the tip text for this property.- Specified by:
colorProviderTipText
in interfaceadams.gui.visualization.core.ColorProviderHandler
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setPaintlet
public void setPaintlet(AbstractSpectrumPaintlet value)
Sets the paintlet to use.- Parameters:
value
- the paintlet
-
getPaintlet
public AbstractSpectrumPaintlet getPaintlet()
Returns the paintlet in use.- Returns:
- the paintlet
-
paintletTipText
public String paintletTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setShowSidePanel
public void setShowSidePanel(boolean value)
Sets whether to show the side panel or not.- Parameters:
value
- if true the side panel gets displayed
-
getShowSidePanel
public boolean getShowSidePanel()
Returns whether to show the side panel or not.- Returns:
- true if the side panel gets displayed
-
showSidePanelTipText
public String showSidePanelTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setZoomOverview
public void setZoomOverview(boolean value)
Sets whether to display the zoom overview.- Parameters:
value
- if true then the zoom overview will get displayed
-
getZoomOverview
public boolean getZoomOverview()
Returns whether the zoom overview gets displayed.- Returns:
- true if the zoom overview gets displayed
-
zoomOverviewTipText
public String zoomOverviewTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setPlotUpdater
public void setPlotUpdater(AbstractPlotUpdater value)
Sets the plot updater to use.- Specified by:
setPlotUpdater
in interfaceadams.flow.core.DataPlotUpdaterHandler<AbstractPlotUpdater>
- Parameters:
value
- the updater
-
getPlotUpdater
public AbstractPlotUpdater getPlotUpdater()
Returns the plot updater in use.- Specified by:
getPlotUpdater
in interfaceadams.flow.core.DataPlotUpdaterHandler<AbstractPlotUpdater>
- Returns:
- the updater
-
plotUpdaterTipText
public String plotUpdaterTipText()
Returns the tip text for this property.- Specified by:
plotUpdaterTipText
in interfaceadams.flow.core.DataPlotUpdaterHandler<AbstractPlotUpdater>
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
supportsClear
public boolean supportsClear()
Whether "clear" is supported and shows up in the menu.- Specified by:
supportsClear
in interfaceadams.flow.core.ClearableDisplay
- Overrides:
supportsClear
in classadams.flow.sink.AbstractGraphicalDisplay
- Returns:
- true if supported
-
clearPanel
public void clearPanel()
Clears the content of the panel.- Specified by:
clearPanel
in classadams.flow.core.AbstractDisplay
-
newPanel
protected adams.gui.core.BasePanel newPanel()
Creates the panel to display in the dialog.- Specified by:
newPanel
in classadams.flow.core.AbstractDisplay
- Returns:
- the panel
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Specified by:
accepts
in interfaceadams.flow.core.InputConsumer
- Returns:
- adams.data.spectrum.Spectrum.class, adams.data.spectrum.Spectrum[].class, adams.data.spectrum.MultiSpectrum.class, adams.data.spectrum.MultiSpectrum[].class
-
spectrumToContainers
protected static List<SpectrumContainer> spectrumToContainers(Object obj, SpectrumContainerManager manager, adams.core.logging.Logger logger)
Turns the object into spectrum containers.- Parameters:
obj
- the spectrum data to convertmanager
- the manager to uselogger
- for logging warnings- Returns:
- the generated containers
-
tokenToContainers
protected static void tokenToContainers(adams.flow.core.Token token, SpectrumExplorer panel, AbstractPlotUpdater plotUpdater, adams.core.logging.Logger logger)
Displays the token.- Parameters:
token
- the token to displaypanel
- the explorer panel contextplotUpdater
- the updater to uselogger
- for logging warnings
-
display
protected void display(adams.flow.core.Token token)
Displays the token (the panel and dialog have already been created at this stage).- Specified by:
display
in classadams.flow.sink.AbstractDisplay
- Parameters:
token
- the token to display
-
updatePlot
public void updatePlot()
Updates the panel regardless, notifying the listeners.- Specified by:
updatePlot
in interfaceadams.flow.core.DataPlotUpdaterHandler<AbstractPlotUpdater>
- Specified by:
updatePlot
in interfaceadams.flow.core.DataPlotUpdaterSupporter<AbstractPlotUpdater>
-
createDisplayPanel
public SpectrumDisplay.DisplayPanel createDisplayPanel(adams.flow.core.Token token)
Creates a new display panel for the token.- Specified by:
createDisplayPanel
in interfaceadams.flow.sink.DisplayPanelProvider
- Parameters:
token
- the token to display in a new panel, can be null- Returns:
- the generated panel
-
displayPanelRequiresScrollPane
public boolean displayPanelRequiresScrollPane()
Returns whether the created display panel requires a scroll pane or not.- Specified by:
displayPanelRequiresScrollPane
in interfaceadams.flow.sink.DisplayPanelProvider
- Returns:
- true if the display panel requires a scroll pane
-
wrapUp
public void wrapUp()
Cleans up after the execution has finished.- Specified by:
wrapUp
in interfaceadams.flow.core.Actor
- Overrides:
wrapUp
in classadams.flow.sink.AbstractGraphicalDisplay
-
-