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

Diff of /jsampler/trunk/src/org/jsampler/view/classic/MainFrame.java

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

revision 1496 by iliev, Mon Nov 19 22:22:22 2007 UTC revision 1785 by iliev, Tue Oct 7 00:07:14 2008 UTC
# Line 1  Line 1 
1  /*  /*
2   *   JSampler - a java front-end for LinuxSampler   *   JSampler - a java front-end for LinuxSampler
3   *   *
4   *   Copyright (C) 2005-2007 Grigor Iliev <grigor@grigoriliev.com>   *   Copyright (C) 2005-2008 Grigor Iliev <grigor@grigoriliev.com>
5   *   *
6   *   This file is part of JSampler.   *   This file is part of JSampler.
7   *   *
# Line 36  import java.io.BufferedReader; Line 36  import java.io.BufferedReader;
36  import java.io.File;  import java.io.File;
37  import java.io.FileNotFoundException;  import java.io.FileNotFoundException;
38  import java.io.FileReader;  import java.io.FileReader;
 import java.io.StringReader;  
39    
40  import java.util.logging.Level;  import java.util.logging.Level;
41  import java.util.Vector;  import java.util.Vector;
# Line 59  import javax.swing.event.ListSelectionEv Line 58  import javax.swing.event.ListSelectionEv
58  import javax.swing.event.ListSelectionListener;  import javax.swing.event.ListSelectionListener;
59    
60  import net.sf.juife.NavigationPage;  import net.sf.juife.NavigationPage;
 import net.sf.juife.NavigationPane;  
61    
62  import org.jsampler.CC;  import org.jsampler.CC;
63  import org.jsampler.HF;  import org.jsampler.HF;
64  import org.jsampler.LSConsoleModel;  import org.jsampler.LSConsoleModel;
65  import org.jsampler.OrchestraModel;  import org.jsampler.OrchestraModel;
66  import org.jsampler.Prefs;  import org.jsampler.Server;
67    
68  import org.jsampler.view.JSChannel;  import org.jsampler.view.JSChannel;
69  import org.jsampler.view.JSChannelsPane;  import org.jsampler.view.JSChannelsPane;
70  import org.jsampler.view.LscpFileFilter;  import org.jsampler.view.LscpFileFilter;
71    
72    import org.jsampler.view.std.JSConnectDlg;
73  import org.jsampler.view.std.JSDetailedErrorDlg;  import org.jsampler.view.std.JSDetailedErrorDlg;
74    import org.jsampler.view.std.JSQuitDlg;
75  import org.jsampler.view.std.JSamplerHomeChooser;  import org.jsampler.view.std.JSamplerHomeChooser;
76    
77  import static org.jsampler.view.classic.A4n.a4n;  import static org.jsampler.view.classic.A4n.a4n;
# Line 203  MainFrame extends org.jsampler.view.JSMa Line 203  MainFrame extends org.jsampler.view.JSMa
203          }          }
204                    
205          /** Invoked when this window is about to close. */          /** Invoked when this window is about to close. */
206            @Override
207          protected void          protected void
208          onWindowClose() {          onWindowClose() {
209                    boolean b = preferences().getBoolProperty(CONFIRM_APP_QUIT);
210                    if(b && CC.getSamplerModel().isModified()) {
211                            JSQuitDlg dlg = new JSQuitDlg(Res.iconQuestion32);
212                            dlg.setVisible(true);
213                            if(dlg.isCancelled()) return;
214                    }
215                    
216                  if(ClassicPrefs.getSaveWindowProperties()) {                  if(ClassicPrefs.getSaveWindowProperties()) {
217                          ClassicPrefs.setWindowMaximized (                          ClassicPrefs.setWindowMaximized (
218                                  "Mainframe", (getExtendedState() & MAXIMIZED_BOTH) == MAXIMIZED_BOTH                                  "Mainframe", (getExtendedState() & MAXIMIZED_BOTH) == MAXIMIZED_BOTH
# Line 317  MainFrame extends org.jsampler.view.JSMa Line 325  MainFrame extends org.jsampler.view.JSMa
325                  m = new JMenu(i18n.getMenuLabel("actions"));                  m = new JMenu(i18n.getMenuLabel("actions"));
326                  menuBar.add(m);                  menuBar.add(m);
327                                    
                 mi = new JMenuItem(a4n.connect);  
                 mi.setIcon(null);  
                 //mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_MASK));  
                 m.add(mi);  
                   
328                  mi = new JMenuItem(a4n.refresh);                  mi = new JMenuItem(a4n.refresh);
329                  mi.setIcon(null);                  mi.setIcon(null);
330                  mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5, 0));                  mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F5, 0));
331                  m.add(mi);                  m.add(mi);
332                                    
333                  mi = new JMenuItem(a4n.resetSampler);                  mi = new JMenuItem(A4n.samplerInfo);
334                  mi.setIcon(null);                  mi.setIcon(null);
335                  m.add(mi);                  m.add(mi);
336                                    
337                  mi = new JMenuItem(A4n.samplerInfo);                  mi = new JMenuItem(a4n.resetSampler);
338                  mi.setIcon(null);                  mi.setIcon(null);
339                  m.add(mi);                  m.add(mi);
340                                    
# Line 367  MainFrame extends org.jsampler.view.JSMa Line 370  MainFrame extends org.jsampler.view.JSMa
370                  m.addSeparator();                  m.addSeparator();
371                                    
372                  mi = new JMenuItem(A4n.loadScript);                  mi = new JMenuItem(A4n.loadScript);
373                    mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_MASK));
374                  mi.setIcon(null);                  mi.setIcon(null);
375                  m.add(mi);                  m.add(mi);
376                                    
# Line 379  MainFrame extends org.jsampler.view.JSMa Line 383  MainFrame extends org.jsampler.view.JSMa
383                                    
384                  m.addSeparator();                  m.addSeparator();
385                                    
386                    mi = new JMenuItem(a4n.changeBackend);
387                    mi.setIcon(null);
388                    mi.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B, KeyEvent.CTRL_MASK));
389                    m.add(mi);
390                    
391                    m.addSeparator();
392                    
393                  mi = new JMenuItem(i18n.getMenuLabel("actions.exit"));                  mi = new JMenuItem(i18n.getMenuLabel("actions.exit"));
394                  m.add(mi);                  m.add(mi);
395                  mi.addActionListener(new ActionListener() {                  mi.addActionListener(new ActionListener() {
# Line 650  MainFrame extends org.jsampler.view.JSMa Line 661  MainFrame extends org.jsampler.view.JSMa
661                                    
662                  RecentScriptHandler(String script) { this.script = script; }                  RecentScriptHandler(String script) { this.script = script; }
663                                    
664                    @Override
665                  public void                  public void
666                  actionPerformed(ActionEvent e) {  runScript(script); }                  actionPerformed(ActionEvent e) {  runScript(script); }
667          }          }
# Line 831  MainFrame extends org.jsampler.view.JSMa Line 843  MainFrame extends org.jsampler.view.JSMa
843           * Adds the specified <code>JSChannelsPane</code> to the view.           * Adds the specified <code>JSChannelsPane</code> to the view.
844           * @param chnPane The <code>JSChannelsPane</code> to be added.           * @param chnPane The <code>JSChannelsPane</code> to be added.
845           */           */
846            @Override
847          public void          public void
848          addChannelsPane(JSChannelsPane chnPane) {          addChannelsPane(JSChannelsPane chnPane) {
849                  insertChannelsPane(chnPane, getChannelsPaneCount());                  insertChannelsPane(chnPane, getChannelsPaneCount());
850          }          }
851                    
852            @Override
853          public void          public void
854          insertChannelsPane(JSChannelsPane chnPane, int idx) {          insertChannelsPane(JSChannelsPane chnPane, int idx) {
855                  chnPane.addListSelectionListener(this);                  chnPane.addListSelectionListener(this);
# Line 860  MainFrame extends org.jsampler.view.JSMa Line 874  MainFrame extends org.jsampler.view.JSMa
874           * Gets the <code>JSChannelsPane</code> that is currently shown.           * Gets the <code>JSChannelsPane</code> that is currently shown.
875           * @return The currently shown <code>JSChannelsPane</code>.           * @return The currently shown <code>JSChannelsPane</code>.
876           */           */
877            @Override
878          public JSChannelsPane          public JSChannelsPane
879          getSelectedChannelsPane() {          getSelectedChannelsPane() {
880                  if(getChannelsPaneList().size() == 1) return getChannelsPane(0);                  if(getChannelsPaneList().size() == 1) return getChannelsPane(0);
# Line 870  MainFrame extends org.jsampler.view.JSMa Line 885  MainFrame extends org.jsampler.view.JSMa
885           * Sets the <code>JSChannelsPane</code> to be selected.           * Sets the <code>JSChannelsPane</code> to be selected.
886           * @param pane The <code>JSChannelsPane</code> to be shown.           * @param pane The <code>JSChannelsPane</code> to be shown.
887           */           */
888            @Override
889          public void          public void
890          setSelectedChannelsPane(JSChannelsPane pane) {          setSelectedChannelsPane(JSChannelsPane pane) {
891                  if(getChannelsPaneList().size() == 1) return;                  if(getChannelsPaneList().size() == 1) return;
892                  tabbedPane.setSelectedComponent(pane);                  tabbedPane.setSelectedComponent(pane);
893                    fireChannelsPaneSelectionChanged();
894          }          }
895                    
896          /**          /**
# Line 882  MainFrame extends org.jsampler.view.JSMa Line 899  MainFrame extends org.jsampler.view.JSMa
899           * @return <code>true</code> if the specified code>JSChannelsPane</code>           * @return <code>true</code> if the specified code>JSChannelsPane</code>
900           * is actually removed from the view, <code>false</code> otherwise.           * is actually removed from the view, <code>false</code> otherwise.
901           */           */
902            @Override
903          public boolean          public boolean
904          removeChannelsPane(JSChannelsPane chnPane) {          removeChannelsPane(JSChannelsPane chnPane) {
905                  chnPane.removeListSelectionListener(this);                  chnPane.removeListSelectionListener(this);
# Line 1023  MainFrame extends org.jsampler.view.JSMa Line 1041  MainFrame extends org.jsampler.view.JSMa
1041          public JMenu          public JMenu
1042          getTabsMenu() { return tabsMenu; }          getTabsMenu() { return tabsMenu; }
1043                    
1044            @Override
1045          public void          public void
1046          stateChanged(ChangeEvent e) {          stateChanged(ChangeEvent e) {
1047                  updateTabsMenu();                  updateTabsMenu();
# Line 1030  MainFrame extends org.jsampler.view.JSMa Line 1049  MainFrame extends org.jsampler.view.JSMa
1049                  checkTabSelection();                  checkTabSelection();
1050          }          }
1051                    
1052            @Override
1053          public void          public void
1054          valueChanged(ListSelectionEvent e) {          valueChanged(ListSelectionEvent e) {
1055                  if(e.getValueIsAdjusting()) return;                  if(e.getValueIsAdjusting()) return;
# Line 1178  MainFrame extends org.jsampler.view.JSMa Line 1198  MainFrame extends org.jsampler.view.JSMa
1198                  recentScriptsMenu.setEnabled(recentScripts.size() != 0);                  recentScriptsMenu.setEnabled(recentScripts.size() != 0);
1199          }          }
1200                    
1201            @Override
1202          public void          public void
1203          installJSamplerHome() {          installJSamplerHome() {
1204                  JSamplerHomeChooser chooser = new JSamplerHomeChooser(this);                  JSamplerHomeChooser chooser = new JSamplerHomeChooser(this);
# Line 1187  MainFrame extends org.jsampler.view.JSMa Line 1208  MainFrame extends org.jsampler.view.JSMa
1208                  CC.changeJSamplerHome(chooser.getJSamplerHome());                  CC.changeJSamplerHome(chooser.getJSamplerHome());
1209          }          }
1210                    
1211            @Override
1212          public void          public void
1213          showDetailedErrorMessage(Frame owner, String err, String details) {          showDetailedErrorMessage(Frame owner, String err, String details) {
1214                  JSDetailedErrorDlg dlg = new JSDetailedErrorDlg (                  JSDetailedErrorDlg dlg = new JSDetailedErrorDlg (
# Line 1195  MainFrame extends org.jsampler.view.JSMa Line 1217  MainFrame extends org.jsampler.view.JSMa
1217                  dlg.setVisible(true);                  dlg.setVisible(true);
1218          }          }
1219                    
1220            @Override
1221          public void          public void
1222          showDetailedErrorMessage(Dialog owner, String err, String details) {          showDetailedErrorMessage(Dialog owner, String err, String details) {
1223                  JSDetailedErrorDlg dlg = new JSDetailedErrorDlg (                  JSDetailedErrorDlg dlg = new JSDetailedErrorDlg (
# Line 1202  MainFrame extends org.jsampler.view.JSMa Line 1225  MainFrame extends org.jsampler.view.JSMa
1225                  );                  );
1226                  dlg.setVisible(true);                  dlg.setVisible(true);
1227          }          }
1228            
1229            /**
1230             * Gets the server address to which to connect. If the server should be
1231             * manually selected, a dialog asking the user to choose a server is displayed.
1232             */
1233            @Override
1234            public Server
1235            getServer() {
1236                    boolean b = preferences().getBoolProperty(MANUAL_SERVER_SELECT_ON_STARTUP);
1237                    return getServer(b);
1238            }
1239            
1240            /**
1241             * Gets the server address to which to connect. If the server should be
1242             * manually selected, a dialog asking the user to choose a server is displayed.
1243             * @param manualSelect Determines whether the server should be manually selected.
1244             */
1245            @Override
1246            public Server
1247            getServer(boolean manualSelect) {
1248                    if(manualSelect) {
1249                            JSConnectDlg dlg = new JSConnectDlg();
1250                            dlg.setVisible(true);
1251                            return dlg.getSelectedServer();
1252                    }
1253                    
1254                    int i = preferences().getIntProperty(SERVER_INDEX);
1255                    int size = CC.getServerList().getServerCount();
1256                    if(size == 0) return null;
1257                    if(i >= size) return CC.getServerList().getServer(0);
1258                    
1259                    return CC.getServerList().getServer(i);
1260            }
1261  }  }

Legend:
Removed from v.1496  
changed lines
  Added in v.1785

  ViewVC Help
Powered by ViewVC