designtools
Class DigitalTableModel

java.lang.Object
  extended byjavax.swing.table.AbstractTableModel
      extended bydesigntools.DigitalTableModel
All Implemented Interfaces:
java.io.Serializable, javax.swing.table.TableModel

public class DigitalTableModel
extends javax.swing.table.AbstractTableModel

Extends the AbstractTableModel to store all the data required for the state / truth table

See Also:
Serialized Form

Field Summary
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Constructor Summary
DigitalTableModel(int inPinNumber, int outPinNumber, int stateNumber)
          DigitalTableModel constructor.
 
Method Summary
 int getColumnCount()
           
 java.lang.String getColumnName(int c)
           
 int getInitialStateColumn()
           
 int getInPinCount()
           
 int getNextStateColumn()
           
 int getRowCount()
           
 java.lang.Object getValueAt(int rowIndex, int columnIndex)
           
 boolean isCellEditable(int r, int c)
          The only editable cell is the next state column in a state table
 void selectCell(int r, int c)
          Call this method when a cell has been selected so it's value may be toggled
 void setColumnHeader(int c, java.lang.String label)
          Changes a column name
 void setValueAt(java.lang.Object value, int r, int c)
           
 
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, removeTableModelListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DigitalTableModel

public DigitalTableModel(int inPinNumber,
                         int outPinNumber,
                         int stateNumber)
DigitalTableModel constructor.

Parameters:
inPinNumber - Number of input pins to store data on
outPinNumber - Number of output pins to store data on
stateNumber - Number of internal states (if zero we are producing a truth table)
Method Detail

isCellEditable

public boolean isCellEditable(int r,
                              int c)
The only editable cell is the next state column in a state table

Parameters:
r - Row index
c - Column index
Returns:
true if the cell is editable

setValueAt

public void setValueAt(java.lang.Object value,
                       int r,
                       int c)

selectCell

public void selectCell(int r,
                       int c)
Call this method when a cell has been selected so it's value may be toggled

Parameters:
r - Row number
c - Column number

setColumnHeader

public void setColumnHeader(int c,
                            java.lang.String label)
Changes a column name

Parameters:
c - Column
label - New label to use for that column

getNextStateColumn

public int getNextStateColumn()
Returns:
the column number of the column which stores the next state

getInitialStateColumn

public int getInitialStateColumn()
Returns:
the column number of the column which stores the initial state

getRowCount

public int getRowCount()
Returns:
The number of rows in the table

getColumnCount

public int getColumnCount()
Returns:
The number of columns in the table

getInPinCount

public int getInPinCount()
Returns:
The number of input pins in the chip

getValueAt

public java.lang.Object getValueAt(int rowIndex,
                                   int columnIndex)

getColumnName

public java.lang.String getColumnName(int c)