package com.onaro.util.jfc.treeTable; /* * treeTable.TreeTableModel.java * * Copyright (c) 1998 Sun Microsystems, Inc. All Rights Reserved. * * This software is the confidential and proprietary information of Sun * Microsystems, Inc. ("Confidential Information"). You shall not * disclose such Confidential Information and shall use it only in * accordance with the terms of the license agreement you entered into * with Sun. * * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING * THIS SOFTWARE OR ITS DERIVATIVES. * */ import javax.swing.tree.TreeModel; /** * treeTable.TreeTableModel is the model used by a treeTable.JTreeTable. It extends TreeModel * to add methods for getting inforamtion about the set of columns each * node in the treeTable.TreeTableModel may have. Each column, like a column in * a TableModel, has a name and a type associated with it. Each node in * the treeTable.TreeTableModel can return a value for each of the columns and * set that value if isCellEditable() returns true. * * @author Philip Milne * @author Scott Violet */ public interface TreeTableModel extends TreeModel { /** * Returns the number ofs availible column. */ public int getColumnCount(); /** * Returns the name for column number column. */ public String getColumnName(int column); /** * Returns the type for column number column. */ public Class getColumnClass(int column); /** * Returns the value to be displayed for node node, * at column number column. */ public Object getValueAt(Object node, int column); /** * Indicates whether the value for node node, * at column number column is editable. */ public boolean isCellEditable(Object node, int column); /** * Sets the value for node node, * at column number column. */ public void setValueAt(Object aValue, Object node, int column); /** * Adds a table model listener allowing the model to notify when data changes. * @param listener the listener */ public void addTreeTableListener(TreeTableListener listener); /** * Removes a table model listener allowing the model to notify when data changes. * @param listener the listener */ public void removeTreeTableListener(TreeTableListener listener); }