Class HistoryDisplay

  • All Implemented Interfaces:
    AdditionalInformationHandler, CleanUpHandler, Destroyable, GlobalInfoSupporter, LoggingLevelHandler, LoggingSupporter, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<Actor>, SizeOfHandler, Stoppable, StoppableWithFeedback, TextSupporter, VariablesInspectionHandler, VariableChangeListener, Actor, ClearableDisplay, DisplayTypeSupporter, ErrorHandler, InputConsumer, TextSupplier, MenuBarProvider, SendToActionSupporter, Serializable, Comparable

    public class HistoryDisplay
    extends AbstractTextualDisplay
    Actor that outputs any object that arrives at its input port via the 'toString()' method in a separate 'history' entry.

    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: HistoryDisplay
     
    -annotation <adams.core.base.BaseText> (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 gets stopped in case this actor encounters an error;
         useful for critical actors.
        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
     
    -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
     
    -caret-at-start <boolean> (property: caretAtStart)
        If set to true, then the caret will be positioned by default at the start 
        and not the end (can be changed in dialog: View -> Position caret at start
        ).
        default: false
     
    -num-tokens <int> (property: numTokens)
        The number of tokens to accept per history entry.
        default: 1
        minimum: -1
     
    -entry-name-variable <adams.core.VariableNameNoUpdate> (property: entryNameVariable)
        The variable to use for naming the entries; gets ignored if variable not 
        available; an existing history entry gets replaced if a new one with the 
        same name gets added.
        default: entryNameVariable
     
    -allow-merge <boolean> (property: allowMerge)
        If enabled then entries with the same name (ie when using 'entryNameVariable'
        ) get merged.
        default: false
     
    -allow-search <boolean> (property: allowSearch)
        Whether to allow the user to search the entries.
        default: false
     
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • BACKUP_CURRENTCOUNT

        public static final String BACKUP_CURRENTCOUNT
        the key for storing the current count in the backup.
        See Also:
        Constant Field Values
      • m_NumTokens

        protected int m_NumTokens
        the number of tokens to accept for a single entry.
      • m_MenuItemFilePrint

        protected JMenuItem m_MenuItemFilePrint
        the print menu item.
      • m_MenuItemEditCopy

        protected JMenuItem m_MenuItemEditCopy
        the copy menu item.
      • m_MenuItemEditSelectAll

        protected JMenuItem m_MenuItemEditSelectAll
        the select all menu item.
      • m_MenuItemViewFont

        protected JMenuItem m_MenuItemViewFont
        the font menu item.
      • m_MenuItemViewCaret

        protected JCheckBoxMenuItem m_MenuItemViewCaret
        the "caret position" 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_CurrentCount

        protected int m_CurrentCount
        the current count of tokens.
      • m_AllowMerge

        protected boolean m_AllowMerge
        whether to allow merging of panel content.
      • m_AllowSearch

        protected boolean m_AllowSearch
        whether to allow searching.
      • m_CaretAtStart

        protected boolean m_CaretAtStart
        whether to position the caret by default at the start or at the end.
      • m_EntryNameVariable

        protected VariableNameNoUpdate m_EntryNameVariable
        the variable to use for naming the entries.
    • Constructor Detail

      • HistoryDisplay

        public HistoryDisplay()
    • Method Detail

      • getDefaultWidth

        protected int getDefaultWidth()
        Returns the default width for the dialog.
        Overrides:
        getDefaultWidth in class AbstractDisplay
        Returns:
        the default width
      • getDefaultHeight

        protected int getDefaultHeight()
        Returns the default height for the dialog.
        Overrides:
        getDefaultHeight in class AbstractDisplay
        Returns:
        the default height
      • setCaretAtStart

        public void setCaretAtStart​(boolean value)
        Sets whether to position the caret at the start or at the end (default).
        Parameters:
        value - if true then the caret will be positioned at start
      • isCaretAtStart

        public boolean isCaretAtStart()
        Returns whether the caret is positioned at the start instead of the end.
        Returns:
        true if caret positioned at start
      • caretAtStartTipText

        public String caretAtStartTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • 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.
      • setNumTokens

        public void setNumTokens​(int value)
        Sets the number of tokens to accept per entry before creating a new entry.
        Parameters:
        value - the panel provider to use
      • getNumTokens

        public int getNumTokens()
        Returns the number of tokens to accept per entry before creating a new entry.
        Returns:
        the number of tokens
      • numTokensTipText

        public String numTokensTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setEntryNameVariable

        public void setEntryNameVariable​(VariableNameNoUpdate value)
        Sets the variable name which value gets used to name the entries. Gets ignored if variable does not exist.
        Parameters:
        value - the variable name
      • getEntryNameVariable

        public VariableNameNoUpdate getEntryNameVariable()
        Returns the variable name which value gets used to name the entries. Gets ignored if variable does not exist.
        Returns:
        the variable name
      • entryNameVariableTipText

        public String entryNameVariableTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setAllowMerge

        public void setAllowMerge​(boolean value)
        Sets whether to enable merging of content in case of same name.
        Parameters:
        value - true if to allow merge
        See Also:
        setEntryNameVariable(VariableNameNoUpdate)
      • allowMergeTipText

        public String allowMergeTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setAllowSearch

        public void setAllowSearch​(boolean value)
        Sets whether to allow the user to search the entries.
        Parameters:
        value - true if to allow search
      • getAllowSearch

        public boolean getAllowSearch()
        Returns whether to allow the user to search the entries.
        Returns:
        true if to allow search
      • allowSearchTipText

        public String allowSearchTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • createEditMenu

        protected JMenu createEditMenu()
        Creates the "Edit" menu.
        Returns:
        the menu
      • createViewMenu

        protected JMenu createViewMenu()
        Creates the "Edit" menu.
        Returns:
        the menu
      • accepts

        public Class[] accepts()
        Returns the class that the consumer accepts.
        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 class AbstractDisplay
        Parameters:
        token - the token to display