Class TextConsole

  • All Implemented Interfaces:
    IConsole
    Direct Known Subclasses:
    IOConsole

    public abstract class TextConsole
    extends AbstractConsole
    An abstract text console that supports regular expression matching and hyperlinks.

    Pattern match listeners can be registered with a console programmatically or via the org.eclipse.ui.console.consolePatternMatchListeners extension point.

    Clients may subclass this class. Subclasses must provide a document partitioner.

    Since:
    3.1
    • Constructor Detail

      • TextConsole

        public TextConsole​(String name,
                           String consoleType,
                           ImageDescriptor imageDescriptor,
                           boolean autoLifecycle)
        Constructs a console with the given name, image descriptor, and lifecycle
        Parameters:
        name - name to display for this console
        consoleType - console type identifier or null
        imageDescriptor - image to display for this console or null
        autoLifecycle - whether lifecycle methods should be called automatically when this console is added/removed from the console manager
    • Method Detail

      • dispose

        protected void dispose()
        Description copied from class: AbstractConsole
        Called when this console is removed from the console manager. Default implementation does nothing. Subclasses may override.

        Since 3.1, this methods is only called automatically if this console was created with an automatic lifecycle.

        Overrides:
        dispose in class AbstractConsole
      • createPage

        public IPageBookViewPage createPage​(IConsoleView view)
        Description copied from interface: IConsole
        Creates and returns a new page for this console. The page is displayed for this console in the console given view.
        Parameters:
        view - the view in which the page is to be created
        Returns:
        a page book view page representation of this console
      • getDocument

        public IDocument getDocument()
        Returns this console's document.

        Note that a console may or may not support direct manipulation of its document. For example, an I/O console document and its partitions are produced from the streams connected to it, and clients are not intended to modify the document's contents.

        Returns:
        this console's document
      • getConsoleWidth

        public int getConsoleWidth()
        Returns the current width of this console. A value of zero of less indicates this console has no fixed width.
        Returns:
        the current width of this console
      • isConsoleAutoScrollLock

        public boolean isConsoleAutoScrollLock()
        Returns the user preference for enabling auto scroll lock feature.
        Returns:
        auto scroll lock
        Since:
        3.8
      • setConsoleAutoScrollLock

        public void setConsoleAutoScrollLock​(boolean autoScrollLockPref)
        Sets the auto scroll lock preference.
        Parameters:
        autoScrollLockPref - enable auto scroll lock preference.
        Since:
        3.8
      • init

        protected void init()
        Description copied from class: AbstractConsole
        Called when this console is added to the console manager. Default implementation does nothing. Subclasses may override.

        Since 3.1, this method is only called automatically if this console was created with an automatic lifecycle.

        Overrides:
        init in class AbstractConsole
      • setConsoleWidth

        public void setConsoleWidth​(int width)
        Sets the width of this console in characters. Any value greater than zero will cause this console to have a fixed width.
        Parameters:
        width - the width to make this console. Values of 0 or less imply the console does not have any fixed width.
      • setTabWidth

        public void setTabWidth​(int newTabWidth)
        Sets the tab width used in this console.
        Parameters:
        newTabWidth - the tab width
      • getTabWidth

        public int getTabWidth()
        Returns the tab width used in this console.
        Returns:
        tab width used in this console
      • getFont

        public Font getFont()
        Returns the font used by this console. Must be called in the UI thread.
        Returns:
        font used by this console
      • setFont

        public void setFont​(Font newFont)
        Sets the font used by this console. Specify null to use the default text font.
        Parameters:
        newFont - font, or null to indicate the default font
      • setBackgrond

        @Deprecated
        public void setBackgrond​(Color background)
        Deprecated.
        use setBackground(Color) instead
        Sets the background color used by this console. Specify null to use the default background color.
        Parameters:
        background - background color or null for default
        Since:
        3.3
      • setBackground

        public void setBackground​(Color background)
        Sets the background color used by this console. Specify null to use the default background color.
        Parameters:
        background - background color or null for default
        Since:
        3.3
      • getBackground

        public Color getBackground()
        Returns the background color to use for this console or null for the default background color.
        Returns:
        background color or null for default
        Since:
        3.3
      • clearConsole

        public void clearConsole()
        Clears the console.

        Since a console may or may not support direct manipulation of its document's contents, this method should be called to clear a text console's document. The default implementation sets this console's document content to the empty string directly. Subclasses should override as required.

      • getPartitioner

        protected abstract IConsoleDocumentPartitioner getPartitioner()
        Returns the console's document partitioner.
        Returns:
        The console's document partitioner
      • getHyperlinks

        public IHyperlink[] getHyperlinks()
        Returns all hyperlinks in this console.
        Returns:
        all hyperlinks in this console
      • getHyperlink

        public IHyperlink getHyperlink​(int offset)
        Returns the hyperlink at the given offset or null if none.
        Parameters:
        offset - offset for which a hyperlink is requested
        Returns:
        the hyperlink at the given offset or null if none
      • addPatternMatchListener

        public void addPatternMatchListener​(IPatternMatchListener listener)
        Adds the given pattern match listener to this console. The listener will be connected and receive match notifications. Has no effect if an identical listener has already been added.
        Parameters:
        listener - the listener to add
      • removePatternMatchListener

        public void removePatternMatchListener​(IPatternMatchListener listener)
        Removes the given pattern match listener from this console. The listener will be disconnected and will no longer receive match notifications. Has no effect if the listener was not previously added.
        Parameters:
        listener - the pattern match listener to remove
      • getSchedulingRule

        public ISchedulingRule getSchedulingRule()
        Returns a scheduling rule which can be used to prevent jobs from running while this console's pattern matcher is active.

        Although this scheduling rule prevents jobs from running at the same time as pattern matching jobs for this console, it does not enforce any ordering of jobs. Since 3.2, pattern matching jobs belong to the job family identified by the console object that matching is occurring on. To ensure a job runs after all scheduled pattern matching is complete, clients must join on this console's job family.

        Returns:
        a scheduling rule which can be used to prevent jobs from running while this console's pattern matcher is active
      • partitionerFinished

        public void partitionerFinished()
        This console's partitioner should call this method when it is not expecting any new data to be appended to the document.
      • matcherFinished

        public void matcherFinished()
        Called by this console's pattern matcher when matching is complete.

        Clients should not call this method.

      • addHyperlink

        public void addHyperlink​(IHyperlink hyperlink,
                                 int offset,
                                 int length)
                          throws BadLocationException
        Adds a hyperlink to this console.
        Parameters:
        hyperlink - the hyperlink to add
        offset - the offset in the console document at which the hyperlink should be added
        length - the length of the text which should be hyperlinked
        Throws:
        BadLocationException - if the specified location is not valid.
      • getRegion

        public IRegion getRegion​(IHyperlink link)
        Returns the region associated with the given hyperlink.
        Parameters:
        link - hyperlink
        Returns:
        the region associated with the hyperlink or null if the hyperlink is not found.
      • getAttribute

        public Object getAttribute​(String key)
        Returns the attribute associated with the specified key.
        Parameters:
        key - attribute key
        Returns:
        the attribute associated with the specified key
      • setAttribute

        public void setAttribute​(String key,
                                 Object value)
        Sets an attribute value. Intended for client data.
        Parameters:
        key - attribute key
        value - attribute value