j2sNative clean-up. Fixes problem with second try of sequence fetching
[jalview.git] / src / jalview / jbgui / GDesktop.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21 package jalview.jbgui;
22
23 import jalview.api.AlignmentViewPanel;
24 import jalview.io.FileFormatException;
25 import jalview.util.MessageManager;
26 import jalview.util.Platform;
27
28 import java.awt.FlowLayout;
29 import java.awt.Toolkit;
30 import java.awt.event.ActionEvent;
31 import java.awt.event.ActionListener;
32
33 import javax.swing.JCheckBoxMenuItem;
34 import javax.swing.JFrame;
35 import javax.swing.JMenu;
36 import javax.swing.JMenuBar;
37 import javax.swing.JMenuItem;
38
39 /**
40  * DOCUMENT ME!
41  * 
42  * @author $author$
43  * @version $Revision$
44  */
45 @SuppressWarnings("serial")
46 public class GDesktop extends JFrame
47 {
48
49   protected static JMenu windowMenu = new JMenu();
50
51   JMenuBar desktopMenubar = new JMenuBar();
52
53   JMenu FileMenu = new JMenu();
54
55   JMenu HelpMenu = new JMenu();
56
57   protected JMenu VamsasMenu = new JMenu();
58
59   protected JMenu VamsasStMenu = new JMenu();
60
61   JMenuItem inputLocalFileMenuItem = new JMenuItem();
62
63   JMenuItem inputURLMenuItem = new JMenuItem();
64
65   JMenuItem inputTextboxMenuItem = new JMenuItem();
66
67   JMenuItem quit = new JMenuItem();
68
69   JMenuItem aboutMenuItem = new JMenuItem();
70
71   JMenuItem documentationMenuItem = new JMenuItem();
72
73   FlowLayout flowLayout1 = new FlowLayout();
74
75   protected JMenu toolsMenu = new JMenu();
76
77   JMenuItem preferences = new JMenuItem();
78
79   JMenuItem saveState = new JMenuItem();
80
81   JMenuItem saveAsState = new JMenuItem();
82
83   JMenuItem loadState = new JMenuItem();
84
85   JMenu inputMenu = new JMenu();
86
87   protected JMenuItem vamsasStart = new JMenuItem();
88
89   protected JMenuItem vamsasImport = new JMenuItem();
90
91   protected JMenuItem vamsasSave = new JMenuItem();
92
93   JMenuItem inputSequence = new JMenuItem();
94
95   protected JMenuItem vamsasStop = new JMenuItem();
96
97   JMenuItem closeAll = new JMenuItem();
98
99   JMenuItem raiseRelated = new JMenuItem();
100
101   JMenuItem minimizeAssociated = new JMenuItem();
102
103   protected JCheckBoxMenuItem showMemusage = new JCheckBoxMenuItem();
104
105   JMenuItem garbageCollect = new JMenuItem();
106
107   protected JMenuItem groovyShell;
108
109   protected JCheckBoxMenuItem experimentalFeatures;
110
111   protected JCheckBoxMenuItem showConsole = new JCheckBoxMenuItem();
112
113   protected JCheckBoxMenuItem showNews = new JCheckBoxMenuItem();
114
115   protected JMenuItem snapShotWindow = new JMenuItem();
116
117   /**
118    * Creates a new GDesktop object.
119    */
120   public GDesktop()
121   {
122     super();
123     try
124     {
125       jbInit();
126       this.setJMenuBar(desktopMenubar);
127     } catch (Exception e)
128     {
129       e.printStackTrace();
130     }
131
132     if (Platform.allowMnemonics()) 
133     {
134         //BH was !Platform.isAMacAndNotJS()) i.e. "JS or not Mac"
135         // but here we want just not a Mac, period, right?
136       FileMenu.setMnemonic('F');
137       inputLocalFileMenuItem.setMnemonic('L');
138       VamsasMenu.setMnemonic('V'); 
139       inputURLMenuItem.setMnemonic('U');
140       inputTextboxMenuItem.setMnemonic('C');
141       quit.setMnemonic('Q');
142       saveState.setMnemonic('S');
143       loadState.setMnemonic('L');
144       inputMenu.setMnemonic('I');
145     }
146   }
147
148   /**
149    * DOCUMENT ME!
150    * 
151    * @throws Exception
152    *           DOCUMENT ME!
153    */
154   private void jbInit() throws Exception
155   {
156     setName("jalview-desktop");
157     FileMenu.setText(MessageManager.getString("action.file"));
158     HelpMenu.setText(MessageManager.getString("action.help"));
159     VamsasMenu.setText("Vamsas");
160     VamsasMenu.setToolTipText(MessageManager
161             .getString("label.share_data_vamsas_applications"));
162     VamsasStMenu.setText(MessageManager.getString("label.connect_to"));
163     VamsasStMenu.setToolTipText(
164             MessageManager.getString("label.join_existing_vamsas_session"));
165     inputLocalFileMenuItem
166             .setText(MessageManager.getString("label.load_tree_from_file"));
167     inputLocalFileMenuItem.setAccelerator(
168             javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O,
169                     Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(),
170                     false));
171     inputLocalFileMenuItem
172             .addActionListener(new java.awt.event.ActionListener()
173             {
174               @Override
175               public void actionPerformed(ActionEvent e)
176               {
177                 inputLocalFileMenuItem_actionPerformed(null);
178               }
179             });
180     inputURLMenuItem.setText(MessageManager.getString("label.from_url"));
181     inputURLMenuItem.addActionListener(new java.awt.event.ActionListener()
182     {
183       @Override
184       public void actionPerformed(ActionEvent e)
185       {
186         try
187         {
188           inputURLMenuItem_actionPerformed(null);
189         } catch (FileFormatException e1)
190         {
191           System.err.println("Error loading from URL: " + e1.getMessage());
192         }
193       }
194     });
195     inputTextboxMenuItem
196             .setText(MessageManager.getString("label.from_textbox"));
197     inputTextboxMenuItem
198             .addActionListener(new java.awt.event.ActionListener()
199             {
200               @Override
201               public void actionPerformed(ActionEvent e)
202               {
203                 inputTextboxMenuItem_actionPerformed(null);
204               }
205             });
206     quit.setText(MessageManager.getString("action.quit"));
207     quit.addActionListener(new java.awt.event.ActionListener()
208     {
209       @Override
210       public void actionPerformed(ActionEvent e)
211       {
212         quit();
213       }
214     });
215     aboutMenuItem.setText(MessageManager.getString("label.about"));
216     aboutMenuItem.addActionListener(new java.awt.event.ActionListener()
217     {
218       @Override
219       public void actionPerformed(ActionEvent e)
220       {
221         aboutMenuItem_actionPerformed(e);
222       }
223     });
224     documentationMenuItem
225             .setText(MessageManager.getString("label.documentation"));
226     documentationMenuItem.setAccelerator(javax.swing.KeyStroke
227             .getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0, false));
228     documentationMenuItem
229             .addActionListener(new java.awt.event.ActionListener()
230             {
231               @Override
232               public void actionPerformed(ActionEvent e)
233               {
234                 documentationMenuItem_actionPerformed();
235               }
236             });
237     this.getContentPane().setLayout(flowLayout1);
238     windowMenu.setText(MessageManager.getString("label.window"));
239     preferences.setText(MessageManager.getString("label.preferences"));
240     preferences.addActionListener(new ActionListener()
241     {
242       @Override
243       public void actionPerformed(ActionEvent e)
244       {
245         preferences_actionPerformed(e);
246       }
247     });
248     toolsMenu.setText(MessageManager.getString("label.tools"));
249     saveState.setText(MessageManager.getString("action.save_project"));
250     saveState.addActionListener(new ActionListener()
251     {
252       @Override
253       public void actionPerformed(ActionEvent e)
254       {
255         saveState_actionPerformed();
256       }
257     });
258     saveAsState.setText(MessageManager.getString("action.save_project_as"));
259     saveAsState.addActionListener(new ActionListener()
260     {
261       @Override
262       public void actionPerformed(ActionEvent e)
263       {
264         saveAsState_actionPerformed(e);
265       }
266     });
267     loadState.setText(MessageManager.getString("action.load_project"));
268     loadState.addActionListener(new ActionListener()
269     {
270       @Override
271       public void actionPerformed(ActionEvent e)
272       {
273         loadState_actionPerformed();
274       }
275     });
276     inputMenu.setText(MessageManager.getString("label.input_alignment"));
277     vamsasStart
278             .setText(MessageManager.getString("label.new_vamsas_session"));
279     vamsasStart.setVisible(false);
280     vamsasStart.addActionListener(new ActionListener()
281     {
282       @Override
283       public void actionPerformed(ActionEvent e)
284       {
285         vamsasStart_actionPerformed(e);
286       }
287     });
288     vamsasImport.setText(
289             MessageManager.getString("action.load_vamsas_session"));
290     vamsasImport.setVisible(false);
291     vamsasImport.addActionListener(new ActionListener()
292     {
293       @Override
294       public void actionPerformed(ActionEvent e)
295       {
296         vamsasImport_actionPerformed(e);
297       }
298     });
299     vamsasSave.setText(
300             MessageManager.getString("action.save_vamsas_session"));
301     vamsasSave.setVisible(false);
302     vamsasSave.addActionListener(new ActionListener()
303     {
304       @Override
305       public void actionPerformed(ActionEvent e)
306       {
307         vamsasSave_actionPerformed(e);
308       }
309     });
310     inputSequence
311             .setText(MessageManager.getString("action.fetch_sequences"));
312     inputSequence.addActionListener(new ActionListener()
313     {
314       @Override
315       public void actionPerformed(ActionEvent e)
316       {
317         inputSequence_actionPerformed(e);
318       }
319     });
320     vamsasStop
321             .setText(MessageManager.getString("label.stop_vamsas_session"));
322     vamsasStop.setVisible(false);
323     vamsasStop.addActionListener(new ActionListener()
324     {
325       @Override
326       public void actionPerformed(ActionEvent e)
327       {
328         vamsasStop_actionPerformed(e);
329       }
330     });
331     closeAll.setText(MessageManager.getString("action.close_all"));
332     closeAll.addActionListener(new ActionListener()
333     {
334       @Override
335       public void actionPerformed(ActionEvent e)
336       {
337         closeAll_actionPerformed(e);
338       }
339     });
340     raiseRelated.setText(
341             MessageManager.getString("action.raise_associated_windows"));
342     raiseRelated.addActionListener(new ActionListener()
343     {
344       @Override
345       public void actionPerformed(ActionEvent e)
346       {
347         raiseRelated_actionPerformed(e);
348       }
349     });
350     minimizeAssociated.setText(
351             MessageManager.getString("action.minimize_associated_windows"));
352     minimizeAssociated.addActionListener(new ActionListener()
353     {
354       @Override
355       public void actionPerformed(ActionEvent e)
356       {
357         minimizeAssociated_actionPerformed(e);
358       }
359     });
360     garbageCollect
361             .setText(MessageManager.getString("label.collect_garbage"));
362     garbageCollect.addActionListener(new ActionListener()
363     {
364       @Override
365       public void actionPerformed(ActionEvent e)
366       {
367         garbageCollect_actionPerformed(e);
368       }
369     });
370     showMemusage
371             .setText(MessageManager.getString("label.show_memory_usage"));
372     showMemusage.addActionListener(new ActionListener()
373     {
374       @Override
375       public void actionPerformed(ActionEvent e)
376       {
377         showMemusage_actionPerformed(e);
378       }
379     });
380     showConsole
381             .setText(MessageManager.getString("label.show_java_console"));
382     showConsole.addActionListener(new ActionListener()
383     {
384       @Override
385       public void actionPerformed(ActionEvent e)
386       {
387         showConsole_actionPerformed(e);
388       }
389     });
390     showNews.setText(MessageManager.getString("label.show_jalview_news"));
391     showNews.addActionListener(new ActionListener()
392     {
393       @Override
394       public void actionPerformed(ActionEvent e)
395       {
396         showNews_actionPerformed(e);
397       }
398     });
399     groovyShell = new JMenuItem();
400     groovyShell.setText(MessageManager.getString("label.groovy_console"));
401     groovyShell.addActionListener(new ActionListener()
402     {
403       @Override
404       public void actionPerformed(ActionEvent e)
405       {
406         groovyShell_actionPerformed();
407       }
408     });
409     experimentalFeatures = new JCheckBoxMenuItem();
410     experimentalFeatures
411             .setText(MessageManager.getString("label.show_experimental"));
412     experimentalFeatures.setToolTipText(
413             MessageManager.getString("label.show_experimental_tip"));
414     experimentalFeatures.addActionListener(new ActionListener()
415     {
416       @Override
417       public void actionPerformed(ActionEvent e)
418       {
419         showExperimental_actionPerformed(experimentalFeatures.isSelected());
420       }
421     });
422
423     snapShotWindow.setText(MessageManager.getString("label.take_snapshot"));
424     snapShotWindow.addActionListener(new ActionListener()
425     {
426       @Override
427       public void actionPerformed(ActionEvent e)
428       {
429         snapShotWindow_actionPerformed(e);
430       }
431     });
432
433     desktopMenubar.add(FileMenu);
434     desktopMenubar.add(toolsMenu);
435     VamsasMenu.setVisible(false);
436     desktopMenubar.add(VamsasMenu);
437     desktopMenubar.add(HelpMenu);
438     desktopMenubar.add(windowMenu);
439     FileMenu.add(inputMenu);
440     FileMenu.add(inputSequence);
441     FileMenu.addSeparator();
442     FileMenu.add(saveState);
443     FileMenu.add(saveAsState);
444     FileMenu.add(loadState);
445     FileMenu.addSeparator();
446     FileMenu.add(quit);
447     HelpMenu.add(aboutMenuItem);
448     HelpMenu.add(documentationMenuItem);
449     VamsasMenu.add(VamsasStMenu);
450     VamsasStMenu.setVisible(false);
451     VamsasMenu.add(vamsasStart);
452     VamsasMenu.add(vamsasImport);
453     VamsasMenu.add(vamsasSave);
454     VamsasMenu.add(vamsasStop);
455     toolsMenu.add(preferences);
456     if (!Platform.isJS())
457     {
458       toolsMenu.add(showMemusage);
459       toolsMenu.add(showConsole);
460     }
461     if (!Platform.isJS())
462     {
463       toolsMenu.add(showNews);
464       toolsMenu.add(garbageCollect);
465       toolsMenu.add(groovyShell);
466     }
467     toolsMenu.add(experimentalFeatures);
468     // toolsMenu.add(snapShotWindow);
469     inputMenu.add(inputLocalFileMenuItem);
470     inputMenu.add(inputURLMenuItem);
471     inputMenu.add(inputTextboxMenuItem);
472     windowMenu.add(closeAll);
473     windowMenu.add(raiseRelated);
474     windowMenu.add(minimizeAssociated);
475     windowMenu.addSeparator();
476     // inputMenu.add(vamsasLoad);
477   }
478
479   protected void showExperimental_actionPerformed(boolean selected)
480   {
481   }
482
483   protected void groovyShell_actionPerformed()
484   {
485   }
486
487   protected void snapShotWindow_actionPerformed(ActionEvent e)
488   {
489     // TODO Auto-generated method stub
490
491   }
492
493   protected void showConsole_actionPerformed(ActionEvent e)
494   {
495     // TODO Auto-generated method stub
496
497   }
498
499   protected void showNews_actionPerformed(ActionEvent e)
500   {
501     // TODO Auto-generated method stub
502
503   }
504
505   protected void showMemusage_actionPerformed(ActionEvent e)
506   {
507     // TODO Auto-generated method stub
508
509   }
510
511   protected void garbageCollect_actionPerformed(ActionEvent e)
512   {
513     // TODO Auto-generated method stub
514
515   }
516
517   protected void vamsasStMenu_actionPerformed()
518   {
519   }
520
521   public void vamsasSave_actionPerformed(ActionEvent e)
522   {
523   }
524
525   /**
526    * DOCUMENT ME!
527    * 
528    * @param e
529    *          DOCUMENT ME!
530    */
531   protected void inputLocalFileMenuItem_actionPerformed(
532           jalview.gui.AlignViewport av)
533   {
534   }
535
536   /**
537    * DOCUMENT ME!
538    * 
539    * @param e
540    *          DOCUMENT ME!
541    * @throws FileFormatException
542    */
543   protected void inputURLMenuItem_actionPerformed(
544           jalview.gui.AlignViewport av) throws FileFormatException
545   {
546   }
547
548   /**
549    * DOCUMENT ME!
550    * 
551    * @param e
552    *          DOCUMENT ME!
553    */
554   protected void inputTextboxMenuItem_actionPerformed(
555           AlignmentViewPanel avp)
556   {
557   }
558
559   /**
560    * DOCUMENT ME!
561    */
562   protected void quit()
563   {
564   }
565
566   /**
567    * DOCUMENT ME!
568    * 
569    * @param e
570    *          DOCUMENT ME!
571    */
572   protected void aboutMenuItem_actionPerformed(ActionEvent e)
573   {
574   }
575
576   protected void documentationMenuItem_actionPerformed()
577   {
578   }
579
580   /**
581    * DOCUMENT ME!
582    * 
583    * @param e
584    *          DOCUMENT ME!
585    */
586   protected void preferences_actionPerformed(ActionEvent e)
587   {
588   }
589
590   /**
591    * DOCUMENT ME!
592    * 
593    * @param e
594    *          DOCUMENT ME!
595    */
596   public void saveState_actionPerformed()
597   {
598   }
599
600   public void saveAsState_actionPerformed(ActionEvent e)
601   {
602   }
603
604   /**
605    * DOCUMENT ME!
606    * 
607    * @param e
608    *          DOCUMENT ME!
609    */
610   public void loadState_actionPerformed()
611   {
612   }
613
614   /**
615    * DOCUMENT ME!
616    * 
617    * @param e
618    *          DOCUMENT ME!
619    */
620   public void loadJalviewAlign_actionPerformed(ActionEvent e)
621   {
622   }
623
624   public void vamsasStart_actionPerformed(ActionEvent e)
625   {
626
627   }
628
629   public void inputSequence_actionPerformed(ActionEvent e)
630   {
631
632   }
633
634   public void vamsasStop_actionPerformed(ActionEvent e)
635   {
636
637   }
638
639   public void closeAll_actionPerformed(ActionEvent e)
640   {
641
642   }
643
644   public void raiseRelated_actionPerformed(ActionEvent e)
645   {
646
647   }
648
649   public void minimizeAssociated_actionPerformed(ActionEvent e)
650   {
651
652   }
653
654   public void vamsasImport_actionPerformed(ActionEvent e)
655   {
656   }
657 }