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