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,FlowControlSubMenuSupporter,HeadlessExecutionSupporter,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 min-user-mode: Expert
-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 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: 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
-show-flow-control-submenu <boolean> (property: showFlowControlSubMenu) If enabled, adds a flow control sub-menu to the menubar. default: false min-user-mode: Expert
-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
-max-lines <int> (property: maxLines) The maximum number of lines to keep at the end of the document; <= no limit. default: -1 minimum: -1
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanm_LineWrapuse line wrap.protected intm_MaxLinesthe maximum number of lines to keep.protected JMenuItemm_MenuItemEditCopythe copy menu item.protected JMenuItemm_MenuItemEditCutthe cut menu item.protected JMenuItemm_MenuItemEditFindthe find menu item.protected JMenuItemm_MenuItemEditFindNextthe find next menu item.protected JMenuItemm_MenuItemEditPastethe paste menu item.protected JMenuItemm_MenuItemEditRedothe redo menu item.protected JMenuItemm_MenuItemEditSelectAllthe select all menu item.protected JMenuItemm_MenuItemEditUndothe undo menu item.protected JMenuItemm_MenuItemFilePrintthe print menu item.protected JMenuItemm_MenuItemViewFontthe font menu item.protected JMenuItemm_MenuItemViewLineWrapthe line wrap menu item.protected JMenuItemm_MenuItemViewWrapStyleWordthe word wrap style menu item.protected booleanm_WrapStyleWorduse 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_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
-
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.voidclear()Clears the display.voidclearPanel()Clears the content of the panel.DisplayPanelcreateDisplayPanel(Token token)Creates a new display panel for the token.protected JMenucreateEditMenu()Creates the "Edit" menu.protected JMenucreateFileMenu()Creates the "File" menu.protected JMenuBarcreateMenuBar()Assembles the menu bar.protected JMenucreateViewMenu()Creates the "Edit" menu.voiddefineOptions()Adds options to the internal list of options.protected voiddisplay(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.protected intgetDefaultHeight()Returns the default height for the dialog.protected intgetDefaultWidth()Returns the default width for the dialog.booleangetLineWrap()Returns whether line wrap is enabled.intgetMaxLines()Returns the maximum number of lines to keep at the end of the document.booleangetWrapStyleWord()Gets the style of wrapping used if the text area is wrapping lines.StringglobalInfo()Returns a string describing the object.StringlineWrapTipText()Returns the tip text for this property.StringmaxLinesTipText()Returns the tip text for this property.protected BasePanelnewPanel()Creates the panel to display in the dialog.voidsetLineWrap(boolean value)Enables/disables line wrap.voidsetMaxLines(int value)Sets the maximum number of lines to keep at the end of the document.voidsetWrapStyleWord(boolean value)Sets the style of wrapping used if the text area is wrapping lines.StringsupplyText()Returns the text to save.booleansupportsClear()Whether "clear" is supported and shows up in the menu.protected voidupdateMenu()updates the enabled state of the menu items.StringwrapStyleWordTipText()Returns the tip text for this property.-
Methods inherited from class adams.flow.sink.AbstractTextualDisplay
alwaysClearTipText, canPauseOrResume, cleanUp, cleanUpGUI, close, createFlowMenu, doExecuteHeadless, 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, supportsHeadlessExecution, wrapUp, writerTipText
-
Methods inherited from class adams.flow.sink.AbstractDisplay
newDisplayRunnable, postDisplay
-
Methods inherited from class adams.flow.core.AbstractDisplay
backupState, cleanUpGUIKeepOpen, closeDisplay, createFrame, createTitle, currentInput, deregisterInWrapUp, deregisterWindow, deregisterWithEditor, displayTypeTipText, doCreateFrame, doExecute, 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.
-
m_MaxLines
protected int m_MaxLines
the maximum number of lines to keep.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfoin interfaceGlobalInfoSupporter- Specified by:
globalInfoin classAbstractOptionHandler- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptionsin interfaceOptionHandler- Overrides:
defineOptionsin classAbstractTextualDisplay
-
getDefaultWidth
protected int getDefaultWidth()
Returns the default width for the dialog.- Overrides:
getDefaultWidthin classAbstractDisplay- Returns:
- the default width
-
getDefaultHeight
protected int getDefaultHeight()
Returns the default height for the dialog.- Overrides:
getDefaultHeightin 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.
-
setMaxLines
public void setMaxLines(int value)
Sets the maximum number of lines to keep at the end of the document.- Parameters:
value- the maximum, <= for no limit
-
getMaxLines
public int getMaxLines()
Returns the maximum number of lines to keep at the end of the document.- Returns:
- the maximum, <=0 for no limit
-
maxLinesTipText
public String maxLinesTipText()
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:
createFileMenuin 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:
createMenuBarin classAbstractTextualDisplay- Returns:
- the menu bar
-
updateMenu
protected void updateMenu()
updates the enabled state of the menu items.- Overrides:
updateMenuin classAbstractTextualDisplay
-
clearPanel
public void clearPanel()
Clears the content of the panel.- Specified by:
clearPanelin classAbstractDisplay
-
newPanel
protected BasePanel newPanel()
Creates the panel to display in the dialog.- Specified by:
newPanelin classAbstractDisplay- Returns:
- the panel
-
supplyText
public String supplyText()
Returns the text to save.- Specified by:
supplyTextin interfaceTextSupplier- Specified by:
supplyTextin interfaceTextSupporter- Specified by:
supplyTextin 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:
supportsClearin interfaceClearableDisplay- Overrides:
supportsClearin classAbstractTextualDisplay- Returns:
- always true
-
clear
public void clear()
Clears the display.- Specified by:
clearin interfaceClearableDisplay- Overrides:
clearin classAbstractTextualDisplay
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Specified by:
acceptsin 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:
displayin classAbstractDisplay- Parameters:
token- the token to display
-
createDisplayPanel
public DisplayPanel createDisplayPanel(Token token)
Creates a new display panel for the token.- Specified by:
createDisplayPanelin 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:
displayPanelRequiresScrollPanein interfaceDisplayPanelProvider- Returns:
- true if the display panel requires a scroll pane
-
-