file format enum wip changes
[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
27 import java.awt.FlowLayout;
28 import java.awt.Toolkit;
29 import java.awt.event.ActionEvent;
30 import java.awt.event.ActionListener;
31
32 import javax.swing.JCheckBoxMenuItem;
33 import javax.swing.JFrame;
34 import javax.swing.JMenu;
35 import javax.swing.JMenuBar;
36 import javax.swing.JMenuItem;
37
38 /**
39  * DOCUMENT ME!
40  * 
41  * @author $author$
42  * @version $Revision$
43  */
44 public class GDesktop extends JFrame
45 {
46   protected static JMenu windowMenu = new JMenu();
47
48   JMenuBar desktopMenubar = new JMenuBar();
49
50   JMenu FileMenu = new JMenu();
51
52   JMenu HelpMenu = new JMenu();
53
54   protected JMenu VamsasMenu = new JMenu();
55
56   protected JMenu VamsasStMenu = new JMenu();
57
58   JMenuItem inputLocalFileMenuItem = new JMenuItem();
59
60   JMenuItem inputURLMenuItem = new JMenuItem();
61
62   JMenuItem inputTextboxMenuItem = new JMenuItem();
63
64   JMenuItem quit = new JMenuItem();
65
66   JMenuItem aboutMenuItem = new JMenuItem();
67
68   JMenuItem documentationMenuItem = new JMenuItem();
69
70   FlowLayout flowLayout1 = new FlowLayout();
71
72   protected JMenu toolsMenu = new JMenu();
73
74   JMenuItem preferences = new JMenuItem();
75
76   JMenuItem saveState = new JMenuItem();
77
78   JMenuItem loadState = new JMenuItem();
79
80   JMenu inputMenu = new JMenu();
81
82   protected JMenuItem vamsasStart = new JMenuItem();
83
84   protected JMenuItem vamsasImport = new JMenuItem();
85
86   protected JMenuItem vamsasSave = new JMenuItem();
87
88   JMenuItem inputSequence = new JMenuItem();
89
90   protected JMenuItem vamsasStop = new JMenuItem();
91
92   JMenuItem closeAll = new JMenuItem();
93
94   JMenuItem raiseRelated = new JMenuItem();
95
96   JMenuItem minimizeAssociated = new JMenuItem();
97
98   protected JCheckBoxMenuItem showMemusage = new JCheckBoxMenuItem();
99
100   JMenuItem garbageCollect = new JMenuItem();
101
102   protected JCheckBoxMenuItem showConsole = new JCheckBoxMenuItem();
103
104   protected JCheckBoxMenuItem showNews = new JCheckBoxMenuItem();
105
106   protected JMenuItem snapShotWindow = new JMenuItem();
107
108   /**
109    * Creates a new GDesktop object.
110    */
111   public GDesktop()
112   {
113     try
114     {
115       jbInit();
116       this.setJMenuBar(desktopMenubar);
117     } catch (Exception e)
118     {
119       e.printStackTrace();
120     }
121
122     if (!new jalview.util.Platform().isAMac())
123     {
124       FileMenu.setMnemonic('F');
125       inputLocalFileMenuItem.setMnemonic('L');
126       VamsasMenu.setMnemonic('V');
127       inputURLMenuItem.setMnemonic('U');
128       inputTextboxMenuItem.setMnemonic('C');
129       quit.setMnemonic('Q');
130       saveState.setMnemonic('S');
131       loadState.setMnemonic('L');
132       inputMenu.setMnemonic('I');
133     }
134   }
135
136   /**
137    * DOCUMENT ME!
138    * 
139    * @throws Exception
140    *           DOCUMENT ME!
141    */
142   private void jbInit() throws Exception
143   {
144
145     FileMenu.setText(MessageManager.getString("action.file"));
146     HelpMenu.setText(MessageManager.getString("action.help"));
147     VamsasMenu.setText("Vamsas");
148     VamsasMenu.setToolTipText(MessageManager
149             .getString("label.share_data_vamsas_applications"));
150     VamsasStMenu.setText(MessageManager.getString("label.connect_to"));
151     VamsasStMenu.setToolTipText(MessageManager
152             .getString("label.join_existing_vamsas_session"));
153     inputLocalFileMenuItem.setText(MessageManager
154             .getString("label.load_tree_from_file"));
155     inputLocalFileMenuItem.setAccelerator(javax.swing.KeyStroke
156             .getKeyStroke(java.awt.event.KeyEvent.VK_O, Toolkit
157                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
158     inputLocalFileMenuItem
159             .addActionListener(new java.awt.event.ActionListener()
160             {
161               @Override
162               public void actionPerformed(ActionEvent e)
163               {
164                 inputLocalFileMenuItem_actionPerformed(null);
165               }
166             });
167     inputURLMenuItem.setText(MessageManager.getString("label.from_url"));
168     inputURLMenuItem.addActionListener(new java.awt.event.ActionListener()
169     {
170       @Override
171       public void actionPerformed(ActionEvent e)
172       {
173         try
174         {
175           inputURLMenuItem_actionPerformed(null);
176         } catch (FileFormatException e1)
177         {
178           System.err.println("Error loading from URL: " + e1.getMessage());
179         }
180       }
181     });
182     inputTextboxMenuItem.setText(MessageManager
183             .getString("label.from_textbox"));
184     inputTextboxMenuItem
185             .addActionListener(new java.awt.event.ActionListener()
186             {
187               @Override
188               public void actionPerformed(ActionEvent e)
189               {
190                 inputTextboxMenuItem_actionPerformed(null);
191               }
192             });
193     quit.setText(MessageManager.getString("action.quit"));
194     quit.addActionListener(new java.awt.event.ActionListener()
195     {
196       @Override
197       public void actionPerformed(ActionEvent e)
198       {
199         quit();
200       }
201     });
202     aboutMenuItem.setText(MessageManager.getString("label.about"));
203     aboutMenuItem.addActionListener(new java.awt.event.ActionListener()
204     {
205       @Override
206       public void actionPerformed(ActionEvent e)
207       {
208         aboutMenuItem_actionPerformed(e);
209       }
210     });
211     documentationMenuItem.setText(MessageManager
212             .getString("label.documentation"));
213     documentationMenuItem.setAccelerator(javax.swing.KeyStroke
214             .getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0, false));
215     documentationMenuItem
216             .addActionListener(new java.awt.event.ActionListener()
217             {
218               @Override
219               public void actionPerformed(ActionEvent e)
220               {
221                 documentationMenuItem_actionPerformed(e);
222               }
223             });
224     this.getContentPane().setLayout(flowLayout1);
225     windowMenu.setText(MessageManager.getString("label.window"));
226     preferences.setText(MessageManager.getString("label.preferences"));
227     preferences.addActionListener(new ActionListener()
228     {
229       @Override
230       public void actionPerformed(ActionEvent e)
231       {
232         preferences_actionPerformed(e);
233       }
234     });
235     toolsMenu.setText(MessageManager.getString("label.tools"));
236     saveState.setText(MessageManager.getString("action.save_project"));
237     saveState.addActionListener(new ActionListener()
238     {
239       @Override
240       public void actionPerformed(ActionEvent e)
241       {
242         saveState_actionPerformed(e);
243       }
244     });
245     loadState.setText(MessageManager.getString("action.load_project"));
246     loadState.addActionListener(new ActionListener()
247     {
248       @Override
249       public void actionPerformed(ActionEvent e)
250       {
251         loadState_actionPerformed(e);
252       }
253     });
254     inputMenu.setText(MessageManager.getString("label.input_alignment"));
255     vamsasStart.setText(MessageManager
256             .getString("label.new_vamsas_session"));
257     vamsasStart.setVisible(false);
258     vamsasStart.addActionListener(new ActionListener()
259     {
260       @Override
261       public void actionPerformed(ActionEvent e)
262       {
263         vamsasStart_actionPerformed(e);
264       }
265     });
266     vamsasImport.setText(MessageManager
267             .getString("action.load_vamsas_session"));
268     vamsasImport.setVisible(false);
269     vamsasImport.addActionListener(new ActionListener()
270     {
271       @Override
272       public void actionPerformed(ActionEvent e)
273       {
274         vamsasImport_actionPerformed(e);
275       }
276     });
277     vamsasSave.setText(MessageManager
278             .getString("action.save_vamsas_session"));
279     vamsasSave.setVisible(false);
280     vamsasSave.addActionListener(new ActionListener()
281     {
282       @Override
283       public void actionPerformed(ActionEvent e)
284       {
285         vamsasSave_actionPerformed(e);
286       }
287     });
288     inputSequence.setText(MessageManager
289             .getString("action.fetch_sequences"));
290     inputSequence.addActionListener(new ActionListener()
291     {
292       @Override
293       public void actionPerformed(ActionEvent e)
294       {
295         inputSequence_actionPerformed(e);
296       }
297     });
298     vamsasStop.setText(MessageManager
299             .getString("label.stop_vamsas_session"));
300     vamsasStop.setVisible(false);
301     vamsasStop.addActionListener(new ActionListener()
302     {
303       @Override
304       public void actionPerformed(ActionEvent e)
305       {
306         vamsasStop_actionPerformed(e);
307       }
308     });
309     closeAll.setText(MessageManager.getString("action.close_all"));
310     closeAll.addActionListener(new ActionListener()
311     {
312       @Override
313       public void actionPerformed(ActionEvent e)
314       {
315         closeAll_actionPerformed(e);
316       }
317     });
318     raiseRelated.setText(MessageManager
319             .getString("action.raise_associated_windows"));
320     raiseRelated.addActionListener(new ActionListener()
321     {
322       @Override
323       public void actionPerformed(ActionEvent e)
324       {
325         raiseRelated_actionPerformed(e);
326       }
327     });
328     minimizeAssociated.setText(MessageManager
329             .getString("action.minimize_associated_windows"));
330     minimizeAssociated.addActionListener(new ActionListener()
331     {
332       @Override
333       public void actionPerformed(ActionEvent e)
334       {
335         minimizeAssociated_actionPerformed(e);
336       }
337     });
338     garbageCollect.setText(MessageManager
339             .getString("label.collect_garbage"));
340     garbageCollect.addActionListener(new ActionListener()
341     {
342       @Override
343       public void actionPerformed(ActionEvent e)
344       {
345         garbageCollect_actionPerformed(e);
346       }
347     });
348     showMemusage.setText(MessageManager
349             .getString("label.show_memory_usage"));
350     showMemusage.addActionListener(new ActionListener()
351     {
352       @Override
353       public void actionPerformed(ActionEvent e)
354       {
355         showMemusage_actionPerformed(e);
356       }
357     });
358     showConsole
359             .setText(MessageManager.getString("label.show_java_console"));
360     showConsole.addActionListener(new ActionListener()
361     {
362       @Override
363       public void actionPerformed(ActionEvent e)
364       {
365         showConsole_actionPerformed(e);
366       }
367     });
368     showNews.setText(MessageManager.getString("label.show_jalview_news"));
369     showNews.addActionListener(new ActionListener()
370     {
371       @Override
372       public void actionPerformed(ActionEvent e)
373       {
374         showNews_actionPerformed(e);
375       }
376     });
377     snapShotWindow.setText(MessageManager.getString("label.take_snapshot"));
378     snapShotWindow.addActionListener(new ActionListener()
379     {
380       @Override
381       public void actionPerformed(ActionEvent e)
382       {
383         snapShotWindow_actionPerformed(e);
384       }
385     });
386
387     desktopMenubar.add(FileMenu);
388     desktopMenubar.add(toolsMenu);
389     VamsasMenu.setVisible(false);
390     desktopMenubar.add(VamsasMenu);
391     desktopMenubar.add(HelpMenu);
392     desktopMenubar.add(windowMenu);
393     FileMenu.add(inputMenu);
394     FileMenu.add(inputSequence);
395     FileMenu.addSeparator();
396     FileMenu.add(saveState);
397     FileMenu.add(loadState);
398     FileMenu.addSeparator();
399     FileMenu.add(quit);
400     HelpMenu.add(aboutMenuItem);
401     HelpMenu.add(documentationMenuItem);
402     VamsasMenu.add(VamsasStMenu);
403     VamsasStMenu.setVisible(false);
404     VamsasMenu.add(vamsasStart);
405     VamsasMenu.add(vamsasImport);
406     VamsasMenu.add(vamsasSave);
407     VamsasMenu.add(vamsasStop);
408     toolsMenu.add(preferences);
409     toolsMenu.add(showMemusage);
410     toolsMenu.add(showConsole);
411     toolsMenu.add(showNews);
412     toolsMenu.add(garbageCollect);
413     // toolsMenu.add(snapShotWindow);
414     inputMenu.add(inputLocalFileMenuItem);
415     inputMenu.add(inputURLMenuItem);
416     inputMenu.add(inputTextboxMenuItem);
417     windowMenu.add(closeAll);
418     windowMenu.add(raiseRelated);
419     windowMenu.add(minimizeAssociated);
420     windowMenu.addSeparator();
421     // inputMenu.add(vamsasLoad);
422   }
423
424   protected void snapShotWindow_actionPerformed(ActionEvent e)
425   {
426     // TODO Auto-generated method stub
427
428   }
429
430   protected void showConsole_actionPerformed(ActionEvent e)
431   {
432     // TODO Auto-generated method stub
433
434   }
435
436   protected void showNews_actionPerformed(ActionEvent e)
437   {
438     // TODO Auto-generated method stub
439
440   }
441
442   protected void showMemusage_actionPerformed(ActionEvent e)
443   {
444     // TODO Auto-generated method stub
445
446   }
447
448   protected void garbageCollect_actionPerformed(ActionEvent e)
449   {
450     // TODO Auto-generated method stub
451
452   }
453
454   protected void vamsasStMenu_actionPerformed()
455   {
456   }
457
458   public void vamsasSave_actionPerformed(ActionEvent e)
459   {
460   }
461
462   /**
463    * DOCUMENT ME!
464    * 
465    * @param e
466    *          DOCUMENT ME!
467    */
468   protected void inputLocalFileMenuItem_actionPerformed(
469           jalview.gui.AlignViewport av)
470   {
471   }
472
473   /**
474    * DOCUMENT ME!
475    * 
476    * @param e
477    *          DOCUMENT ME!
478    * @throws FileFormatException
479    */
480   protected void inputURLMenuItem_actionPerformed(
481           jalview.gui.AlignViewport av) throws FileFormatException
482   {
483   }
484
485   /**
486    * DOCUMENT ME!
487    * 
488    * @param e
489    *          DOCUMENT ME!
490    */
491   protected void inputTextboxMenuItem_actionPerformed(AlignmentViewPanel avp)
492   {
493   }
494
495   /**
496    * DOCUMENT ME!
497    */
498   protected void quit()
499   {
500   }
501
502   /**
503    * DOCUMENT ME!
504    * 
505    * @param e
506    *          DOCUMENT ME!
507    */
508   protected void aboutMenuItem_actionPerformed(ActionEvent e)
509   {
510   }
511
512   /**
513    * DOCUMENT ME!
514    * 
515    * @param e
516    *          DOCUMENT ME!
517    */
518   protected void documentationMenuItem_actionPerformed(ActionEvent e)
519   {
520   }
521
522   /**
523    * DOCUMENT ME!
524    * 
525    * @param e
526    *          DOCUMENT ME!
527    */
528   public void SaveState_actionPerformed(ActionEvent e)
529   {
530   }
531
532   /**
533    * DOCUMENT ME!
534    * 
535    * @param e
536    *          DOCUMENT ME!
537    */
538   protected void preferences_actionPerformed(ActionEvent e)
539   {
540   }
541
542   /**
543    * DOCUMENT ME!
544    * 
545    * @param e
546    *          DOCUMENT ME!
547    */
548   public void saveState_actionPerformed(ActionEvent e)
549   {
550   }
551
552   /**
553    * DOCUMENT ME!
554    * 
555    * @param e
556    *          DOCUMENT ME!
557    */
558   public void loadState_actionPerformed(ActionEvent e)
559   {
560   }
561
562   /**
563    * DOCUMENT ME!
564    * 
565    * @param e
566    *          DOCUMENT ME!
567    */
568   public void loadJalviewAlign_actionPerformed(ActionEvent e)
569   {
570   }
571
572   public void vamsasStart_actionPerformed(ActionEvent e)
573   {
574
575   }
576
577   public void inputSequence_actionPerformed(ActionEvent e)
578   {
579
580   }
581
582   public void vamsasStop_actionPerformed(ActionEvent e)
583   {
584
585   }
586
587   public void closeAll_actionPerformed(ActionEvent e)
588   {
589
590   }
591
592   public void raiseRelated_actionPerformed(ActionEvent e)
593   {
594
595   }
596
597   public void minimizeAssociated_actionPerformed(ActionEvent e)
598   {
599
600   }
601
602   public void vamsasImport_actionPerformed(ActionEvent e)
603   {
604   }
605 }