/* *------------------- * The ProfileTreeTableModel.java is part of ASH Viewer *------------------- * * ASH Viewer is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * ASH Viewer 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 General Public License for more details. * * You should have received a copy of the GNU General Public License * along with ASH Viewer. If not, see <http://www.gnu.org/licenses/>. * * Copyright (c) 2009, Alex Kardapolov, All rights reserved. * */ package org.ash.history.treetable; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreeNode; public class ProfileTreeTableModel extends DefaultTreeTableModel { private static final int NAME = 0; private static final int SIZE = 1; private static final int FOLDER = 2; public ProfileTreeTableModel(TreeNode node) { super(node); } @Override public int getColumnCount() { return 3; } /** * Returns which object is displayed in this column. */ @Override public Object getValueAt(Object node, int column) { Object res = "n/a"; if (node instanceof DefaultMutableTreeNode) { DefaultMutableTreeNode defNode = (DefaultMutableTreeNode) node; if (defNode.getUserObject() instanceof ProfileData) { ProfileData profile = (ProfileData) defNode.getUserObject(); switch (column) { case NAME: res = profile.getName(); break; case SIZE: res = profile.getSize(); break; case FOLDER: res = profile.getDirectory(); break; } } } return res; } /** * What the TableHeader displays when the Table is in a JScrollPane. */ @Override public String getColumnName(int column) { String res = ""; switch (column) { case NAME: res = "Profile"; break; case SIZE: res = "Size, Mb"; break; case FOLDER: res = "Directory"; break; } return res; } /** * Tells if a column can be edited. */ @Override public boolean isCellEditable(Object node, int column) { return false; } /** * Called when done editing a cell. */ @Override public void setValueAt(Object value, Object node, int column) { } }