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

Diff of /jsampler/trunk/src/org/jsampler/view/std/JSAddDbInstrumentsFromFileDlg.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1307 by iliev, Sun Aug 26 14:19:36 2007 UTC revision 1308 by iliev, Tue Aug 28 17:00:19 2007 UTC
# Line 36  import javax.swing.BoxLayout; Line 36  import javax.swing.BoxLayout;
36  import javax.swing.ButtonGroup;  import javax.swing.ButtonGroup;
37  import javax.swing.Icon;  import javax.swing.Icon;
38  import javax.swing.JButton;  import javax.swing.JButton;
39    import javax.swing.JComboBox;
40  import javax.swing.JFileChooser;  import javax.swing.JFileChooser;
41  import javax.swing.JPanel;  import javax.swing.JPanel;
42  import javax.swing.JRadioButton;  import javax.swing.JRadioButton;
43  import javax.swing.JSpinner;  import javax.swing.JSpinner;
 import javax.swing.JTextField;  
44  import javax.swing.SpinnerNumberModel;  import javax.swing.SpinnerNumberModel;
45  import javax.swing.SwingUtilities;  import javax.swing.SwingUtilities;
46    
# Line 69  public class JSAddDbInstrumentsFromFileD Line 69  public class JSAddDbInstrumentsFromFileD
69          private final JRadioButton rbIndex =          private final JRadioButton rbIndex =
70                  new JRadioButton(i18n.getLabel("JSAddDbInstrumentsFromFileDlg.rbIndex"));                  new JRadioButton(i18n.getLabel("JSAddDbInstrumentsFromFileDlg.rbIndex"));
71                    
72          private final JTextField tfSource = new JTextField();          private final JComboBox cbSource = new JComboBox();
73          private final JSpinner spinnerIndex = new JSpinner(new SpinnerNumberModel(0, 0, 500, 1));          private final JSpinner spinnerIndex = new JSpinner(new SpinnerNumberModel(0, 0, 500, 1));
74          private JButton btnBrowse;          private JButton btnBrowse;
75          private final JTextField tfDest = new JTextField();          private final JComboBox cbDest = new JComboBox();
76          private JButton btnBrowseDb;          private JButton btnBrowseDb;
77                    
78          /**          /**
# Line 105  public class JSAddDbInstrumentsFromFileD Line 105  public class JSAddDbInstrumentsFromFileD
105                                    
106                  JPanel p2 = new JPanel();                  JPanel p2 = new JPanel();
107                  p2.setLayout(new BoxLayout(p2, BoxLayout.X_AXIS));                  p2.setLayout(new BoxLayout(p2, BoxLayout.X_AXIS));
108                  p2.add(tfSource);                  p2.add(cbSource);
109                  p2.add(Box.createRigidArea(new Dimension(6, 0)));                  p2.add(Box.createRigidArea(new Dimension(6, 0)));
110                  String s = i18n.getButtonLabel("browse");                  String s = i18n.getButtonLabel("browse");
111                  btnBrowse.setMargin(new Insets(0, 0, 0, 0));                  btnBrowse.setMargin(new Insets(0, 0, 0, 0));
# Line 149  public class JSAddDbInstrumentsFromFileD Line 149  public class JSAddDbInstrumentsFromFileD
149                                    
150                  p2 = new JPanel();                  p2 = new JPanel();
151                  p2.setLayout(new BoxLayout(p2, BoxLayout.X_AXIS));                  p2.setLayout(new BoxLayout(p2, BoxLayout.X_AXIS));
152                  p2.add(tfDest);                  p2.add(cbDest);
153                  p2.add(Box.createRigidArea(new Dimension(6, 0)));                  p2.add(Box.createRigidArea(new Dimension(6, 0)));
154                  s = i18n.getButtonLabel("browse");                  s = i18n.getButtonLabel("browse");
155                  btnBrowseDb.setMargin(new Insets(0, 0, 0, 0));                  btnBrowseDb.setMargin(new Insets(0, 0, 0, 0));
# Line 173  public class JSAddDbInstrumentsFromFileD Line 173  public class JSAddDbInstrumentsFromFileD
173                  setMinimumSize(this.getPreferredSize());                  setMinimumSize(this.getPreferredSize());
174                  setResizable(true);                  setResizable(true);
175                                    
                 if(dbDir != null) tfDest.setText(dbDir);  
                   
176                  ButtonGroup group = new ButtonGroup();                  ButtonGroup group = new ButtonGroup();
177                  group.add(rbAllInstruments);                  group.add(rbAllInstruments);
178                  group.add(rbIndex);                  group.add(rbIndex);
# Line 183  public class JSAddDbInstrumentsFromFileD Line 181  public class JSAddDbInstrumentsFromFileD
181                  btnOk.setEnabled(false);                  btnOk.setEnabled(false);
182                  spinnerIndex.setEnabled(false);                  spinnerIndex.setEnabled(false);
183                                    
184                  tfSource.getDocument().addDocumentListener(getHandler());                  cbSource.setEditable(true);
185                  tfDest.getDocument().addDocumentListener(getHandler());                  String[] dirs = preferences().getStringListProperty("recentInstrumentFiles");
186                    for(String dir : dirs) cbSource.addItem(dir);
187                    cbSource.setSelectedItem(null);
188                    
189                    cbSource.setPreferredSize (
190                            new Dimension(200, cbSource.getPreferredSize().height)
191                    );
192                    
193                    cbSource.addActionListener(getHandler());
194                    
195                    cbDest.setEditable(true);
196                    dirs = preferences().getStringListProperty("recentDbDirectories");
197                    for(String dir : dirs) cbDest.addItem(dir);
198                    cbDest.setSelectedItem(dbDir);
199                    
200                    
201                    cbDest.setPreferredSize (
202                            new Dimension(200, cbDest.getPreferredSize().height)
203                    );
204                    
205                    cbDest.addActionListener(getHandler());
206                    
207                                    
208                  btnBrowse.addActionListener(new ActionListener() {                  btnBrowse.addActionListener(new ActionListener() {
209                          public void                          public void
# Line 207  public class JSAddDbInstrumentsFromFileD Line 226  public class JSAddDbInstrumentsFromFileD
226                                    
227                  btnBrowseDb.addActionListener(new ActionListener() {                  btnBrowseDb.addActionListener(new ActionListener() {
228                          public void                          public void
229                          actionPerformed(ActionEvent e) {                          actionPerformed(ActionEvent e) { onBrowseDb(); }
                                 JSDbDirectoryChooser dlg;  
                                 dlg = new JSDbDirectoryChooser(JSAddDbInstrumentsFromFileDlg.this);  
                                 String s = tfDest.getText();  
                                 if(s.length() > 0) dlg.setSelectedDirectory(s);  
                                 dlg.setVisible(true);  
                                 if(dlg.isCancelled()) return;  
                                 tfDest.setText(dlg.getSelectedDirectory());  
                         }  
230                  });                  });
231          }          }
232                    
# Line 230  public class JSAddDbInstrumentsFromFileD Line 241  public class JSAddDbInstrumentsFromFileD
241                  int result = fc.showOpenDialog(this);                  int result = fc.showOpenDialog(this);
242                  if(result != JFileChooser.APPROVE_OPTION) return;                  if(result != JFileChooser.APPROVE_OPTION) return;
243                                    
244                  tfSource.setText(fc.getSelectedFile().getPath());                  cbSource.setSelectedItem(fc.getSelectedFile().getPath());
245                  path = fc.getCurrentDirectory().getAbsolutePath();                  path = fc.getCurrentDirectory().getAbsolutePath();
246                  preferences().setStringProperty("lastInstrumentLocation", path);                  preferences().setStringProperty("lastInstrumentLocation", path);
247          }          }
248                    
249          private void          private void
250            onBrowseDb() {
251                    JSDbDirectoryChooser dlg;
252                    dlg = new JSDbDirectoryChooser(JSAddDbInstrumentsFromFileDlg.this);
253                    Object o = cbDest.getSelectedItem();
254                    if(o != null && o.toString().length() > 0) dlg.setSelectedDirectory(o.toString());
255                    dlg.setVisible(true);
256                    if(dlg.isCancelled()) return;
257                    cbDest.setSelectedItem(dlg.getSelectedDirectory());
258            }
259            
260            private void
261          updateState() {          updateState() {
262                  boolean b = tfSource.getText().length() != 0 && tfDest.getText().length() != 0;                  Object o = cbSource.getSelectedItem();
263                    Object o2 = cbDest.getSelectedItem();
264                    boolean b = o != null && o.toString().length() > 0;
265                    b = b && o2 != null && o2.toString().length() > 0;
266                  btnOk.setEnabled(b);                  btnOk.setEnabled(b);
267          }          }
268                    
# Line 246  public class JSAddDbInstrumentsFromFileD Line 271  public class JSAddDbInstrumentsFromFileD
271                  if(!btnOk.isEnabled()) return;                  if(!btnOk.isEnabled()) return;
272                                    
273                  btnOk.setEnabled(false);                  btnOk.setEnabled(false);
274                  String dbDir = tfDest.getText();                  String dbDir = cbDest.getSelectedItem().toString();
275                  String filePath = tfSource.getText();                  String filePath = cbSource.getSelectedItem().toString();
276                  int idx = -1;                  int idx = -1;
277                  if(rbIndex.isSelected()) idx = Integer.parseInt(spinnerIndex.getValue().toString());                  if(rbIndex.isSelected()) idx = Integer.parseInt(spinnerIndex.getValue().toString());
278                                    
# Line 262  public class JSAddDbInstrumentsFromFileD Line 287  public class JSAddDbInstrumentsFromFileD
287                  });                  });
288                                    
289                  CC.getTaskQueue().add(t);                  CC.getTaskQueue().add(t);
290                    
291                    StdUtils.updateRecentElements("recentInstrumentFiles", filePath);
292                    StdUtils.updateRecentElements("recentDbDirectories", dbDir);
293          }          }
294                    
295          private void          private void
# Line 282  public class JSAddDbInstrumentsFromFileD Line 310  public class JSAddDbInstrumentsFromFileD
310          private Handler          private Handler
311          getHandler() { return eventHandler; }          getHandler() { return eventHandler; }
312                    
313          private class Handler implements DocumentListener {          private class Handler implements DocumentListener, ActionListener {
314                  // DocumentListener                  // DocumentListener
315                  public void                  public void
316                  insertUpdate(DocumentEvent e) { updateState(); }                  insertUpdate(DocumentEvent e) { updateState(); }
# Line 292  public class JSAddDbInstrumentsFromFileD Line 320  public class JSAddDbInstrumentsFromFileD
320                                    
321                  public void                  public void
322                  changedUpdate(DocumentEvent e) { updateState(); }                  changedUpdate(DocumentEvent e) { updateState(); }
323                    ///////
324                    
325                    public void
326                    actionPerformed(ActionEvent e) { updateState(); }
327          }          }
328  }  }

Legend:
Removed from v.1307  
changed lines
  Added in v.1308

  ViewVC Help
Powered by ViewVC