00001 package edu.ksu.cis.bandera.abstraction.gui; 00002 00003 /* 00004 * TreeTableModel.java 00005 * 00006 * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved. 00007 * 00008 * This software is the confidential and proprietary information of Sun 00009 * Microsystems, Inc. ("Confidential Information"). You shall not 00010 * disclose such Confidential Information and shall use it only in 00011 * accordance with the terms of the license agreement you entered into 00012 * with Sun. 00013 * 00014 * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE 00015 * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 00016 * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 00017 * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES 00018 * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING 00019 * THIS SOFTWARE OR ITS DERIVATIVES. 00020 * 00021 */ 00022 00023 import javax.swing.tree.TreeModel; 00024 00025 /** 00026 * TreeTableModel is the model used by a JTreeTable. It extends TreeModel 00027 * to add methods for getting inforamtion about the set of columns each 00028 * node in the TreeTableModel may have. Each column, like a column in 00029 * a TableModel, has a name and a type associated with it. Each node in 00030 * the TreeTableModel can return a value for each of the columns and 00031 * set that value if isCellEditable() returns true. 00032 * 00033 * @author Philip Milne 00034 * @author Scott Violet 00035 */ 00036 public interface TreeTableModel extends TreeModel 00037 { 00038 /** 00039 * Returns the type for column number <code>column</code>. 00040 */ 00041 public Class getColumnClass(int column); 00042 /** 00043 * Returns the number ofs availible column. 00044 */ 00045 public int getColumnCount(); 00046 /** 00047 * Returns the name for column number <code>column</code>. 00048 */ 00049 public String getColumnName(int column); 00050 /** 00051 * Returns the value to be displayed for node <code>node</code>, 00052 * at column number <code>column</code>. 00053 */ 00054 public Object getValueAt(Object node, int column); 00055 /** 00056 * Indicates whether the the value for node <code>node</code>, 00057 * at column number <code>column</code> is editable. 00058 */ 00059 public boolean isCellEditable(Object node, int column); 00060 /** 00061 * Sets the value for node <code>node</code>, 00062 * at column number <code>column</code>. 00063 */ 00064 public void setValueAt(Object aValue, Object node, int column); 00065 }