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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2195 - (show 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 /*
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