/* * JSampler - a java front-end for LinuxSampler * * Copyright (C) 2005 Grigor Kirilov Iliev * * This file is part of JSampler. * * JSampler is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 * as published by the Free Software Foundation. * * JSampler 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 JSampler; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA */ package org.jsampler.view; import javax.swing.DefaultCellEditor; import javax.swing.JComponent; import javax.swing.JComboBox; import javax.swing.JTable; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; import javax.swing.table.TableModel; import org.linuxsampler.lscp.Parameter; import org.linuxsampler.lscp.ParameterType; import org.jsampler.view.classic.*; /** * * @author Grigor Iliev */ public class ParameterTable extends JTable { /** Creates a new instance of ParameterTable */ public ParameterTable() { super(new ParameterTableModel(new Parameter[0])); } /** * Gets the ParameterTableModel that * provides the data displayed by this ParameterTable. * @return The ParameterTableModel that * provides the data displayed by this ParameterTable. */ public ParameterTableModel getModel() { return (ParameterTableModel) super.getModel(); } /** * Sets the data model for this table to dataModel. * @param dataModel The new data source for this table. */ public void setModel(ParameterTableModel dataModel) { super.setModel(dataModel); } public TableCellEditor getCellEditor(int row, int column) { TableCellEditor editor = getModel().getCellEditor(row, column); return editor != null ? editor : super.getCellEditor(row, column); } public TableCellRenderer getCellRenderer(int row, int column) { TableCellRenderer r = getModel().getCellRenderer(row, column); //return r != null ? r : super.getCellRenderer(row, column); if(r == null) { r = super.getCellRenderer(row, column); ((JComponent)r).setToolTipText(getModel().getParameter(row).getDescription()); } return r; } }