com.inet.html.views
Class HRuleView

java.lang.Object
  extended by javax.swing.text.View
      extended by com.inet.html.views.BoxView
          extended by com.inet.html.views.HRuleView
All Implemented Interfaces:
java.lang.Cloneable, javax.swing.SwingConstants

public class HRuleView
extends BoxView
implements java.lang.Cloneable

This view represents a horizontal rule as defined by HTML.


Field Summary
 
Fields inherited from class com.inet.html.views.BoxView
BASELINE, STATUS_REQ_LAYOUT, STATUS_REQ_PRELAYOUT, STATUS_UPTODATE
 
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
HRuleView(javax.swing.text.Element elem)
          Creates the object, does nothing else.
HRuleView(javax.swing.text.Element elem, ViewPainter painter)
          Creates the object, and sets the paint controller
 
Method Summary
 int getBottomInset()
          Gets the bottom inset.
 int getFirstLineBaseLine()
          Returns the baseline of the first content descendand of this view relative to the upper bound of this view
 int getLeftInset()
          Gets the left inset.
 java.awt.Insets getMargins()
          Get the CSS margins
 float getMinimumSpan(int axis)
          
 int getOuterHeight()
          Returns the outer height of this box which is content+padding+border.
 int getOuterWidth()
          Returns the outer width of this box which is content+padding+border.
 float getPreferredSpan(int axis)
          
 int getRightInset()
          Gets the right inset.
 int getTopInset()
          Gets the top inset.
 void insertUpdate(javax.swing.event.DocumentEvent e, java.awt.Shape a, javax.swing.text.ViewFactory f)
          
 boolean isBlock()
          Returns true if this is a block by CSS display attribute
 boolean isBreak()
          Returns true if this View refers to a BR element
 java.awt.Shape modelToView(int pos, java.awt.Shape a, javax.swing.text.Position.Bias b)
          
 void paint(java.awt.Graphics g, java.awt.Shape allocation)
          
 java.lang.String paramString()
          Returns a custom toString version
 java.awt.Rectangle performLayout(boolean hard)
          This is the final layout method.
 void performLayoutVAlign(int baseline)
          If this box has a overall vertical align, like in table cells for instance, this method calculates teh offset to align the content.
 void performLayoutWidth()
          Layout what is required to determin the width of this view.
 void setParent(javax.swing.text.View parent)
          
 int viewToModel(float x, float y, java.awt.Shape a, javax.swing.text.Position.Bias[] biasReturn)
          
 
Methods inherited from class com.inet.html.views.BoxView
addBoxPainter, factoryPreset, forceLayout, forceLayout, getAlignment, getAutoMarginJustify, getBackgroundValue, getBorderBottomColor, getBorderLeftColor, getBorderRightColor, getBorderTopColor, getBox, getBoxPainter, getClear, getCompleteHight, getContentHeight, getContentVerticalOffset, getContentWidth, getDirection, getDisplay, getEndOffset, getFloat, getFontSize, getHeightUnit, getHTMLRoot, getJustification, getLineHeight, getOverflow, getPainter, getPosition, getRenderContext, getResizeWeight, getSpan, getStartOffset, getStatus, getSwingAlign, getUnicodeBidi, getViewForPosition, getViewIndex, getViewIndex, getVisibility, getWhiteSpace, getWidthUnit, isAbsolutePositioned, isBreakable, isFloating, isInFlow, isListItemWithMarker, isLTR, isMarker, isNativeLTR, isTableCell, isWidthSet, performPreLayout, setBackgroundValue, setBorderBottomColor, setBorderLeftColor, setBorderRightColor, setBorderTopColor, setContentVerticalOffset, setContentWidth, setFirstLineBaseLine, setIsNativeLTR, setJustification, setMarker, setPainter, setRoot, setSize, setSizeContent, setStartAndEndOffset, setStatus, setStatusLocal
 
Methods inherited from class javax.swing.text.View
append, breakView, changedUpdate, createFragment, getAttributes, getBreakWeight, getChildAllocation, getContainer, getDocument, getElement, getGraphics, getMaximumSpan, getNextVisualPositionFrom, getParent, getToolTipText, getView, getViewCount, getViewFactory, getViewIndex, insert, isVisible, modelToView, modelToView, preferenceChanged, remove, removeAll, removeUpdate, replace, viewToModel
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HRuleView

public HRuleView(javax.swing.text.Element elem)
Creates the object, does nothing else.

Parameters:
elem - The element this view ill display, must not be null

HRuleView

public HRuleView(javax.swing.text.Element elem,
                 ViewPainter painter)
Creates the object, and sets the paint controller

Parameters:
elem - the element this view ill display, must not be null
painter - the paint controller to use, may be null if there is none
Method Detail

setParent

public void setParent(javax.swing.text.View parent)

Overrides:
setParent in class BoxView

getPreferredSpan

public float getPreferredSpan(int axis)

Specified by:
getPreferredSpan in class javax.swing.text.View

getMinimumSpan

public float getMinimumSpan(int axis)

Overrides:
getMinimumSpan in class javax.swing.text.View

modelToView

public java.awt.Shape modelToView(int pos,
                                  java.awt.Shape a,
                                  javax.swing.text.Position.Bias b)
                           throws javax.swing.text.BadLocationException

Specified by:
modelToView in class javax.swing.text.View
Throws:
javax.swing.text.BadLocationException

viewToModel

public int viewToModel(float x,
                       float y,
                       java.awt.Shape a,
                       javax.swing.text.Position.Bias[] biasReturn)

Specified by:
viewToModel in class javax.swing.text.View

paint

public void paint(java.awt.Graphics g,
                  java.awt.Shape allocation)

Overrides:
paint in class BoxView

getOuterHeight

public int getOuterHeight()
Returns the outer height of this box which is content+padding+border.
NOTE: This does not include the margin since the margin is outside the box and has to be evaluated by the layout!

Overrides:
getOuterHeight in class BoxView
Returns:
outer height in pixel

getOuterWidth

public int getOuterWidth()
Returns the outer width of this box which is content+padding+border.
NOTE: This does not include the margin since the margin is outside the box and has to be evaluated by the layout!

Overrides:
getOuterWidth in class BoxView
Returns:
outer width in pixel

getLeftInset

public int getLeftInset()
Gets the left inset.

Overrides:
getLeftInset in class BoxView
Returns:
the inset >= 0

isBlock

public boolean isBlock()
Returns true if this is a block by CSS display attribute

Overrides:
isBlock in class BoxView
Returns:
Returns true if this is a block by CSS display attribute

isBreak

public boolean isBreak()
Returns true if this View refers to a BR element

Overrides:
isBreak in class BoxView
Returns:
Returns true if this View refers to a BR element

getRightInset

public int getRightInset()
Gets the right inset.

Overrides:
getRightInset in class BoxView
Returns:
the inset >= 0

getTopInset

public int getTopInset()
Gets the top inset.

Overrides:
getTopInset in class BoxView
Returns:
the inset >= 0

getBottomInset

public int getBottomInset()
Gets the bottom inset.

Overrides:
getBottomInset in class BoxView
Returns:
the inset >= 0

getMargins

public java.awt.Insets getMargins()
Get the CSS margins

Overrides:
getMargins in class BoxView
Returns:
never null

paramString

public java.lang.String paramString()
Returns a custom toString version

Returns:
a custom toString version

performLayout

public java.awt.Rectangle performLayout(boolean hard)
This is the final layout method. It has to perform a layout of this view and call the layout of all children. Every change to the size of any view in the document will at least call the performLayout method!

Specified by:
performLayout in class BoxView
Parameters:
hard - If set to true, the status of the children will be ignored and all views will be layouted. This should be done on view-size changes. If set to false the status of the children will be respected and up-to-date views will not be layouted again.
Returns:

performLayoutWidth

public void performLayoutWidth()
Layout what is required to determin the width of this view. In most cases this method only requires the CSS width setting, the parent's width and the minumum and preferred span. ATTENTION: This method mus be called before layouting the children of a view. Otherwise the children don't get a corrent parent's size.

Specified by:
performLayoutWidth in class BoxView

performLayoutVAlign

public void performLayoutVAlign(int baseline)
If this box has a overall vertical align, like in table cells for instance, this method calculates teh offset to align the content. It has to be called after the box has it's final size an was layouted. NOTE: If the content is larger than the box or valign is top this method will have no visible effect!

Specified by:
performLayoutVAlign in class BoxView
Parameters:
baseline - external prediction of the first baseline for BASELINE alignment

insertUpdate

public void insertUpdate(javax.swing.event.DocumentEvent e,
                         java.awt.Shape a,
                         javax.swing.text.ViewFactory f)

Overrides:
insertUpdate in class javax.swing.text.View

getFirstLineBaseLine

public int getFirstLineBaseLine()
Returns the baseline of the first content descendand of this view relative to the upper bound of this view

Overrides:
getFirstLineBaseLine in class BoxView
Returns:
the baseline in px