ix.ip2
Class AgendaItemTableModel

java.lang.Object
  |
  +--javax.swing.table.AbstractTableModel
        |
        +--ix.iface.ui.table.AbstractIXTableModel
              |
              +--ix.iface.ui.table.AbstractTreeTableModel
                    |
                    +--ix.ip2.AgendaItemTableModel
All Implemented Interfaces:
java.io.Serializable, javax.swing.table.TableModel, TableMouseListener

public class AgendaItemTableModel
extends AbstractTreeTableModel

A TreeTableModel that can display Issue objects.

See Also:
Serialized Form

Inner Class Summary
protected  class AgendaItemTableModel.TreeAgendaItem
           
 
Field Summary
 int ACTION_COL
           
 int COMMENTS_COL
           
 int DESCRIPTION_COL
           
 int PRIORITY_COL
           
protected  AgendaTableViewer table
           
 
Fields inherited from class ix.iface.ui.table.AbstractTreeTableModel
CLOSEDC, CLOSEDI, imageDir, INDENT_STEP, LEAFC, LEAFI, nodeMap, nodes, OPENC, OPENI
 
Fields inherited from class ix.iface.ui.table.AbstractIXTableModel
columnClasses, columnFields, columnNames, objectClass, rows
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Constructor Summary
AgendaItemTableModel(AgendaTableViewer table)
           
 
Method Summary
 void fireActionSelected(AgendaItem item, HandlerAction act)
           
 void fireItemChanged(AgendaItemTableModel.TreeAgendaItem treeItem)
           
 void fireItemDeleted(AgendaItem item)
           
 void fireTableChanged()
           
 void fireTableStructureChanged()
          This should not be necessary and is dangerous, but it stops the column widths from getting changed when rows are deleted.
 java.lang.Object getCellValueAt(java.lang.Object o, int columnIndex)
          Gets the cell value for normal cells (only one - the pattern).
 java.lang.Class getColumnClass(int columnIndex)
          JTable required TableModel function (default is Object).
 HandlerAction getHandlerAction(AgendaItem item)
           
 java.lang.String getNameString(javax.swing.tree.TreeNode item)
          Gets the name string of the object (row)
 boolean isCellEditable(int row, int col)
           
 void itemAdded(AgendaItem item)
          Only adds the node if the parents are empty (deal with sub-nodes in tree).
 void itemHandled(ix.ip2.event.AgendaEvent ae, AgendaItem item, HandlerAction act)
           
 void itemRemoved(AgendaItem i)
           
 IXTreeTableNode makeIXTreeTableNode(java.lang.Object original)
           
 void setHandlerAction(AgendaItem item, HandlerAction action)
           
 void setValueAt(java.lang.Object value, int row, int col)
           
 
Methods inherited from class ix.iface.ui.table.AbstractTreeTableModel
addData, addTreeNode, cellClicked, clearData, clearTable, defaultGetNameString, deriveColumnFields, expandNode, fireObjectChanged, getObjectRow, getRowNode, getRowObject, getTreeNode, getTreeNode, getTreeNodeType, getTreeValueAt, getValueAt, makeIXTreeTableNode, removeData, removeNodes, setColumnFields, setColumnNames, setData, setData, unexpandNode
 
Methods inherited from class ix.iface.ui.table.AbstractIXTableModel
defaultGetCellValueAt, defaultSetColumnFields, getColumnCount, getColumnName, getColumnNames, getRowCount, setColumnClasses
 
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, getListeners, removeTableModelListener
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

table

protected AgendaTableViewer table

DESCRIPTION_COL

public int DESCRIPTION_COL

COMMENTS_COL

public int COMMENTS_COL

PRIORITY_COL

public int PRIORITY_COL

ACTION_COL

public int ACTION_COL
Constructor Detail

AgendaItemTableModel

public AgendaItemTableModel(AgendaTableViewer table)
Method Detail

getColumnClass

public java.lang.Class getColumnClass(int columnIndex)
Description copied from class: AbstractIXTableModel
JTable required TableModel function (default is Object).
Overrides:
getColumnClass in class AbstractIXTableModel

itemAdded

public void itemAdded(AgendaItem item)
Only adds the node if the parents are empty (deal with sub-nodes in tree). If there is a parent, make sure it is expanded so that new nodes are shown. Also add an itemListener to the item because now it is officially added to the agenda.

itemRemoved

public void itemRemoved(AgendaItem i)

getNameString

public java.lang.String getNameString(javax.swing.tree.TreeNode item)
Gets the name string of the object (row)
Overrides:
getNameString in class AbstractTreeTableModel
Returns:
the string to use as a name for the object.

getCellValueAt

public java.lang.Object getCellValueAt(java.lang.Object o,
                                       int columnIndex)
Gets the cell value for normal cells (only one - the pattern). The name cell is done in the AbstractTreeTableModel method getTreeValueAt.
Overrides:
getCellValueAt in class AbstractTreeTableModel
Returns:
the value as an object, null for illegal columns.

isCellEditable

public boolean isCellEditable(int row,
                              int col)
Overrides:
isCellEditable in class javax.swing.table.AbstractTableModel

setValueAt

public void setValueAt(java.lang.Object value,
                       int row,
                       int col)
Overrides:
setValueAt in class javax.swing.table.AbstractTableModel

itemHandled

public void itemHandled(ix.ip2.event.AgendaEvent ae,
                        AgendaItem item,
                        HandlerAction act)

setHandlerAction

public void setHandlerAction(AgendaItem item,
                             HandlerAction action)

getHandlerAction

public HandlerAction getHandlerAction(AgendaItem item)

fireTableStructureChanged

public void fireTableStructureChanged()
This should not be necessary and is dangerous, but it stops the column widths from getting changed when rows are deleted.
Overrides:
fireTableStructureChanged in class javax.swing.table.AbstractTableModel

fireTableChanged

public void fireTableChanged()

fireItemChanged

public void fireItemChanged(AgendaItemTableModel.TreeAgendaItem treeItem)

fireActionSelected

public void fireActionSelected(AgendaItem item,
                               HandlerAction act)

fireItemDeleted

public void fireItemDeleted(AgendaItem item)

makeIXTreeTableNode

public IXTreeTableNode makeIXTreeTableNode(java.lang.Object original)
Overrides:
makeIXTreeTableNode in class AbstractTreeTableModel