1 |
/* |
2 |
* JSampler - a java front-end for LinuxSampler |
3 |
* |
4 |
* Copyright (C) 2005-2008 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 |
|
23 |
package org.jsampler.view.std; |
24 |
|
25 |
import java.awt.Dialog; |
26 |
import java.awt.Frame; |
27 |
|
28 |
import java.awt.event.ItemEvent; |
29 |
import java.awt.event.ItemListener; |
30 |
|
31 |
import javax.swing.BorderFactory; |
32 |
import javax.swing.BoxLayout; |
33 |
import javax.swing.JCheckBox; |
34 |
import javax.swing.JPanel; |
35 |
|
36 |
import net.sf.juife.InformationDialog; |
37 |
|
38 |
import org.jsampler.JSI18n; |
39 |
import org.jsampler.view.InstrumentsDbTableModel; |
40 |
|
41 |
import static org.jsampler.view.std.StdI18n.i18n; |
42 |
|
43 |
|
44 |
/** |
45 |
* |
46 |
* @author Grigor Iliev |
47 |
*/ |
48 |
public class JSInstrumentsDbColumnPreferencesDlg extends InformationDialog implements ItemListener { |
49 |
private final JCheckBox checkShowSizeColumn = |
50 |
new JCheckBox(JSI18n.i18n.getLabel("InstrumentsDbTableModel.SIZE")); |
51 |
|
52 |
private final JCheckBox checkShowFormatFamilyColumn = |
53 |
new JCheckBox(JSI18n.i18n.getLabel("InstrumentsDbTableModel.FORMAT_FAMILY")); |
54 |
|
55 |
private final JCheckBox checkShowFormatVersionColumn = |
56 |
new JCheckBox(JSI18n.i18n.getLabel("InstrumentsDbTableModel.FORMAT_VERSION")); |
57 |
|
58 |
private final JCheckBox checkShowIsDrumColumn = |
59 |
new JCheckBox(JSI18n.i18n.getLabel("InstrumentsDbTableModel.IS_DRUM")); |
60 |
|
61 |
private final JCheckBox checkShowCreatedColumn = |
62 |
new JCheckBox(JSI18n.i18n.getLabel("InstrumentsDbTableModel.CREATED")); |
63 |
|
64 |
private final JCheckBox checkShowModifiedColumn = |
65 |
new JCheckBox(JSI18n.i18n.getLabel("InstrumentsDbTableModel.MODIFIED")); |
66 |
|
67 |
private final JCheckBox checkShowProductColumn = |
68 |
new JCheckBox(JSI18n.i18n.getLabel("InstrumentsDbTableModel.PRODUCT")); |
69 |
|
70 |
private final JCheckBox checkShowArtistsColumn = |
71 |
new JCheckBox(JSI18n.i18n.getLabel("InstrumentsDbTableModel.ARTISTS")); |
72 |
|
73 |
private final JCheckBox checkShowInstrumentFileColumn |
74 |
= new JCheckBox(JSI18n.i18n.getLabel("InstrumentsDbTableModel.INSTRUMENT_FILE")); |
75 |
|
76 |
private final JCheckBox checkShowInstrumentNrColumn = |
77 |
new JCheckBox(JSI18n.i18n.getLabel("InstrumentsDbTableModel.INSTRUMENT_NR")); |
78 |
|
79 |
private final JCheckBox checkShowKeywordsColumn = |
80 |
new JCheckBox(JSI18n.i18n.getLabel("InstrumentsDbTableModel.KEYWORDS")); |
81 |
|
82 |
private final JSInstrumentsDbTable table; |
83 |
|
84 |
public |
85 |
JSInstrumentsDbColumnPreferencesDlg(Frame owner, JSInstrumentsDbTable table) { |
86 |
super(owner); |
87 |
this.table = table; |
88 |
|
89 |
initInstrumentsDbColumnPreferencesDlg(); |
90 |
} |
91 |
|
92 |
public |
93 |
JSInstrumentsDbColumnPreferencesDlg(Dialog owner, JSInstrumentsDbTable table) { |
94 |
super(owner); |
95 |
this.table = table; |
96 |
|
97 |
initInstrumentsDbColumnPreferencesDlg(); |
98 |
} |
99 |
|
100 |
private void |
101 |
initInstrumentsDbColumnPreferencesDlg() { |
102 |
InstrumentsDbTableModel model = table.getModel(); |
103 |
|
104 |
checkShowSizeColumn.setSelected(model.getShowSizeColumn()); |
105 |
checkShowFormatFamilyColumn.setSelected(model.getShowFormatFamilyColumn()); |
106 |
checkShowFormatVersionColumn.setSelected(model.getShowFormatVersionColumn()); |
107 |
checkShowIsDrumColumn.setSelected(model.getShowIsDrumColumn()); |
108 |
checkShowCreatedColumn.setSelected(model.getShowCreatedColumn()); |
109 |
checkShowModifiedColumn.setSelected(model.getShowModifiedColumn()); |
110 |
checkShowProductColumn.setSelected(model.getShowProductColumn()); |
111 |
checkShowArtistsColumn.setSelected(model.getShowArtistsColumn()); |
112 |
checkShowInstrumentFileColumn.setSelected(model.getShowInstrumentFileColumn()); |
113 |
checkShowInstrumentNrColumn.setSelected(model.getShowInstrumentNrColumn()); |
114 |
checkShowKeywordsColumn.setSelected(model.getShowKeywordsColumn()); |
115 |
|
116 |
checkShowSizeColumn.addItemListener(this); |
117 |
checkShowFormatFamilyColumn.addItemListener(this); |
118 |
checkShowFormatVersionColumn.addItemListener(this); |
119 |
checkShowIsDrumColumn.addItemListener(this); |
120 |
checkShowCreatedColumn.addItemListener(this); |
121 |
checkShowModifiedColumn.addItemListener(this); |
122 |
checkShowProductColumn.addItemListener(this); |
123 |
checkShowArtistsColumn.addItemListener(this); |
124 |
checkShowInstrumentFileColumn.addItemListener(this); |
125 |
checkShowInstrumentNrColumn.addItemListener(this); |
126 |
checkShowKeywordsColumn.addItemListener(this); |
127 |
|
128 |
JPanel p = new JPanel(); |
129 |
p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS)); |
130 |
p.add(checkShowSizeColumn); |
131 |
p.add(checkShowFormatFamilyColumn); |
132 |
p.add(checkShowFormatVersionColumn); |
133 |
p.add(checkShowIsDrumColumn); |
134 |
p.add(checkShowCreatedColumn); |
135 |
p.add(checkShowModifiedColumn); |
136 |
p.add(checkShowProductColumn); |
137 |
p.add(checkShowArtistsColumn); |
138 |
p.add(checkShowInstrumentFileColumn); |
139 |
p.add(checkShowInstrumentNrColumn); |
140 |
p.add(checkShowKeywordsColumn); |
141 |
String s = i18n.getLabel("JSInstrumentsDbColumnPreferencesDlg.columns"); |
142 |
p.setBorder(BorderFactory.createTitledBorder(s)); |
143 |
|
144 |
setMainPane(p); |
145 |
} |
146 |
|
147 |
public void |
148 |
itemStateChanged(ItemEvent e) { |
149 |
table.saveColumnWidths(); |
150 |
|
151 |
InstrumentsDbTableModel m = table.getModel(); |
152 |
|
153 |
Object source = e.getItemSelectable(); |
154 |
if(source == checkShowSizeColumn) { |
155 |
m.setShowSizeColumn(checkShowSizeColumn.isSelected()); |
156 |
} else if(source == checkShowFormatFamilyColumn) { |
157 |
boolean b = checkShowFormatFamilyColumn.isSelected(); |
158 |
m.setShowFormatFamilyColumn(b); |
159 |
} else if(source == checkShowFormatVersionColumn) { |
160 |
boolean b = checkShowFormatVersionColumn.isSelected(); |
161 |
m.setShowFormatVersionColumn(b); |
162 |
} else if(source == checkShowIsDrumColumn) { |
163 |
m.setShowIsDrumColumn(checkShowIsDrumColumn.isSelected()); |
164 |
} else if(source == checkShowCreatedColumn) { |
165 |
m.setShowCreatedColumn(checkShowCreatedColumn.isSelected()); |
166 |
} else if(source == checkShowModifiedColumn) { |
167 |
m.setShowModifiedColumn(checkShowModifiedColumn.isSelected()); |
168 |
} else if(source == checkShowProductColumn) { |
169 |
m.setShowProductColumn(checkShowProductColumn.isSelected()); |
170 |
} else if(source == checkShowArtistsColumn) { |
171 |
m.setShowArtistsColumn(checkShowArtistsColumn.isSelected()); |
172 |
} else if(source == checkShowInstrumentFileColumn) { |
173 |
boolean b = checkShowInstrumentFileColumn.isSelected(); |
174 |
m.setShowInstrumentFileColumn(b); |
175 |
} else if(source == checkShowInstrumentNrColumn) { |
176 |
boolean b = checkShowInstrumentNrColumn.isSelected(); |
177 |
m.setShowInstrumentNrColumn(b); |
178 |
} else if(source == checkShowKeywordsColumn) { |
179 |
m.setShowKeywordsColumn(checkShowKeywordsColumn.isSelected()); |
180 |
} |
181 |
|
182 |
table.loadColumnWidths(); |
183 |
table.getRowSorter().toggleSortOrder(0); |
184 |
} |
185 |
} |