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

Annotation of /jsampler/trunk/src/org/jsampler/view/classic/DbInstrumentChooser.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1205 - (hide annotations) (download)
Thu May 24 21:55:41 2007 UTC (16 years, 11 months ago) by iliev
File size: 3618 byte(s)
* upgrading to version 0.5a

1 iliev 1205 /*
2     * JSampler - a java front-end for LinuxSampler
3     *
4     * Copyright (C) 2005-2007 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.classic;
24    
25     import java.awt.Dialog;
26     import java.awt.Frame;
27    
28     import javax.swing.JScrollPane;
29     import javax.swing.JSplitPane;
30     import javax.swing.ListSelectionModel;
31    
32     import javax.swing.event.ListSelectionEvent;
33     import javax.swing.event.ListSelectionListener;
34    
35     import net.sf.juife.OkCancelDialog;
36    
37     import org.jsampler.CC;
38    
39     import org.linuxsampler.lscp.DbInstrumentInfo;
40    
41     import org.jsampler.view.InstrumentsDbTreeModel;
42    
43     import static org.jsampler.view.classic.ClassicI18n.i18n;
44    
45    
46     /**
47     *
48     * @author Grigor Iliev
49     */
50     public class DbInstrumentChooser extends OkCancelDialog implements ListSelectionListener {
51     private InstrumentsDbTree instrumentsDbTree;
52     private InstrumentsDbTable instrumentsDbTable;
53    
54     /** Creates a new instance of <code>DbInstrumentChooser</code> */
55     public DbInstrumentChooser(Frame owner) {
56     super(owner, i18n.getLabel("DbInstrumentChooser.title"));
57     initDbInstrumentChooser();
58     }
59    
60     /** Creates a new instance of <code>DbInstrumentChooser</code> */
61     public DbInstrumentChooser(Dialog owner) {
62     super(owner, i18n.getLabel("DbInstrumentChooser.title"));
63     initDbInstrumentChooser();
64     }
65    
66     private void
67     initDbInstrumentChooser() {
68     btnOk.setEnabled(false);
69     instrumentsDbTree = new InstrumentsDbTree(CC.getInstrumentsDbTreeModel());
70     JScrollPane sp = new JScrollPane(instrumentsDbTree);
71    
72     instrumentsDbTable = new InstrumentsDbTable(instrumentsDbTree);
73     instrumentsDbTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
74     instrumentsDbTable.getSelectionModel().addListSelectionListener(this);
75     instrumentsDbTable.loadColumnWidths();
76     JScrollPane sp2 = new JScrollPane(instrumentsDbTable);
77    
78     JSplitPane splitPane = new JSplitPane (
79     JSplitPane.HORIZONTAL_SPLIT,
80     true, // continuousLayout
81     sp,
82     sp2
83     );
84    
85     splitPane.setDividerSize(3);
86     splitPane.setDividerLocation(200);
87    
88     setMainPane(splitPane);
89     }
90    
91     public String
92     getSelectedInstrument() {
93     DbInstrumentInfo[] infos = instrumentsDbTable.getSelectedInstruments();
94     if(infos.length == 0) return null;
95     return infos[0].getInstrumentPath();
96     }
97    
98     public void
99     setSelectedInstrument(String instr) {
100     String parentDir = InstrumentsDbTreeModel.getParentDirectory(instr);
101     if(parentDir == null) return;
102     instrumentsDbTree.setSelectedDirectory(parentDir);
103     if(instrumentsDbTable.getParentDirectoryNode() == null) return;
104    
105     instr = instr.substring(parentDir.length() + 1, instr.length());
106     instrumentsDbTable.setSelectedInstrument(instr);
107     }
108    
109     protected void
110     onOk() {
111     if(!btnOk.isEnabled()) return;
112     setCancelled(false);
113     setVisible(false);
114     }
115    
116     protected void
117     onCancel() { setVisible(false); }
118    
119     public void
120     valueChanged(ListSelectionEvent e) {
121     boolean b = instrumentsDbTable.getSelectedInstruments().length > 0;
122     btnOk.setEnabled(b);
123     }
124     }

  ViewVC Help
Powered by ViewVC