Class HTMLHelper.Renderer

  • All Implemented Interfaces:
    javax.swing.SwingConstants
    Enclosing class:
    HTMLHelper

    static class HTMLHelper.Renderer
    extends javax.swing.text.View
    Root text view that acts as an HTML renderer.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) static javax.swing.JTextPane CONTAINER  
      private javax.swing.text.ViewFactory factory  
      private javax.swing.text.View view  
      • Fields inherited from class javax.swing.text.View

        BadBreakWeight, ExcellentBreakWeight, ForcedBreakWeight, GoodBreakWeight, X_AXIS, Y_AXIS
      • Fields inherited from interface javax.swing.SwingConstants

        BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
    • Constructor Summary

      Constructors 
      Constructor Description
      Renderer​(javax.swing.text.ViewFactory f, javax.swing.text.View v)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      float getAlignment​(int axis)
      Determines the desired alignment for this view along an axis.
      javax.swing.text.AttributeSet getAttributes()
      Fetches the attributes to use when rendering.
      java.awt.Container getContainer()
      Fetches the container hosting the view.
      javax.swing.text.Document getDocument()
      Returns the document model underlying the view.
      javax.swing.text.Element getElement()
      Gets the element that this view is mapped to.
      int getEndOffset()
      Returns the ending offset into the model for this view.
      float getMaximumSpan​(int axis)
      Determines the maximum span for this view along an axis.
      float getMinimumSpan​(int axis)
      Determines the minimum span for this view along an axis.
      float getPreferredSpan​(int axis)
      Determines the preferred span for this view along an axis.
      int getStartOffset()
      Returns the starting offset into the model for this view.
      javax.swing.text.View getView​(int n)
      Gets the n-th view in this container.
      int getViewCount()
      Returns the number of views in this view.
      javax.swing.text.ViewFactory getViewFactory()
      Fetches the factory to be used for building the various view fragments that make up the view that represents the model.
      java.awt.Shape modelToView​(int pos, java.awt.Shape a, javax.swing.text.Position.Bias b)
      Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it.
      java.awt.Shape modelToView​(int p0, javax.swing.text.Position.Bias b0, int p1, javax.swing.text.Position.Bias b1, java.awt.Shape a)
      Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it.
      void paint​(java.awt.Graphics g, java.awt.Shape allocation)
      Renders the view.
      void preferenceChanged​(javax.swing.text.View child, boolean width, boolean height)
      Specifies that a preference has changed.
      void setParent​(javax.swing.text.View parent)
      Sets the view parent.
      void setSize​(float width, float height)
      Sets the view size.
      int viewToModel​(float x, float y, java.awt.Shape a, javax.swing.text.Position.Bias[] bias)
      Provides a mapping from the view coordinate space to the logical coordinate space of the model.
      • Methods inherited from class javax.swing.text.View

        append, breakView, changedUpdate, createFragment, forwardUpdate, forwardUpdateToView, getBreakWeight, getChildAllocation, getGraphics, getNextVisualPositionFrom, getParent, getResizeWeight, getToolTipText, getViewIndex, getViewIndex, insert, insertUpdate, isVisible, modelToView, remove, removeAll, removeUpdate, replace, updateChildren, updateLayout, viewToModel
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • CONTAINER

        static javax.swing.JTextPane CONTAINER
      • view

        private final javax.swing.text.View view
      • factory

        private final javax.swing.text.ViewFactory factory
    • Constructor Detail

      • Renderer

        Renderer​(javax.swing.text.ViewFactory f,
                 javax.swing.text.View v)
    • Method Detail

      • getAttributes

        @CheckForNull
        public javax.swing.text.AttributeSet getAttributes()
        Fetches the attributes to use when rendering. At the root level there are no attributes. If an attribute is resolved up the view hierarchy this is the end of the line.
        Overrides:
        getAttributes in class javax.swing.text.View
      • getPreferredSpan

        public float getPreferredSpan​(int axis)
        Determines the preferred span for this view along an axis.
        Specified by:
        getPreferredSpan in class javax.swing.text.View
        Parameters:
        axis - may be either X_AXIS or Y_AXIS
        Returns:
        the span the view would like to be rendered into. Typically the view is told to render into the span that is returned, although there is no guarantee. The parent may choose to resize or break the view.
      • getMinimumSpan

        public float getMinimumSpan​(int axis)
        Determines the minimum span for this view along an axis.
        Overrides:
        getMinimumSpan in class javax.swing.text.View
        Parameters:
        axis - may be either X_AXIS or Y_AXIS
        Returns:
        the span the view would like to be rendered into. Typically the view is told to render into the span that is returned, although there is no guarantee. The parent may choose to resize or break the view.
      • getMaximumSpan

        public float getMaximumSpan​(int axis)
        Determines the maximum span for this view along an axis.
        Overrides:
        getMaximumSpan in class javax.swing.text.View
        Parameters:
        axis - may be either X_AXIS or Y_AXIS
        Returns:
        the span the view would like to be rendered into. Typically the view is told to render into the span that is returned, although there is no guarantee. The parent may choose to resize or break the view.
      • preferenceChanged

        public void preferenceChanged​(javax.swing.text.View child,
                                      boolean width,
                                      boolean height)
        Specifies that a preference has changed. Child views can call this on the parent to indicate that the preference has changed. The root view routes this to invalidate on the hosting component.

        This can be called on a different thread from the event dispatching thread and is basically unsafe to propagate into the component. To make this safe, the operation is transferred over to the event dispatching thread for completion. It is a design goal that all view methods be safe to call without concern for concurrency, and this behavior helps make that true.

        Overrides:
        preferenceChanged in class javax.swing.text.View
        Parameters:
        child - the child view
        width - true if the width preference has changed
        height - true if the height preference has changed
      • getAlignment

        public float getAlignment​(int axis)
        Determines the desired alignment for this view along an axis.
        Overrides:
        getAlignment in class javax.swing.text.View
        Parameters:
        axis - may be either X_AXIS or Y_AXIS
        Returns:
        the desired alignment, where 0.0 indicates the origin and 1.0 the full span away from the origin
      • paint

        public void paint​(java.awt.Graphics g,
                          java.awt.Shape allocation)
        Renders the view.
        Specified by:
        paint in class javax.swing.text.View
        Parameters:
        g - the graphics context
        allocation - the region to render into
      • setParent

        public void setParent​(javax.swing.text.View parent)
        Sets the view parent.
        Overrides:
        setParent in class javax.swing.text.View
        Parameters:
        parent - the parent view
      • getViewCount

        public int getViewCount()
        Returns the number of views in this view. Since this view simply wraps the root of the view hierarchy it has exactly one child.
        Overrides:
        getViewCount in class javax.swing.text.View
        Returns:
        the number of views
        See Also:
        getView(int)
      • getView

        public javax.swing.text.View getView​(int n)
        Gets the n-th view in this container.
        Overrides:
        getView in class javax.swing.text.View
        Parameters:
        n - the number of the view to get
        Returns:
        the view
      • modelToView

        public java.awt.Shape modelToView​(int pos,
                                          java.awt.Shape a,
                                          javax.swing.text.Position.Bias b)
                                   throws javax.swing.text.BadLocationException
        Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it.
        Specified by:
        modelToView in class javax.swing.text.View
        Parameters:
        pos - the position to convert
        a - the allocated region to render into
        Returns:
        the bounding box of the given position
        Throws:
        javax.swing.text.BadLocationException
      • modelToView

        public java.awt.Shape modelToView​(int p0,
                                          javax.swing.text.Position.Bias b0,
                                          int p1,
                                          javax.swing.text.Position.Bias b1,
                                          java.awt.Shape a)
                                   throws javax.swing.text.BadLocationException
        Provides a mapping from the document model coordinate space to the coordinate space of the view mapped to it.
        Overrides:
        modelToView in class javax.swing.text.View
        Parameters:
        p0 - the position to convert >= 0
        b0 - the bias toward the previous character or the next character represented by p0, in case the position is a boundary of two views.
        p1 - the position to convert >= 0
        b1 - the bias toward the previous character or the next character represented by p1, in case the position is a boundary of two views.
        a - the allocated region to render into
        Returns:
        the bounding box of the given position is returned
        Throws:
        javax.swing.text.BadLocationException - if the given position does not represent a valid location in the associated document
        java.lang.IllegalArgumentException - for an invalid bias argument
        See Also:
        View.viewToModel(float, float, java.awt.Shape, javax.swing.text.Position.Bias[])
      • viewToModel

        public int viewToModel​(float x,
                               float y,
                               java.awt.Shape a,
                               javax.swing.text.Position.Bias[] bias)
        Provides a mapping from the view coordinate space to the logical coordinate space of the model.
        Specified by:
        viewToModel in class javax.swing.text.View
        Parameters:
        x - x coordinate of the view location to convert
        y - y coordinate of the view location to convert
        a - the allocated region to render into
        Returns:
        the location within the model that best represents the given point in the view
      • getDocument

        public javax.swing.text.Document getDocument()
        Returns the document model underlying the view.
        Overrides:
        getDocument in class javax.swing.text.View
        Returns:
        the model
      • getStartOffset

        public int getStartOffset()
        Returns the starting offset into the model for this view.
        Overrides:
        getStartOffset in class javax.swing.text.View
        Returns:
        the starting offset
      • getEndOffset

        public int getEndOffset()
        Returns the ending offset into the model for this view.
        Overrides:
        getEndOffset in class javax.swing.text.View
        Returns:
        the ending offset
      • getElement

        public javax.swing.text.Element getElement()
        Gets the element that this view is mapped to.
        Overrides:
        getElement in class javax.swing.text.View
        Returns:
        the view
      • setSize

        public void setSize​(float width,
                            float height)
        Sets the view size.
        Overrides:
        setSize in class javax.swing.text.View
        Parameters:
        width - the width
        height - the height
      • getContainer

        public java.awt.Container getContainer()
        Fetches the container hosting the view. This is useful for things like scheduling a repaint, finding out the host components font, etc. The default implementation of this is to forward the query to the parent view.
        Overrides:
        getContainer in class javax.swing.text.View
        Returns:
        the container
      • getViewFactory

        public javax.swing.text.ViewFactory getViewFactory()
        Fetches the factory to be used for building the various view fragments that make up the view that represents the model. This is what determines how the model will be represented. This is implemented to fetch the factory provided by the associated EditorKit.
        Overrides:
        getViewFactory in class javax.swing.text.View
        Returns:
        the factory