org.lobobrowser.html.renderer
Class RBlock

java.lang.Object
  extended by org.lobobrowser.html.renderer.RBlock
All Implemented Interfaces:
java.awt.image.ImageObserver, UINode, BoundableRenderable, RCollection, RElement, Renderable, RenderableContainer

public class RBlock
extends java.lang.Object
implements RenderableContainer, java.awt.image.ImageObserver

Represents a HTML block in a rendered document, typically a DIV. The root renderer node is of this type as well.

Immediately below an RBlock you will find a node of type RBlockViewport.


Field Summary
protected  java.awt.Color backgroundColor
          Background color which may be different to that from RenderState in the case of a Document node.
protected  java.awt.Image backgroundImage
           
protected  RBlockViewport bodyLayout
           
protected  java.awt.Color borderBottomColor
           
protected  java.awt.Insets borderInsets
           
protected  java.awt.Color borderLeftColor
           
protected  java.awt.Color borderRightColor
           
protected  java.awt.Insets borderStyles
           
protected  java.awt.Color borderTopColor
           
protected  RenderableContainer container
           
protected  java.awt.Insets defaultMarginInsets
           
protected  int defaultOverflow
           
protected  java.util.Collection delayedPairs
          A list of absolute positioned or float parent-child pairs.
protected  RenderableSpot endSelection
           
protected  FrameContext frameContext
           
protected  boolean hasHScrollBar
           
protected  boolean hasVScrollBar
           
 int height
           
protected  javax.swing.JScrollBar hScrollBar
           
protected static java.lang.Integer INVALID_SIZE
           
protected  java.net.URL lastBackgroundImageUri
           
protected  boolean layoutDeepCanBeInvalidated
           
protected  boolean layoutUpTreeCanBeInvalidated
          Starts as true because ancestors could be invalidated.
protected  int listNesting
           
protected  ModelNode modelNode
           
protected  RCollection originalParent
          Parent for invalidation.
static int OVERFLOW_AUTO
           
static int OVERFLOW_HIDDEN
           
static int OVERFLOW_NONE
           
static int OVERFLOW_SCROLL
           
static int OVERFLOW_VERTICAL
           
static int OVERFLOW_VISIBLE
           
protected  RCollection parent
          Parent for graphics coordinates.
protected  HtmlRendererContext rendererContext
           
protected static int SCROLL_BAR_THICKNESS
           
protected static java.awt.Color SELECTION_COLOR
           
protected static java.awt.Color SELECTION_XOR
           
protected  RenderableSpot startSelection
           
protected  UserAgentContext userAgentContext
           
protected  javax.swing.JScrollBar vScrollBar
           
 int width
           
 int x
           
 int y
           
protected  int zIndex
           
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Fields inherited from interface org.lobobrowser.html.renderer.RElement
VALIGN_ABSBOTTOM, VALIGN_ABSMIDDLE, VALIGN_BASELINE, VALIGN_BOTTOM, VALIGN_MIDDLE, VALIGN_TOP
 
Fields inherited from interface org.lobobrowser.html.renderer.Renderable
EMPTY_ARRAY
 
Constructor Summary
RBlock(NodeImpl modelNode, int listNesting, UserAgentContext pcontext, HtmlRendererContext rcontext, FrameContext frameContext, RenderableContainer parentContainer)
           
RBlock(NodeImpl modelNode, int listNesting, UserAgentContext pcontext, HtmlRendererContext rcontext, FrameContext frameContext, RenderableContainer parentContainer, int defaultOverflow)
           
 
Method Summary
 java.awt.Component addComponent(java.awt.Component component)
           
 void addDelayedPair(DelayedPair pair)
           
 void adjust()
          This adjustment step needs to be performed after layout.
 void adjust(int availWidth, int availHeight, boolean expandWidth, boolean expandHeight, org.lobobrowser.html.renderer.FloatingBoundsSource floatBoundsSource)
          Adjustment step which must be done after layout.
protected  void applyStyle()
           
 void blur()
           
 void clearDelayedPairs()
           
protected  void clearGUIComponents()
           
 boolean contains(int x, int y)
           
 boolean couldBeScrollable()
           
 void doLayout(int availWidth, int availHeight)
           
 void doLayout(int availWidth, int availHeight, org.lobobrowser.html.renderer.FloatingBounds floatBounds, int tentativeY, int defaultOverflow)
          Lays out and sets dimensions only if RBlock is invalid (or never before layed out), if the parameters passed differ from the last layout, or if the current font differs from the font for the last layout.
 void ensureVisible(java.awt.Point point)
           
 boolean extractSelectionText(java.lang.StringBuffer buffer, boolean inSelection, RenderableSpot startPoint, RenderableSpot endPoint)
           
 void finalize()
           
 void focus()
           
 float getAlignmentX()
           
 float getAlignmentY()
           
 java.awt.Color getBlockBackgroundColor()
           
 java.awt.Rectangle getBounds()
           
protected  java.lang.Integer getDeclaredHeight(RenderState renderState, int availHeight)
           
protected  int getDeclaredHeightImpl(RenderState renderState, int availHeight)
           
protected  java.lang.Integer getDeclaredWidth(RenderState renderState, int availWidth)
           
 java.util.Collection getDelayedPairs()
           
 org.lobobrowser.html.renderer.FloatingBounds getExportableFloatingBounds()
           
 int getFirstBaselineOffset()
           
 int getFirstLineHeight()
           
 java.awt.Point getGUIPoint(int clientX, int clientY)
           
 int getHeight()
           
 java.awt.Insets getInsets(boolean hscroll, boolean vscroll)
          Gets insets of content area.
 RenderableSpot getLowestRenderableSpot(int x, int y)
           
protected  java.awt.Insets getMarginInsets(RenderState rs)
           
 ModelNode getModelNode()
           
 int getOrdinal()
           
 java.awt.Point getOrigin()
           
 RCollection getOriginalOrCurrentParent()
          Returns BoundableRenderable.getOriginalParent() if not null.
 RCollection getOriginalParent()
          This is the parent based on the original element hierarchy.
 java.awt.Point getOriginRelativeTo(RCollection ancestor)
           
protected  int getOverflow()
           
protected  java.awt.Insets getPaddingInsets(RenderState rs)
           
 java.awt.Color getPaintedBackgroundColor()
           
 RCollection getParent()
          Gets the parent where the renderable is rendered.
 RenderableContainer getParentContainer()
           
 RBlockViewport getRBlockViewport()
           
 BoundableRenderable getRenderable(int x, int y)
           
 java.awt.Point getRenderablePoint(int guiX, int guiY)
           
 java.util.Iterator getRenderables()
          Gets the collection of Renderable children.
 java.awt.Dimension getSize()
           
 int getVAlign()
          Vertical alignment for elements rendered in a line.
 int getViewportListNesting(int blockNesting)
           
 int getVScrollBarWidth()
          Gets the width the vertical scrollbar has when shown.
 int getWidth()
           
 int getX()
           
 int getY()
           
 int getZIndex()
           
 boolean imageUpdate(java.awt.Image img, int infoflags, int x, int y, int w, int h)
           
 void invalidateLayoutDeep()
          Invalidates this Renderable and all descendents.
 void invalidateLayoutLocal()
          RBlocks should only be invalidated if one of their properties change, or if a descendent changes, or if a style property of an ancestor is such that it could produce layout changes in this RBlock.
 void invalidateLayoutUpTree()
          Invalidates this Renderable and its parent (i.e.
 boolean isContainedByNode()
          Returns true if the renderable is fully contained by its modelNode, but said modelNode does not fully contain an ancestor renderable.
 boolean isOverflowVisible()
           
protected  boolean isValid()
           
 void layout(int availWidth, int availHeight)
          Lays out children, and deals with "valid" state.
 void layout(int availWidth, int availHeight, org.lobobrowser.html.renderer.FloatingBounds floatBounds, int tentativeY)
           
 void layout(int availWidth, int availHeight, org.lobobrowser.html.renderer.FloatingBounds floatBounds, int tentativeY, int defaultOverflow)
           
 void layout(int availWidth, int availHeight, int defaultOverflow)
           
protected  void loadBackgroundImage(java.net.URL imageURL)
           
 void markLayoutValid()
           
 boolean onDoubleClick(java.awt.event.MouseEvent event, int x, int y)
           
 boolean onMouseClick(java.awt.event.MouseEvent event, int x, int y)
           
 boolean onMouseDisarmed(java.awt.event.MouseEvent event)
           
 void onMouseMoved(java.awt.event.MouseEvent event, int x, int y, boolean triggerEvent, ModelNode limit)
           
 void onMouseOut(java.awt.event.MouseEvent event, int x, int y, ModelNode limit)
           
 boolean onMousePressed(java.awt.event.MouseEvent event, int x, int y)
          Returns false if the event is consumed.
 boolean onMouseReleased(java.awt.event.MouseEvent event, int x, int y)
           
 boolean onRightClick(java.awt.event.MouseEvent event, int x, int y)
           
 void paint(java.awt.Graphics g)
          All overriders should call super implementation.
 boolean paintSelection(java.awt.Graphics g, boolean inSelection, RenderableSpot startPoint, RenderableSpot endPoint)
          Asks the Renderable to paint the selection between two points.
 void paintTranslated(java.awt.Graphics g)
          Paints by either creating a new clipped graphics context corresponding to the bounds of the Renderable, or by translating the origin.
protected  void prePaint(java.awt.Graphics g)
           
 void relayout()
          Invalidates the current Renderable (which invalidates its ancestors) and then requests the top level GUI container to do the layout and repaint.
protected  void relayoutImpl(boolean invalidateLocal)
           
 void repaint()
           
 void repaint(int x, int y, int width, int height)
           
 void repaint(ModelNode modelNode)
          Called
 void scrollBy(int orientation, int offset)
           
 void scrollByUnits(int orientation, int units)
           
 void scrollHorizontalTo(int newX)
           
 void scrollTo(java.awt.Rectangle bounds, boolean xIfNeeded, boolean yIfNeeded)
          Scrolls the viewport's origin to the given location, or as close to it as possible.
 void scrollVerticalTo(int newY)
           
protected  void sendDelayedPairsToParent()
           
protected  void sendGUIComponentsToParent()
           
 void setBounds(int x, int y, int width, int height)
           
 void setDefaultMarginInsets(java.awt.Insets insets)
           
 void setDefaultPaddingInsets(java.awt.Insets insets)
           
 void setHeight(int height)
           
 void setOrdinal(int ordinal)
           
 void setOrigin(int x, int y)
           
 void setOriginalParent(RCollection origParent)
           
 void setParent(RCollection parent)
           
 void setSelectionEnd(RenderableSpot rpoint)
           
 void setSelectionStart(RenderableSpot rpoint)
           
 void setWidth(int width)
           
 void setX(int x)
           
 void setY(int y)
           
 java.lang.String toString()
           
protected  java.awt.Point translateDescendentPoint(BoundableRenderable descendent, int x, int y)
           
 void updateAllWidgetBounds()
           
 void updateWidgetBounds()
          Updates widget bounds below this node only.
 void updateWidgetBounds(int guiX, int guiY)
          Updates bounds of all descendent's GUI components, based on root bounds.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.lobobrowser.html.renderer.RenderableContainer
addComponent, addDelayedPair, clearDelayedPairs, focus, getDelayedPairs, getGUIPoint, getParentContainer, invalidateLayoutUpTree, relayout, repaint, updateAllWidgetBounds
 
Methods inherited from interface java.awt.image.ImageObserver
imageUpdate
 
Methods inherited from interface org.lobobrowser.html.renderer.RCollection
blur, focus
 
Methods inherited from interface org.lobobrowser.html.renderer.BoundableRenderable
getBounds, getGUIPoint, getHeight, getModelNode, getOrdinal, getOrigin, getOriginalOrCurrentParent, getOriginalParent, getOriginRelativeTo, getParent, getRenderablePoint, getSize, getWidth, getX, getY, invalidateLayoutUpTree, onMouseMoved, onMouseOut, onRightClick, paintTranslated, relayout, repaint, repaint, setBounds, setHeight, setOrdinal, setOrigin, setOriginalParent, setParent, setWidth, setX, setY
 
Methods inherited from interface org.lobobrowser.html.domimpl.UINode
blur, focus, getBounds
 

Field Detail

frameContext

protected final FrameContext frameContext

listNesting

protected final int listNesting

rendererContext

protected final HtmlRendererContext rendererContext

defaultOverflow

protected final int defaultOverflow

bodyLayout

protected final RBlockViewport bodyLayout

startSelection

protected RenderableSpot startSelection

endSelection

protected RenderableSpot endSelection

vScrollBar

protected javax.swing.JScrollBar vScrollBar

hScrollBar

protected javax.swing.JScrollBar hScrollBar

hasHScrollBar

protected boolean hasHScrollBar

hasVScrollBar

protected boolean hasVScrollBar

OVERFLOW_NONE

public static final int OVERFLOW_NONE
See Also:
Constant Field Values

OVERFLOW_SCROLL

public static final int OVERFLOW_SCROLL
See Also:
Constant Field Values

OVERFLOW_AUTO

public static final int OVERFLOW_AUTO
See Also:
Constant Field Values

OVERFLOW_HIDDEN

public static final int OVERFLOW_HIDDEN
See Also:
Constant Field Values

OVERFLOW_VISIBLE

public static final int OVERFLOW_VISIBLE
See Also:
Constant Field Values

OVERFLOW_VERTICAL

public static final int OVERFLOW_VERTICAL
See Also:
Constant Field Values

INVALID_SIZE

protected static final java.lang.Integer INVALID_SIZE

delayedPairs

protected java.util.Collection delayedPairs
A list of absolute positioned or float parent-child pairs.


backgroundColor

protected java.awt.Color backgroundColor
Background color which may be different to that from RenderState in the case of a Document node.


backgroundImage

protected volatile java.awt.Image backgroundImage

zIndex

protected int zIndex

borderTopColor

protected java.awt.Color borderTopColor

borderLeftColor

protected java.awt.Color borderLeftColor

borderBottomColor

protected java.awt.Color borderBottomColor

borderRightColor

protected java.awt.Color borderRightColor

borderInsets

protected java.awt.Insets borderInsets

borderStyles

protected java.awt.Insets borderStyles

lastBackgroundImageUri

protected java.net.URL lastBackgroundImageUri

defaultMarginInsets

protected java.awt.Insets defaultMarginInsets

userAgentContext

protected final UserAgentContext userAgentContext

layoutDeepCanBeInvalidated

protected boolean layoutDeepCanBeInvalidated

SCROLL_BAR_THICKNESS

protected static final int SCROLL_BAR_THICKNESS
See Also:
Constant Field Values

SELECTION_COLOR

protected static final java.awt.Color SELECTION_COLOR

SELECTION_XOR

protected static final java.awt.Color SELECTION_XOR

container

protected final RenderableContainer container

modelNode

protected final ModelNode modelNode

x

public int x

y

public int y

width

public int width

height

public int height

layoutUpTreeCanBeInvalidated

protected boolean layoutUpTreeCanBeInvalidated
Starts as true because ancestors could be invalidated.


parent

protected RCollection parent
Parent for graphics coordinates.


originalParent

protected RCollection originalParent
Parent for invalidation.

Constructor Detail

RBlock

public RBlock(NodeImpl modelNode,
              int listNesting,
              UserAgentContext pcontext,
              HtmlRendererContext rcontext,
              FrameContext frameContext,
              RenderableContainer parentContainer)

RBlock

public RBlock(NodeImpl modelNode,
              int listNesting,
              UserAgentContext pcontext,
              HtmlRendererContext rcontext,
              FrameContext frameContext,
              RenderableContainer parentContainer,
              int defaultOverflow)
Method Detail

getVScrollBarWidth

public int getVScrollBarWidth()
Gets the width the vertical scrollbar has when shown.


finalize

public void finalize()
              throws java.lang.Throwable
Overrides:
finalize in class java.lang.Object
Throws:
java.lang.Throwable

getVAlign

public int getVAlign()
Description copied from interface: RElement
Vertical alignment for elements rendered in a line. Returns one of the constants defined in this class.

Specified by:
getVAlign in interface RElement

ensureVisible

public void ensureVisible(java.awt.Point point)

couldBeScrollable

public final boolean couldBeScrollable()

isOverflowVisible

public final boolean isOverflowVisible()

setDefaultPaddingInsets

public void setDefaultPaddingInsets(java.awt.Insets insets)

setDefaultMarginInsets

public void setDefaultMarginInsets(java.awt.Insets insets)

getFirstLineHeight

public int getFirstLineHeight()

getFirstBaselineOffset

public int getFirstBaselineOffset()

setSelectionEnd

public void setSelectionEnd(RenderableSpot rpoint)

setSelectionStart

public void setSelectionStart(RenderableSpot rpoint)

getPaddingInsets

protected final java.awt.Insets getPaddingInsets(RenderState rs)

getViewportListNesting

public int getViewportListNesting(int blockNesting)

paint

public void paint(java.awt.Graphics g)
All overriders should call super implementation.

Specified by:
paint in interface Renderable

layout

public final void layout(int availWidth,
                         int availHeight,
                         int defaultOverflow)

layout

public final void layout(int availWidth,
                         int availHeight,
                         org.lobobrowser.html.renderer.FloatingBounds floatBounds,
                         int tentativeY)

layout

public final void layout(int availWidth,
                         int availHeight,
                         org.lobobrowser.html.renderer.FloatingBounds floatBounds,
                         int tentativeY,
                         int defaultOverflow)

doLayout

public final void doLayout(int availWidth,
                           int availHeight)

doLayout

public void doLayout(int availWidth,
                     int availHeight,
                     org.lobobrowser.html.renderer.FloatingBounds floatBounds,
                     int tentativeY,
                     int defaultOverflow)
Lays out and sets dimensions only if RBlock is invalid (or never before layed out), if the parameters passed differ from the last layout, or if the current font differs from the font for the last layout.

Parameters:
availWidth -
availHeight -

adjust

public void adjust(int availWidth,
                   int availHeight,
                   boolean expandWidth,
                   boolean expandHeight,
                   org.lobobrowser.html.renderer.FloatingBoundsSource floatBoundsSource)
Adjustment step which must be done after layout. This will expand blocks that need to be expanded and relayout blocks with relative sizes accordingly.

Parameters:
availWidth -
availHeight -
expandWidth -
expandHeight -

adjust

public void adjust()
This adjustment step needs to be performed after layout. In this case, the dimensions previously obtained in the layout are assumed to be the desired dimensions of the block.


paintSelection

public boolean paintSelection(java.awt.Graphics g,
                              boolean inSelection,
                              RenderableSpot startPoint,
                              RenderableSpot endPoint)
Description copied from interface: BoundableRenderable
Asks the Renderable to paint the selection between two points. Nothing will be done if the points are outside the Renderable.

Specified by:
paintSelection in interface BoundableRenderable
Returns:
True iff it's in selection when finished painting.

getLowestRenderableSpot

public RenderableSpot getLowestRenderableSpot(int x,
                                              int y)
Specified by:
getLowestRenderableSpot in interface BoundableRenderable

invalidateLayoutLocal

public void invalidateLayoutLocal()
RBlocks should only be invalidated if one of their properties change, or if a descendent changes, or if a style property of an ancestor is such that it could produce layout changes in this RBlock.


onMouseClick

public boolean onMouseClick(java.awt.event.MouseEvent event,
                            int x,
                            int y)
Specified by:
onMouseClick in interface BoundableRenderable

onDoubleClick

public boolean onDoubleClick(java.awt.event.MouseEvent event,
                             int x,
                             int y)
Specified by:
onDoubleClick in interface BoundableRenderable

onMouseDisarmed

public boolean onMouseDisarmed(java.awt.event.MouseEvent event)
Specified by:
onMouseDisarmed in interface BoundableRenderable

onMousePressed

public boolean onMousePressed(java.awt.event.MouseEvent event,
                              int x,
                              int y)
Description copied from interface: BoundableRenderable
Returns false if the event is consumed. True to propagate further.

Specified by:
onMousePressed in interface BoundableRenderable

onMouseReleased

public boolean onMouseReleased(java.awt.event.MouseEvent event,
                               int x,
                               int y)
Specified by:
onMouseReleased in interface BoundableRenderable

getPaintedBackgroundColor

public java.awt.Color getPaintedBackgroundColor()
Specified by:
getPaintedBackgroundColor in interface RenderableContainer

getRenderables

public java.util.Iterator getRenderables()
Description copied from interface: RCollection
Gets the collection of Renderable children.

Specified by:
getRenderables in interface RCollection

repaint

public void repaint(ModelNode modelNode)
Description copied from interface: UINode
Called

Specified by:
repaint in interface UINode

updateWidgetBounds

public void updateWidgetBounds(int guiX,
                               int guiY)
Updates bounds of all descendent's GUI components, based on root bounds.

Specified by:
updateWidgetBounds in interface RCollection

scrollHorizontalTo

public void scrollHorizontalTo(int newX)

scrollVerticalTo

public void scrollVerticalTo(int newY)

scrollByUnits

public void scrollByUnits(int orientation,
                          int units)

scrollBy

public void scrollBy(int orientation,
                     int offset)

scrollTo

public void scrollTo(java.awt.Rectangle bounds,
                     boolean xIfNeeded,
                     boolean yIfNeeded)
Scrolls the viewport's origin to the given location, or as close to it as possible.

This method should be invoked in the GUI thread.

Parameters:
bounds - The bounds of the scrollable area that should become visible.
xIfNeeded - If this parameter is true the x coordinate is changed only if the horizontal bounds are not currently visible.
yIfNeeded - If this parameter is true the y coordinate is changed only if the vertical bounds are not currently visible.

getRBlockViewport

public RBlockViewport getRBlockViewport()

extractSelectionText

public boolean extractSelectionText(java.lang.StringBuffer buffer,
                                    boolean inSelection,
                                    RenderableSpot startPoint,
                                    RenderableSpot endPoint)
Specified by:
extractSelectionText in interface BoundableRenderable

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getExportableFloatingBounds

public org.lobobrowser.html.renderer.FloatingBounds getExportableFloatingBounds()

getAlignmentX

public float getAlignmentX()

getAlignmentY

public float getAlignmentY()

invalidateLayoutDeep

public final void invalidateLayoutDeep()
Invalidates this Renderable and all descendents. This is only used in special cases, such as when a new style sheet is added.

Specified by:
invalidateLayoutDeep in interface RCollection

getDeclaredWidth

protected java.lang.Integer getDeclaredWidth(RenderState renderState,
                                             int availWidth)

getDeclaredHeight

protected java.lang.Integer getDeclaredHeight(RenderState renderState,
                                              int availHeight)

getDeclaredHeightImpl

protected int getDeclaredHeightImpl(RenderState renderState,
                                    int availHeight)

getOverflow

protected int getOverflow()

layout

public final void layout(int availWidth,
                         int availHeight)
Lays out children, and deals with "valid" state. Override doLayout method instead of this one.

Specified by:
layout in interface RElement
Parameters:
availWidth - The available width from the parent's canvas.
availHeight - The available height from the parent's canvas.

sendGUIComponentsToParent

protected final void sendGUIComponentsToParent()

clearGUIComponents

protected final void clearGUIComponents()

addComponent

public java.awt.Component addComponent(java.awt.Component component)
Specified by:
addComponent in interface RenderableContainer

updateAllWidgetBounds

public void updateAllWidgetBounds()
Specified by:
updateAllWidgetBounds in interface RenderableContainer

updateWidgetBounds

public void updateWidgetBounds()
Updates widget bounds below this node only. Should not be called during general rendering.


applyStyle

protected void applyStyle()

loadBackgroundImage

protected void loadBackgroundImage(java.net.URL imageURL)

getZIndex

public int getZIndex()
Specified by:
getZIndex in interface BoundableRenderable

prePaint

protected void prePaint(java.awt.Graphics g)

getMarginInsets

protected final java.awt.Insets getMarginInsets(RenderState rs)

imageUpdate

public boolean imageUpdate(java.awt.Image img,
                           int infoflags,
                           int x,
                           int y,
                           int w,
                           int h)
Specified by:
imageUpdate in interface java.awt.image.ImageObserver

getInsets

public java.awt.Insets getInsets(boolean hscroll,
                                 boolean vscroll)
Gets insets of content area. It includes margin, borders and scrollbars, but not padding.


sendDelayedPairsToParent

protected final void sendDelayedPairsToParent()

clearDelayedPairs

public final void clearDelayedPairs()
Specified by:
clearDelayedPairs in interface RenderableContainer

getDelayedPairs

public final java.util.Collection getDelayedPairs()
Specified by:
getDelayedPairs in interface RenderableContainer

addDelayedPair

public void addDelayedPair(DelayedPair pair)
Specified by:
addDelayedPair in interface RenderableContainer

getParentContainer

public RenderableContainer getParentContainer()
Specified by:
getParentContainer in interface RenderableContainer

isContainedByNode

public boolean isContainedByNode()
Description copied from interface: BoundableRenderable
Returns true if the renderable is fully contained by its modelNode, but said modelNode does not fully contain an ancestor renderable.

Specified by:
isContainedByNode in interface BoundableRenderable

focus

public void focus()
Specified by:
focus in interface RCollection

blur

public void blur()
Specified by:
blur in interface RCollection

onMouseMoved

public void onMouseMoved(java.awt.event.MouseEvent event,
                         int x,
                         int y,
                         boolean triggerEvent,
                         ModelNode limit)
Specified by:
onMouseMoved in interface BoundableRenderable

onMouseOut

public void onMouseOut(java.awt.event.MouseEvent event,
                       int x,
                       int y,
                       ModelNode limit)
Specified by:
onMouseOut in interface BoundableRenderable

getRenderable

public BoundableRenderable getRenderable(int x,
                                         int y)

onRightClick

public boolean onRightClick(java.awt.event.MouseEvent event,
                            int x,
                            int y)
Specified by:
onRightClick in interface BoundableRenderable

markLayoutValid

public void markLayoutValid()

getGUIPoint

public java.awt.Point getGUIPoint(int clientX,
                                  int clientY)
Specified by:
getGUIPoint in interface BoundableRenderable

getRenderablePoint

public java.awt.Point getRenderablePoint(int guiX,
                                         int guiY)
Specified by:
getRenderablePoint in interface BoundableRenderable

getHeight

public int getHeight()
Specified by:
getHeight in interface BoundableRenderable

getWidth

public int getWidth()
Specified by:
getWidth in interface BoundableRenderable

setWidth

public void setWidth(int width)
Specified by:
setWidth in interface BoundableRenderable

getX

public int getX()
Specified by:
getX in interface BoundableRenderable

getY

public int getY()
Specified by:
getY in interface BoundableRenderable

contains

public boolean contains(int x,
                        int y)

getBounds

public java.awt.Rectangle getBounds()
Specified by:
getBounds in interface BoundableRenderable

getSize

public java.awt.Dimension getSize()
Specified by:
getSize in interface BoundableRenderable

getModelNode

public ModelNode getModelNode()
Specified by:
getModelNode in interface BoundableRenderable
Specified by:
getModelNode in interface Renderable

setBounds

public void setBounds(int x,
                      int y,
                      int width,
                      int height)
Specified by:
setBounds in interface BoundableRenderable

setX

public void setX(int x)
Specified by:
setX in interface BoundableRenderable

setY

public void setY(int y)
Specified by:
setY in interface BoundableRenderable

setHeight

public void setHeight(int height)
Specified by:
setHeight in interface BoundableRenderable

setOrigin

public void setOrigin(int x,
                      int y)
Specified by:
setOrigin in interface BoundableRenderable

invalidateLayoutUpTree

public final void invalidateLayoutUpTree()
Invalidates this Renderable and its parent (i.e. all ancestors).

Specified by:
invalidateLayoutUpTree in interface BoundableRenderable

isValid

protected boolean isValid()

relayoutImpl

protected final void relayoutImpl(boolean invalidateLocal)

relayout

public void relayout()
Invalidates the current Renderable (which invalidates its ancestors) and then requests the top level GUI container to do the layout and repaint. It's safe to call this method outside the GUI thread.

Specified by:
relayout in interface BoundableRenderable

setParent

public void setParent(RCollection parent)
Specified by:
setParent in interface BoundableRenderable

getParent

public RCollection getParent()
Description copied from interface: BoundableRenderable
Gets the parent where the renderable is rendered.

Specified by:
getParent in interface BoundableRenderable

setOriginalParent

public void setOriginalParent(RCollection origParent)
Specified by:
setOriginalParent in interface BoundableRenderable

getOriginalParent

public RCollection getOriginalParent()
This is the parent based on the original element hierarchy.

Specified by:
getOriginalParent in interface BoundableRenderable

getOriginalOrCurrentParent

public RCollection getOriginalOrCurrentParent()
Description copied from interface: BoundableRenderable
Returns BoundableRenderable.getOriginalParent() if not null. Otherwise it returns BoundableRenderable.getParent().

Specified by:
getOriginalOrCurrentParent in interface BoundableRenderable

repaint

public void repaint(int x,
                    int y,
                    int width,
                    int height)
Specified by:
repaint in interface BoundableRenderable

repaint

public void repaint()
Specified by:
repaint in interface BoundableRenderable

getBlockBackgroundColor

public java.awt.Color getBlockBackgroundColor()

paintTranslated

public final void paintTranslated(java.awt.Graphics g)
Description copied from interface: BoundableRenderable
Paints by either creating a new clipped graphics context corresponding to the bounds of the Renderable, or by translating the origin.

Specified by:
paintTranslated in interface BoundableRenderable
Parameters:
g - Parent's Graphics context.

translateDescendentPoint

protected final java.awt.Point translateDescendentPoint(BoundableRenderable descendent,
                                                        int x,
                                                        int y)

getOrigin

public java.awt.Point getOrigin()
Specified by:
getOrigin in interface BoundableRenderable

getOriginRelativeTo

public java.awt.Point getOriginRelativeTo(RCollection ancestor)
Specified by:
getOriginRelativeTo in interface BoundableRenderable

getOrdinal

public int getOrdinal()

setOrdinal

public void setOrdinal(int ordinal)