com.arsdigita.bebop.table
Class TableHeader

java.lang.Object
  extended bycom.arsdigita.bebop.Completable
      extended bycom.arsdigita.bebop.SimpleComponent
          extended bycom.arsdigita.bebop.table.TableHeader
All Implemented Interfaces:
Cloneable, Component, Lockable

public class TableHeader
extends SimpleComponent

This class is used by Table in order to maintain its headers. TableHeader is responsible for setting the control event in order to notify the Table when one of the column headers is clicked.

Version:
$Id: //core-platform/dev/src/com/arsdigita/bebop/table/TableHeader.java#7 $
Author:
David Lutterkort

Field Summary
static String HEAD_EVENT
          The control event when the user clicks on a column header.
static String versionId
           
 
Fields inherited from class com.arsdigita.bebop.SimpleComponent
m_attr
 
Fields inherited from interface com.arsdigita.bebop.Component
BEBOP_XML_NS, CLASS, ID, ON_CLICK, STYLE
 
Constructor Summary
TableHeader()
          Create a new TableHeader
TableHeader(TableColumnModel model)
          Create a new TableHeader
 
Method Summary
 void addTableActionListener(TableActionListener l)
          Add an TableActionListener to the header.
protected  void fireHeadSelected(PageState state, Object rowKey, Integer column)
          Notify all listeners that the header was selected
 void generateXML(PageState s, Element p)
          Generate the XML for this header.
 TableColumnModel getColumnModel()
           
protected  Component getControler()
           
 TableCellRenderer getDefaultRenderer()
           
 Table getTable()
           
protected  boolean isSelected(PageState s, Object key, int column)
          Determine whether the given column is selected.
 void removeTableActionListener(TableActionListener l)
          Remove a TableActionListener from the header
 void respond(PageState s)
          Respond to the current event by selecting the current column
 void setColumnModel(TableColumnModel v)
          Set the TableColumnModel which will maintain the headers
 void setDefaultRenderer(TableCellRenderer v)
          Set the default TableCellRenderer for this header.
 void setTable(Table v)
          Set the parent Table
 
Methods inherited from class com.arsdigita.bebop.SimpleComponent
children, clone, exportAttributes, getAttribute, getClassAttr, getIdAttr, getKey, getMetaDataAttribute, getStyleAttr, hasAttributes, isLocked, isVisible, lock, register, register, setAttribute, setClassAttr, setIdAttr, setKey, setMetaDataAttribute, setStyleAttr, setVisible
 
Methods inherited from class com.arsdigita.bebop.Completable
addCompletionListener, fireCompletionEvent
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

versionId

public static final String versionId
See Also:
Constant Field Values

HEAD_EVENT

public static final String HEAD_EVENT
The control event when the user clicks on a column header.

See Also:
Constant Field Values
Constructor Detail

TableHeader

public TableHeader()
Create a new TableHeader


TableHeader

public TableHeader(TableColumnModel model)
Create a new TableHeader

Parameters:
model - the TableColumnModel that the header will use in order to generate and maintain the column headers.
Method Detail

addTableActionListener

public void addTableActionListener(TableActionListener l)
Add an TableActionListener to the header. The listener will be fired whenever this header is selected by the user.

Parameters:
l - the TableActionListener to add

removeTableActionListener

public void removeTableActionListener(TableActionListener l)
Remove a TableActionListener from the header

Parameters:
l - the TableActionListener to remove

fireHeadSelected

protected void fireHeadSelected(PageState state,
                                Object rowKey,
                                Integer column)
Notify all listeners that the header was selected

Parameters:
state - the page state
rowKey - the key of the selected row, as returned by Table.getRowSelectionModel().getSelectedKey(state). this key may be null.
column - The index of the selected column

respond

public void respond(PageState s)
             throws javax.servlet.ServletException
Respond to the current event by selecting the current column

Specified by:
respond in interface Component
Overrides:
respond in class SimpleComponent
Parameters:
s - the page state
Throws:
javax.servlet.ServletException

getTable

public final Table getTable()
Returns:
the parent Table

setTable

public void setTable(Table v)
Set the parent Table

Parameters:
v - the parent table

getColumnModel

public final TableColumnModel getColumnModel()
Returns:
the TableColumnModel which maintains the headers

setColumnModel

public void setColumnModel(TableColumnModel v)
Set the TableColumnModel which will maintain the headers

Parameters:
v - the new TableColumnModel

getDefaultRenderer

public final TableCellRenderer getDefaultRenderer()
Returns:
the default TableCellRenderer for this header

setDefaultRenderer

public void setDefaultRenderer(TableCellRenderer v)
Set the default TableCellRenderer for this header. Header cells will be rendered with this renderer unless the column model specifies an alternative renderer.

Parameters:
v - the new default renderer

generateXML

public void generateXML(PageState s,
                        Element p)
Generate the XML for this header. The XML will be of the form

 <bebop:thead>
   <bebop:cell>...</bebop:cell>
   ...
 </bebop:thead>
 

Specified by:
generateXML in interface Component
Overrides:
generateXML in class SimpleComponent
Parameters:
s - the page state
p - the parent element

getControler

protected Component getControler()

isSelected

protected boolean isSelected(PageState s,
                             Object key,
                             int column)
Determine whether the given column is selected. This information will be passed to the TableCellRenderer for this header.

Parameters:
s - the page state
key - the header key for the column as returned by TableColumn.getHeaderKey()
column - the index of the column to test


Copyright (c) 2004 Red Hat, Inc. Corporation. All Rights Reserved. Generated at July 20 2004:2337 UTC