/[svn]/jsampler/trunk/src/org/jsampler/view/JSTable.java
ViewVC logotype

Annotation of /jsampler/trunk/src/org/jsampler/view/JSTable.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2195 - (hide annotations) (download)
Tue Jun 28 22:44:39 2011 UTC (12 years, 8 months ago) by iliev
File size: 2523 byte(s)
* Sampler Browser (work in progress): initial implementation of main pane

1 iliev 2195 /*
2     * JSampler - a java front-end for LinuxSampler
3     *
4     * Copyright (C) 2011 Grigor Iliev <grigor@grigoriliev.com>
5     *
6     * This file is part of JSampler.
7     *
8     * JSampler is free software; you can redistribute it and/or modify
9     * it under the terms of the GNU General Public License version 2
10     * as published by the Free Software Foundation.
11     *
12     * JSampler is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     *
17     * You should have received a copy of the GNU General Public License
18     * along with JSampler; if not, write to the Free Software
19     * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20     * MA 02111-1307 USA
21     */
22     package org.jsampler.view;
23    
24     import javax.swing.JTable;
25     import javax.swing.table.TableColumnModel;
26     import javax.swing.table.TableModel;
27     import org.jsampler.CC;
28     import org.jsampler.JSPrefs;
29    
30     /**
31     *
32     * @author Grigor Iliev
33     */
34     public class JSTable<T extends TableModel> extends JTable {
35     private String tablePrefix;
36    
37     public
38     JSTable(T model) { this(model, null); }
39    
40     public
41     JSTable(T model, String prefix) {
42     super(model);
43     if(prefix == null) prefix = getClass().getName();
44    
45     setTablePrefix(prefix);
46    
47     loadColumnWidths();
48     }
49    
50     @Override
51     public T
52     getModel() { return (T)super.getModel(); }
53    
54     public String
55     getTablePrefix() { return tablePrefix; }
56    
57     /**
58     * Sets the table prefix, which is used for ID
59     * for saving the table settings for the next session.
60     */
61     public void
62     setTablePrefix(String prefix) { tablePrefix = prefix; }
63    
64     public void
65     loadColumnWidths() { loadColumnWidths(getTablePrefix()); }
66    
67     public void
68     loadColumnWidths(String prefix) {
69     if(prefix == null) return;
70     TableColumnModel tcm = getColumnModel();
71    
72     for(int i = 0; i < getModel().getColumnCount(); i++) {
73     String s = prefix + ": column " + i;
74     int w = preferences().getIntProperty(s);
75     if(w > 0) tcm.getColumn(i).setPreferredWidth(w);
76     }
77     }
78    
79     public void
80     saveColumnWidths() { saveColumnWidths(getTablePrefix()); }
81    
82     public void
83     saveColumnWidths(String prefix) {
84     if(prefix == null) return;
85     TableColumnModel tcm = getColumnModel();
86    
87     for(int i = 0; i < getModel().getColumnCount(); i++) {
88     String s = prefix + ": column " + i;
89     preferences().setIntProperty(s, tcm.getColumn(i).getWidth());
90     }
91     }
92    
93     protected JSPrefs
94     preferences() { return CC.getViewConfig().preferences(); }
95     }

  ViewVC Help
Powered by ViewVC