Package adams.flow.sink
Class Display
-
- All Implemented Interfaces:
AdditionalInformationHandler
,CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,ShallowCopySupporter<Actor>
,SizeOfHandler
,Stoppable
,StoppableWithFeedback
,TextSupporter
,VariablesInspectionHandler
,VariableChangeListener
,Actor
,ClearableDisplay
,DisplayTypeSupporter
,ErrorHandler
,InputConsumer
,DisplayPanelProvider
,TextSupplier
,MenuBarProvider
,SendToActionSupporter
,Serializable
,Comparable
public class Display extends AbstractTextualDisplay implements DisplayPanelProvider
Actor that outputs any object that arrives at its input port via the 'toString()' method.
Input/output:
- accepts:
java.lang.Object
-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: Display
-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
-font <java.awt.Font> (property: font) The font of the dialog. default: Monospaced-PLAIN-12
-always-clear <boolean> (property: alwaysClear) If enabled, the display is always cleared before processing a token. default: false
-writer <adams.data.io.output.AbstractTextWriter> (property: writer) The writer to use for storing the textual output. default: adams.data.io.output.NullWriter
-line-wrap <boolean> (property: lineWrap) If enabled, line wrap is used. default: false
-wrap-style-word <boolean> (property: wrapStyleWord) If enabled, wrapping occurs on word boundaries instead of character boundaries. default: false
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
m_LineWrap
use line wrap.protected JMenuItem
m_MenuItemEditCopy
the copy menu item.protected JMenuItem
m_MenuItemEditCut
the cut menu item.protected JMenuItem
m_MenuItemEditFind
the find menu item.protected JMenuItem
m_MenuItemEditFindNext
the find next menu item.protected JMenuItem
m_MenuItemEditPaste
the paste menu item.protected JMenuItem
m_MenuItemEditRedo
the redo menu item.protected JMenuItem
m_MenuItemEditSelectAll
the select all menu item.protected JMenuItem
m_MenuItemEditUndo
the undo menu item.protected JMenuItem
m_MenuItemFilePrint
the print menu item.protected JMenuItem
m_MenuItemViewFont
the font menu item.protected JMenuItem
m_MenuItemViewLineWrap
the line wrap menu item.protected JMenuItem
m_MenuItemViewWrapStyleWord
the word wrap style menu item.protected boolean
m_WrapStyleWord
use word wrap style.-
Fields inherited from class adams.flow.sink.AbstractTextualDisplay
m_AlwaysClear, m_FileChooser, m_Font, m_MenuBar, m_MenuItemFileClear, m_MenuItemFileClose, m_MenuItemFileSaveAs, m_MenuItemFlowPauseResume, m_MenuItemFlowStop, m_ShowFlowControlSubMenu, 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 Display()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Class[]
accepts()
Returns the class that the consumer accepts.void
clear()
Clears the display.void
clearPanel()
Clears the content of the panel.DisplayPanel
createDisplayPanel(Token token)
Creates a new display panel for the token.protected JMenu
createEditMenu()
Creates the "Edit" menu.protected JMenu
createFileMenu()
Creates the "File" menu.protected JMenuBar
createMenuBar()
Assembles the menu bar.protected JMenu
createViewMenu()
Creates the "Edit" menu.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.protected int
getDefaultHeight()
Returns the default height for the dialog.protected int
getDefaultWidth()
Returns the default width for the dialog.boolean
getLineWrap()
Returns whether line wrap is enabled.boolean
getWrapStyleWord()
Gets the style of wrapping used if the text area is wrapping lines.String
globalInfo()
Returns a string describing the object.String
lineWrapTipText()
Returns the tip text for this property.protected BasePanel
newPanel()
Creates the panel to display in the dialog.void
setLineWrap(boolean value)
Enables/disables line wrap.void
setWrapStyleWord(boolean value)
Sets the style of wrapping used if the text area is wrapping lines.String
supplyText()
Returns the text to save.boolean
supportsClear()
Whether "clear" is supported and shows up in the menu.protected void
updateMenu()
updates the enabled state of the menu items.String
wrapStyleWordTipText()
Returns the tip text for this property.-
Methods inherited from class adams.flow.sink.AbstractTextualDisplay
alwaysClearTipText, canPauseOrResume, cleanUp, cleanUpGUI, close, createFlowMenu, doExecute, fontTipText, getAlwaysClear, getCustomSupplyTextMenuItemCaption, getCustomTextFileFilter, getDefaultFont, getFileChooser, getFont, getMenuBar, getQuickInfo, getSendToClasses, getSendToItem, getShowFlowControlSubMenu, getWriter, hasSendToItem, indexOfMenuItem, initialize, isPaused, pauseResumeFlow, preDisplay, saveAs, setAlwaysClear, setFont, setShowFlowControlSubMenu, setWriter, showFlowControlSubMenuTipText, stopFlow, wrapUp, writerTipText
-
Methods inherited from class adams.flow.sink.AbstractDisplay
newDisplayRunnable, postDisplay
-
Methods inherited from class adams.flow.core.AbstractDisplay
backupState, cleanUpGUIKeepOpen, closeFrame, createFrame, createTitle, currentInput, deregisterInWrapUp, deregisterWindow, deregisterWithEditor, displayTypeTipText, doCreateFrame, getCreateFrame, getDefaultDisplayType, getDefaultShortTitle, getDefaultX, getDefaultY, getDisplayType, getFrame, getFrameDefaultCloseOperation, getHeight, getKeepOpen, getPanel, getShortTitle, getWidth, getX, getY, hasInput, heightTipText, 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_MenuItemFilePrint
protected JMenuItem m_MenuItemFilePrint
the print menu item.
-
m_MenuItemEditUndo
protected JMenuItem m_MenuItemEditUndo
the undo menu item.
-
m_MenuItemEditRedo
protected JMenuItem m_MenuItemEditRedo
the redo menu item.
-
m_MenuItemEditCut
protected JMenuItem m_MenuItemEditCut
the cut menu item.
-
m_MenuItemEditCopy
protected JMenuItem m_MenuItemEditCopy
the copy menu item.
-
m_MenuItemEditPaste
protected JMenuItem m_MenuItemEditPaste
the paste menu item.
-
m_MenuItemEditSelectAll
protected JMenuItem m_MenuItemEditSelectAll
the select all menu item.
-
m_MenuItemEditFind
protected JMenuItem m_MenuItemEditFind
the find menu item.
-
m_MenuItemEditFindNext
protected JMenuItem m_MenuItemEditFindNext
the find next menu item.
-
m_MenuItemViewFont
protected JMenuItem m_MenuItemViewFont
the font menu item.
-
m_MenuItemViewLineWrap
protected JMenuItem m_MenuItemViewLineWrap
the line wrap menu item.
-
m_MenuItemViewWrapStyleWord
protected JMenuItem m_MenuItemViewWrapStyleWord
the word wrap style menu item.
-
m_LineWrap
protected boolean m_LineWrap
use line wrap.
-
m_WrapStyleWord
protected boolean m_WrapStyleWord
use word wrap style.
-
-
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 classAbstractTextualDisplay
-
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
-
setLineWrap
public void setLineWrap(boolean value)
Enables/disables line wrap.- Parameters:
value
- if true line wrap gets enabled
-
getLineWrap
public boolean getLineWrap()
Returns whether line wrap is enabled.- Returns:
- true if line wrap enabled
-
lineWrapTipText
public String lineWrapTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setWrapStyleWord
public void setWrapStyleWord(boolean value)
Sets the style of wrapping used if the text area is wrapping lines. If set to true the lines will be wrapped at word boundaries (whitespace) if they are too long to fit within the allocated width. If set to false, the lines will be wrapped at character boundaries. By default this property is false.- Parameters:
value
- indicates if word boundaries should be used for line wrapping
-
getWrapStyleWord
public boolean getWrapStyleWord()
Gets the style of wrapping used if the text area is wrapping lines. If set to true the lines will be wrapped at word boundaries (ie whitespace) if they are too long to fit within the allocated width. If set to false, the lines will be wrapped at character boundaries.- Returns:
- if the wrap style should be word boundaries instead of character boundaries
-
wrapStyleWordTipText
public String wrapStyleWordTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
createFileMenu
protected JMenu createFileMenu()
Creates the "File" menu.- Overrides:
createFileMenu
in classAbstractTextualDisplay
- Returns:
- the generated menu
-
createEditMenu
protected JMenu createEditMenu()
Creates the "Edit" menu.- Returns:
- the menu
-
createViewMenu
protected JMenu createViewMenu()
Creates the "Edit" menu.- Returns:
- the menu
-
createMenuBar
protected JMenuBar createMenuBar()
Assembles the menu bar.- Overrides:
createMenuBar
in classAbstractTextualDisplay
- Returns:
- the menu bar
-
updateMenu
protected void updateMenu()
updates the enabled state of the menu items.- Overrides:
updateMenu
in classAbstractTextualDisplay
-
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
-
supplyText
public String supplyText()
Returns the text to save.- Specified by:
supplyText
in interfaceTextSupplier
- Specified by:
supplyText
in interfaceTextSupporter
- Specified by:
supplyText
in classAbstractTextualDisplay
- Returns:
- the text, null if no text available
-
supportsClear
public boolean supportsClear()
Whether "clear" is supported and shows up in the menu.- Specified by:
supportsClear
in interfaceClearableDisplay
- Overrides:
supportsClear
in classAbstractTextualDisplay
- Returns:
- always true
-
clear
public void clear()
Clears the display.- Specified by:
clear
in interfaceClearableDisplay
- Overrides:
clear
in classAbstractTextualDisplay
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Specified by:
accepts
in interfaceInputConsumer
- Returns:
- java.lang.Object.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
-
createDisplayPanel
public DisplayPanel createDisplayPanel(Token token)
Creates a new display 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
-
-