net.xoetrope.builder.w3c.html.tags
Class Table

java.lang.Object
  extended by net.xoetrope.builder.w3c.html.tags.XHtmlTagHandler
      extended by net.xoetrope.builder.w3c.html.tags.Table

public class Table
extends XHtmlTagHandler

Processing for the html table element

Copyright (c) Xoetrope Ltd., 2002-2006

$Revision: 1.2 $

License: see License.txt


Field Summary
protected  java.lang.String alignment
           
protected  int border
           
protected  double cellPadding
           
protected  double cellSpacing
           
protected  int numCols
           
protected  int numRows
           
protected  double width
           
 
Fields inherited from class net.xoetrope.builder.w3c.html.tags.XHtmlTagHandler
attribSet, builder, children, comp, content, parent, parentComponent, style
 
Constructor Summary
Table()
          Creates a new instance of Table
 
Method Summary
protected  void addChildren(XPanel table, info.clearthought.layout.TableLayout tableLayout, int[] rowSpans)
          Add the children of the table element
 boolean breaksFlow()
          Does this tag break the flow?
 void endProcessing(XComponentFactory cf)
          The closing tag has been parsed and now the element can calulate its complete setup should it be dependant on its children for any information.
 int getBorderWidth()
          Get the border width/size
 int getHorizontalPadding()
          Get the horizontal padding to add to cells
protected  int getNumCols(XHtmlTagHandler parent)
          Calculate the number of columns in the table.
protected  int getNumRows()
          Calculate the number of rows in the table.
 int getVerticalPadding()
          Get the vertical padding to add to cells
 XHtmlTagHandler newInstance(XHtmlBuilder builder, XHtmlTagHandler parent)
          Create a new instance of this object
 void startProcessing(XHtmlBuilder builder, XComponentFactory cf, javax.swing.text.MutableAttributeSet as)
          Process the opening html table tag/element
 
Methods inherited from class net.xoetrope.builder.w3c.html.tags.XHtmlTagHandler
addChild, addElement, applyAlignment, applyStyle, decorateAttribute, getAttribute, getChildren, getComponent, getComponentName, getContent, getHeight, getHeight, getLength, getParent, getTextStyleAttributes, getWidth, getWidth, processComment, processCommonAttributes, processText, setBuilder, setComponent, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

alignment

protected java.lang.String alignment

cellSpacing

protected double cellSpacing

cellPadding

protected double cellPadding

width

protected double width

numRows

protected int numRows

numCols

protected int numCols

border

protected int border
Constructor Detail

Table

public Table()
Creates a new instance of Table

Method Detail

newInstance

public XHtmlTagHandler newInstance(XHtmlBuilder builder,
                                   XHtmlTagHandler parent)
Create a new instance of this object

Specified by:
newInstance in class XHtmlTagHandler
Parameters:
builder - the html builder and processor for the document
parent - the parent handler
Returns:
the new handler

startProcessing

public void startProcessing(XHtmlBuilder builder,
                            XComponentFactory cf,
                            javax.swing.text.MutableAttributeSet as)
Process the opening html table tag/element

Overrides:
startProcessing in class XHtmlTagHandler
Parameters:
builder - the xui builder instance that is processing the html file
cf - the component factory to use for the creation of individual components
as - the attributes of this html tag.

endProcessing

public void endProcessing(XComponentFactory cf)
The closing tag has been parsed and now the element can calulate its complete setup should it be dependant on its children for any information. In the case of a table, the table determines the row and column count from the child elements and cannot calculate its layout till all the children have been initially processed.

Overrides:
endProcessing in class XHtmlTagHandler
Parameters:
cf - the component factory to use for the creation of individual components

getNumCols

protected int getNumCols(XHtmlTagHandler parent)
Calculate the number of columns in the table.


getNumRows

protected int getNumRows()
Calculate the number of rows in the table.


getHorizontalPadding

public int getHorizontalPadding()
Get the horizontal padding to add to cells

Returns:
the padding in pixels

getVerticalPadding

public int getVerticalPadding()
Get the vertical padding to add to cells

Returns:
the padding in pixels

getBorderWidth

public int getBorderWidth()
Get the border width/size

Parameters:
the - border size in pixels

addChildren

protected void addChildren(XPanel table,
                           info.clearthought.layout.TableLayout tableLayout,
                           int[] rowSpans)
Add the children of the table element

Parameters:
table - the table being filled
tableLayout - the layout being used by the table
rowSpans - an array of rowspan values

breaksFlow

public boolean breaksFlow()
Does this tag break the flow?

Overrides:
breaksFlow in class XHtmlTagHandler
Returns:
true if the flow is broken, otherwsie false