Package adams.flow.sink
Class ImageViewer
-
- All Implemented Interfaces:
AdditionalInformationHandler
,CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,ShallowCopySupporter<Actor>
,SizeOfHandler
,Stoppable
,StoppableWithFeedback
,VariablesInspectionHandler
,VariableChangeListener
,Actor
,ClearableDisplay
,DisplayTypeSupporter
,ErrorHandler
,InputConsumer
,ComponentSupplier
,DisplayPanelProvider
,MenuBarProvider
,SendToActionSupporter
,Serializable
,Comparable
public class ImageViewer extends AbstractGraphicalDisplay implements DisplayPanelProvider
Actor for displaying an image.
Input/output:
- accepts:
java.lang.String
java.io.File
java.awt.image.BufferedImage
adams.data.image.AbstractImageContainer
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-name <java.lang.String> (property: name) The name of the actor. default: ImageViewer
-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
-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
-short-title <boolean> (property: shortTitle) If enabled uses just the name for the title instead of the actor's full name. default: false
-display-in-editor <boolean> (property: displayInEditor) If enabled displays the panel in a tab in the flow editor rather than in a separate frame. default: false
-width <int> (property: width) The width of the dialog. default: 640 minimum: -1
-height <int> (property: height) The height of the dialog. default: 480 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
-zoom <double> (property: zoom) The zoom level in percent. default: 100.0 minimum: -1.0 maximum: 1600.0
-background-color <java.awt.Color> (property: backgroundColor) The background color to use. default: #eeeeee
-show-properties <boolean> (property: showProperties) If enabled then the image properties get displayed. default: false
-properties-width <int> (property: propertiesWidth) The width of the properties, if displayed. default: 150 minimum: 1
-selection-processor <adams.gui.visualization.image.selection.AbstractSelectionProcessor> (property: selectionProcessor) The selection processor to use. default: adams.gui.visualization.image.selection.NullProcessor
-left-click-processor <adams.gui.visualization.image.leftclick.AbstractLeftClickProcessor> (property: leftClickProcessor) The left-click processor to use. default: adams.gui.visualization.image.leftclick.NullProcessor
-selection-box-color <java.awt.Color> (property: selectionBoxColor) The color of the selection box. default: #808080
-image-overlay <adams.gui.visualization.image.ImageOverlay> (property: imageOverlay) The image overlay to use. default: adams.gui.visualization.image.NullOverlay
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ImageViewer.ImageViewerDisplayPanel
CustomDisplayPanel
.
-
Field Summary
Fields Modifier and Type Field Description protected Color
m_BackgroundColor
the background color.protected ImageOverlay
m_ImageOverlay
the image overlay to use.protected ImagePanel
m_ImagePanel
the panel with the image.protected AbstractLeftClickProcessor
m_LeftClickProcessor
the click processor to apply.protected int
m_PropertiesWidth
the width of the image properties.protected SelectionProcessor
m_SelectionProcessor
the selection processor to apply.protected SelectionShapePainter
m_SelectionShapePainter
the painter for the selection shape.protected boolean
m_ShowProperties
whether to display the image properties.protected double
m_Zoom
the zoom level.-
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_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
-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
-
-
Constructor Summary
Constructors Constructor Description ImageViewer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class[]
accepts()
Returns the class that the consumer accepts.String
backgroundColorTipText()
Returns the tip text for this property.protected void
cleanUpGUI()
Removes all graphical components.void
clearPanel()
Clears the content of the panel.DisplayPanel
createDisplayPanel(Token token)
Creates a new panel for the token.void
defineOptions()
Adds options to the internal list of options.protected void
display(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.Color
getBackgroundColor()
Returns the background color.protected Color
getDefaultBackgroundColor()
Returns the default background color.protected int
getDefaultHeight()
Returns the default height for the dialog.protected int
getDefaultWidth()
Returns the default width for the dialog.ImageOverlay
getImageOverlay()
Returns the image overlay in use.AbstractLeftClickProcessor
getLeftClickProcessor()
Returns the left-click processor in use.int
getPropertiesWidth()
Returns the width of the properties.SelectionProcessor
getSelectionProcessor()
Returns the selection processor in use.SelectionShapePainter
getSelectionShapePainter()
Returns the painter for the selection shape.boolean
getShowProperties()
Returns whether to display the image properties.double
getZoom()
Returns the zoom level in percent.String
globalInfo()
Returns a string describing the object.String
imageOverlayTipText()
Returns the tip text for this property.String
leftClickProcessorTipText()
Returns the tip text for this property.protected BasePanel
newPanel()
Creates the panel to display in the dialog.String
propertiesWidthTipText()
Returns the tip text for this property.String
selectionProcessorTipText()
Returns the tip text for this property.String
selectionShapePainterTipText()
Returns the tip text for this property.void
setBackgroundColor(Color value)
Sets the background color.void
setImageOverlay(ImageOverlay value)
Sets the image overlay to use.void
setLeftClickProcessor(AbstractLeftClickProcessor value)
Sets the left-click processor to use.void
setPropertiesWidth(int value)
Sets the width of the properties.void
setSelectionProcessor(SelectionProcessor value)
Sets the selection processor to use.void
setSelectionShapePainter(SelectionShapePainter value)
Sets the painter for the selection shape.void
setShowProperties(boolean value)
Sets whether to display the image properties.void
setZoom(double value)
Sets the zoom level in percent (0-1600).String
showPropertiesTipText()
Returns the tip text for this property.boolean
supportsClear()
Whether "clear" is supported and shows up in the menu.String
zoomTipText()
Returns the tip text for this property.-
Methods inherited from class adams.flow.sink.AbstractGraphicalDisplay
canPauseOrResume, clear, close, createMenuBar, getGraphicFileChooser, getMenuBar, getSendToClasses, getSendToItem, getShowFlowControlSubMenu, getTextFileChooser, getWriter, hasPanel, hasSendToItem, isPaused, pauseResumeFlow, saveAs, saveTextAs, setShowFlowControlSubMenu, setWriter, showFlowControlSubMenuTipText, stopFlow, supplyComponent, updateMenu, wrapUp, writerTipText
-
Methods inherited from class adams.flow.sink.AbstractDisplay
newDisplayRunnable, postDisplay, preDisplay
-
Methods inherited from class adams.flow.core.AbstractDisplay
backupState, cleanUp, cleanUpGUIKeepOpen, closeFrame, createFrame, createTitle, currentInput, deregisterInWrapUp, deregisterWindow, deregisterWithEditor, displayTypeTipText, doCreateFrame, doExecute, 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, 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, wrapUp
-
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
-
Methods inherited from interface adams.flow.core.InputConsumer
currentInput, hasInput, input
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel, setLoggingLevel
-
Methods inherited from interface adams.core.logging.LoggingSupporter
getLogger, isLoggingEnabled
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
-
Methods inherited from interface adams.core.VariablesInspectionHandler
canInspectOptions
-
-
-
-
Field Detail
-
m_ImagePanel
protected ImagePanel m_ImagePanel
the panel with the image.
-
m_Zoom
protected double m_Zoom
the zoom level.
-
m_BackgroundColor
protected Color m_BackgroundColor
the background color.
-
m_ShowProperties
protected boolean m_ShowProperties
whether to display the image properties.
-
m_PropertiesWidth
protected int m_PropertiesWidth
the width of the image properties.
-
m_SelectionProcessor
protected SelectionProcessor m_SelectionProcessor
the selection processor to apply.
-
m_LeftClickProcessor
protected AbstractLeftClickProcessor m_LeftClickProcessor
the click processor to apply.
-
m_SelectionShapePainter
protected SelectionShapePainter m_SelectionShapePainter
the painter for the selection shape.
-
m_ImageOverlay
protected ImageOverlay m_ImageOverlay
the image overlay to use.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceGlobalInfoSupporter
- Specified by:
globalInfo
in classAbstractOptionHandler
- 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 interfaceOptionHandler
- Overrides:
defineOptions
in classAbstractGraphicalDisplay
-
getDefaultWidth
protected int getDefaultWidth()
Returns the default width for the dialog.- Overrides:
getDefaultWidth
in classAbstractDisplay
- Returns:
- the default width
-
getDefaultHeight
protected int getDefaultHeight()
Returns the default height for the dialog.- Overrides:
getDefaultHeight
in classAbstractDisplay
- Returns:
- the default height
-
getDefaultBackgroundColor
protected Color getDefaultBackgroundColor()
Returns the default background color.- Returns:
- the default color
-
setZoom
public void setZoom(double value)
Sets the zoom level in percent (0-1600).- Parameters:
value
- the zoom, -1 to fit window, or 0-1600
-
getZoom
public double getZoom()
Returns the zoom level in percent.- Returns:
- the zoom
-
zoomTipText
public String zoomTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setBackgroundColor
public void setBackgroundColor(Color value)
Sets the background color.- Parameters:
value
- the color
-
getBackgroundColor
public Color getBackgroundColor()
Returns the background color.- Returns:
- the color
-
backgroundColorTipText
public String backgroundColorTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setShowProperties
public void setShowProperties(boolean value)
Sets whether to display the image properties.- Parameters:
value
- if true then the properties are displayed
-
getShowProperties
public boolean getShowProperties()
Returns whether to display the image properties.- Returns:
- true if the properties are displayed
-
showPropertiesTipText
public String showPropertiesTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setPropertiesWidth
public void setPropertiesWidth(int value)
Sets the width of the properties.- Parameters:
value
- the width of the properties
-
getPropertiesWidth
public int getPropertiesWidth()
Returns the width of the properties.- Returns:
- the width of the properties
-
propertiesWidthTipText
public String propertiesWidthTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setSelectionProcessor
public void setSelectionProcessor(SelectionProcessor value)
Sets the selection processor to use.- Parameters:
value
- the processor
-
getSelectionProcessor
public SelectionProcessor getSelectionProcessor()
Returns the selection processor in use.- Returns:
- the processor
-
selectionProcessorTipText
public String selectionProcessorTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setLeftClickProcessor
public void setLeftClickProcessor(AbstractLeftClickProcessor value)
Sets the left-click processor to use.- Parameters:
value
- the processor
-
getLeftClickProcessor
public AbstractLeftClickProcessor getLeftClickProcessor()
Returns the left-click processor in use.- Returns:
- the processor
-
leftClickProcessorTipText
public String leftClickProcessorTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setSelectionShapePainter
public void setSelectionShapePainter(SelectionShapePainter value)
Sets the painter for the selection shape.- Parameters:
value
- the painter
-
getSelectionShapePainter
public SelectionShapePainter getSelectionShapePainter()
Returns the painter for the selection shape.- Returns:
- the painter
-
selectionShapePainterTipText
public String selectionShapePainterTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setImageOverlay
public void setImageOverlay(ImageOverlay value)
Sets the image overlay to use.- Parameters:
value
- the image overlay
-
getImageOverlay
public ImageOverlay getImageOverlay()
Returns the image overlay in use.- Returns:
- the image overlay
-
imageOverlayTipText
public String imageOverlayTipText()
Returns the tip text for this property.- 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 interfaceClearableDisplay
- Overrides:
supportsClear
in classAbstractGraphicalDisplay
- Returns:
- true if supported
-
clearPanel
public void clearPanel()
Clears the content of the panel.- Specified by:
clearPanel
in classAbstractDisplay
-
newPanel
protected BasePanel newPanel()
Creates the panel to display in the dialog.- Specified by:
newPanel
in classAbstractDisplay
- Returns:
- the panel
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Specified by:
accepts
in interfaceInputConsumer
- Returns:
- java.lang.String.class, java.io.File.class, java.awt.image.BufferedImage.class, adams.data.image.AbstractImageContainer.class
-
display
protected void display(Token token)
Displays the token (the panel and dialog have already been created at this stage).- Specified by:
display
in classAbstractDisplay
- Parameters:
token
- the token to display
-
cleanUpGUI
protected void cleanUpGUI()
Removes all graphical components.- Overrides:
cleanUpGUI
in classAbstractGraphicalDisplay
-
createDisplayPanel
public DisplayPanel createDisplayPanel(Token token)
Creates a new panel for the token.- Specified by:
createDisplayPanel
in interfaceDisplayPanelProvider
- 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 interfaceDisplayPanelProvider
- Returns:
- true if the display panel requires a scroll pane
-
-