/* * DefaultTreeTableModel.java * Copyright 2008 (C) Connor Petty <mistercpp2000@gmail.com> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Created on Feb 22, 2008, 5:47:03 PM */ package pcgen.gui2.util.treetable; import java.util.List; /** * * @author Connor Petty <mistercpp2000@gmail.com> */ public class DefaultTreeTableModel extends AbstractTreeTableModel { private List<Class<?>> columnClasses; private List<String> columnNames; private int columnCount; protected DefaultTreeTableModel() { super(); } protected DefaultTreeTableModel(TreeTableNode root) { super(root); } // public DefaultTreeTableModel(TableModel tableModel) // { // super(null); // TreeTableNode rootNode = createDefaultTreeTableNode(); // columnCount = tableModel.getColumnCount(); // for (int x = 0; x < tableModel.getRowCount(); x++) // { // TreeTableNode child = createDefaultTreeTableNode(); // rootNode.insert(child, x); // for (int y = 0; y < columnCount; y++) // { // child.setValueAt(tableModel.getValueAt(x, y), y); // } // } // columnClasses = new ArrayList<Class<?>>(columnCount); // columnNames = new ArrayList<String>(columnCount); // for (int x = 0; x < columnCount; x++) // { // columnClasses.add(tableModel.getColumnClass(x)); // columnNames.add(tableModel.getColumnName(x)); // } // setRoot(rootNode); // } // public DefaultTreeTableModel(TreeTableModel treeTableModel) // { // super(null); // TreeTableNode rootNode = createDefaultTreeTableNode((TreeNode) treeTableModel.getRoot()); // columnCount = treeTableModel.getColumnCount(); // columnClasses = new ArrayList<Class<?>>(columnCount); // columnNames = new ArrayList<String>(columnCount); // for (int x = 0; x < columnCount; x++) // { // columnClasses.add(treeTableModel.getColumnClass(x)); // columnNames.add(treeTableModel.getColumnName(x)); // } // setRoot(rootNode); // } protected TreeTableNode createDefaultTreeTableNode() { return new DefaultTreeTableNode(); } // protected TreeTableNode createDefaultTreeTableNode(TreeNode node) // { // return new DefaultTreeTableNode(node); // } @Override public int getColumnCount() { return columnCount; } @Override public Class<?> getColumnClass(int column) { switch (column) { case 0: return TreeTableNode.class; default: return columnClasses.get(column); } } @Override public String getColumnName(int column) { return columnNames.get(column); } }