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 classSpectrumDisplay.DisplayPanelPanel to be used inDisplayPanelManagersink.
-
Field Summary
Fields Modifier and Type Field Description protected adams.gui.visualization.core.ColorProviderm_ColorProviderthe color provider to use.protected AbstractSpectrumPaintletm_Paintletthe paintlet to use.protected AbstractPlotUpdaterm_PlotUpdaterthe plot updater to use.protected booleanm_ShowSidePanelwhether to show the side panel or not.protected booleanm_ZoomOverviewwhether 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.voidclearPanel()Clears the content of the panel.StringcolorProviderTipText()Returns the tip text for this property.SpectrumDisplay.DisplayPanelcreateDisplayPanel(adams.flow.core.Token token)Creates a new display panel for the token.voiddefineOptions()Adds options to the internal list of options.protected voiddisplay(adams.flow.core.Token token)Displays the token (the panel and dialog have already been created at this stage).booleandisplayPanelRequiresScrollPane()Returns whether the created display panel requires a scroll pane or not.adams.gui.visualization.core.ColorProvidergetColorProvider()Returns the color provider in use.protected intgetDefaultHeight()Returns the default height for the dialog.protected intgetDefaultWidth()Returns the default width for the dialog.AbstractSpectrumPaintletgetPaintlet()Returns the paintlet in use.AbstractPlotUpdatergetPlotUpdater()Returns the plot updater in use.booleangetShowSidePanel()Returns whether to show the side panel or not.booleangetZoomOverview()Returns whether the zoom overview gets displayed.StringglobalInfo()Returns a string describing the object.protected adams.gui.core.BasePanelnewPanel()Creates the panel to display in the dialog.StringpaintletTipText()Returns the tip text for this property.StringplotUpdaterTipText()Returns the tip text for this property.voidsetColorProvider(adams.gui.visualization.core.ColorProvider value)Sets the color provider to use.voidsetPaintlet(AbstractSpectrumPaintlet value)Sets the paintlet to use.voidsetPlotUpdater(AbstractPlotUpdater value)Sets the plot updater to use.voidsetShowSidePanel(boolean value)Sets whether to show the side panel or not.voidsetZoomOverview(boolean value)Sets whether to display the zoom overview.StringshowSidePanelTipText()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.booleansupportsClear()Whether "clear" is supported and shows up in the menu.protected static voidtokenToContainers(adams.flow.core.Token token, SpectrumExplorer panel, AbstractPlotUpdater plotUpdater, adams.core.logging.Logger logger)Displays the token.voidupdatePlot()Updates the panel regardless, notifying the listeners.voidwrapUp()Cleans up after the execution has finished.StringzoomOverviewTipText()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:
globalInfoin interfaceadams.core.GlobalInfoSupporter- Specified by:
globalInfoin 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:
defineOptionsin interfaceadams.core.option.OptionHandler- Overrides:
defineOptionsin classadams.flow.sink.AbstractGraphicalDisplay
-
getDefaultWidth
protected int getDefaultWidth()
Returns the default width for the dialog.- Overrides:
getDefaultWidthin classadams.flow.core.AbstractDisplay- Returns:
- the default width
-
getDefaultHeight
protected int getDefaultHeight()
Returns the default height for the dialog.- Overrides:
getDefaultHeightin 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:
setColorProviderin 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:
getColorProviderin interfaceadams.gui.visualization.core.ColorProviderHandler- Returns:
- the color provider
-
colorProviderTipText
public String colorProviderTipText()
Returns the tip text for this property.- Specified by:
colorProviderTipTextin 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:
setPlotUpdaterin interfaceadams.flow.core.DataPlotUpdaterHandler<AbstractPlotUpdater>- Parameters:
value- the updater
-
getPlotUpdater
public AbstractPlotUpdater getPlotUpdater()
Returns the plot updater in use.- Specified by:
getPlotUpdaterin interfaceadams.flow.core.DataPlotUpdaterHandler<AbstractPlotUpdater>- Returns:
- the updater
-
plotUpdaterTipText
public String plotUpdaterTipText()
Returns the tip text for this property.- Specified by:
plotUpdaterTipTextin 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:
supportsClearin interfaceadams.flow.core.ClearableDisplay- Overrides:
supportsClearin classadams.flow.sink.AbstractGraphicalDisplay- Returns:
- true if supported
-
clearPanel
public void clearPanel()
Clears the content of the panel.- Specified by:
clearPanelin classadams.flow.core.AbstractDisplay
-
newPanel
protected adams.gui.core.BasePanel newPanel()
Creates the panel to display in the dialog.- Specified by:
newPanelin classadams.flow.core.AbstractDisplay- Returns:
- the panel
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Specified by:
acceptsin 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:
displayin classadams.flow.sink.AbstractDisplay- Parameters:
token- the token to display
-
updatePlot
public void updatePlot()
Updates the panel regardless, notifying the listeners.- Specified by:
updatePlotin interfaceadams.flow.core.DataPlotUpdaterHandler<AbstractPlotUpdater>- Specified by:
updatePlotin 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:
createDisplayPanelin 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:
displayPanelRequiresScrollPanein 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:
wrapUpin interfaceadams.flow.core.Actor- Overrides:
wrapUpin classadams.flow.sink.AbstractGraphicalDisplay
-
-