update author list in license for (JAL-826)
[jalview.git] / src / jalview / jbgui / GDesktop.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7)
3  * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle
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 of the License, or (at your option) any later version.
10  * 
11  * Jalview is distributed in the hope that it will be useful, but 
12  * WITHOUT ANY WARRANTY; without even the implied warranty 
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
14  * PURPOSE.  See the GNU General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 package jalview.jbgui;
19
20 import java.awt.*;
21 import java.awt.event.*;
22
23 import javax.swing.*;
24
25 /**
26  * DOCUMENT ME!
27  * 
28  * @author $author$
29  * @version $Revision$
30  */
31 public class GDesktop extends JFrame
32 {
33   protected static JMenu windowMenu = new JMenu();
34
35   JMenuBar desktopMenubar = new JMenuBar();
36
37   JMenu FileMenu = new JMenu();
38
39   JMenu HelpMenu = new JMenu();
40
41   protected JMenu VamsasMenu = new JMenu();
42
43   protected JMenu VamsasStMenu = new JMenu();
44
45   JMenuItem inputLocalFileMenuItem = new JMenuItem();
46
47   JMenuItem inputURLMenuItem = new JMenuItem();
48
49   JMenuItem inputTextboxMenuItem = new JMenuItem();
50
51   JMenuItem quit = new JMenuItem();
52
53   JMenuItem aboutMenuItem = new JMenuItem();
54
55   JMenuItem documentationMenuItem = new JMenuItem();
56
57   FlowLayout flowLayout1 = new FlowLayout();
58
59   protected JMenu toolsMenu = new JMenu();
60
61   JMenuItem preferences = new JMenuItem();
62
63   JMenuItem saveState = new JMenuItem();
64
65   JMenuItem loadState = new JMenuItem();
66
67   JMenu inputMenu = new JMenu();
68
69   protected JMenuItem vamsasStart = new JMenuItem();
70
71   protected JMenuItem vamsasImport = new JMenuItem();
72
73   protected JMenuItem vamsasSave = new JMenuItem();
74
75   JMenuItem inputSequence = new JMenuItem();
76
77   protected JMenuItem vamsasStop = new JMenuItem();
78
79   JMenuItem closeAll = new JMenuItem();
80
81   JMenuItem raiseRelated = new JMenuItem();
82
83   JMenuItem minimizeAssociated = new JMenuItem();
84
85   protected JCheckBoxMenuItem showMemusage = new JCheckBoxMenuItem();
86
87   JMenuItem garbageCollect = new JMenuItem();
88
89   protected JCheckBoxMenuItem showConsole = new JCheckBoxMenuItem();
90
91   protected JCheckBoxMenuItem showNews = new JCheckBoxMenuItem();
92
93   /**
94    * Creates a new GDesktop object.
95    */
96   public GDesktop()
97   {
98     try
99     {
100       jbInit();
101       this.setJMenuBar(desktopMenubar);
102     } catch (Exception e)
103     {
104       e.printStackTrace();
105     }
106
107     if (!new jalview.util.Platform().isAMac())
108     {
109       FileMenu.setMnemonic('F');
110       inputLocalFileMenuItem.setMnemonic('L');
111       VamsasMenu.setMnemonic('V');
112       inputURLMenuItem.setMnemonic('U');
113       inputTextboxMenuItem.setMnemonic('C');
114       quit.setMnemonic('Q');
115       saveState.setMnemonic('S');
116       loadState.setMnemonic('L');
117       inputMenu.setMnemonic('I');
118     }
119   }
120
121   /**
122    * DOCUMENT ME!
123    * 
124    * @throws Exception
125    *           DOCUMENT ME!
126    */
127   private void jbInit() throws Exception
128   {
129     FileMenu.setText("File");
130     HelpMenu.setText("Help");
131     VamsasMenu.setText("Vamsas");
132     VamsasMenu.setToolTipText("Share data with other vamsas applications.");
133     VamsasStMenu.setText("Connect to");
134     VamsasStMenu.setToolTipText("Join an existing vamsas session");
135     inputLocalFileMenuItem.setText("from File");
136     inputLocalFileMenuItem.setAccelerator(javax.swing.KeyStroke
137             .getKeyStroke(java.awt.event.KeyEvent.VK_O, Toolkit
138                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
139     inputLocalFileMenuItem
140             .addActionListener(new java.awt.event.ActionListener()
141             {
142               public void actionPerformed(ActionEvent e)
143               {
144                 inputLocalFileMenuItem_actionPerformed(null);
145               }
146             });
147     inputURLMenuItem.setText("from URL");
148     inputURLMenuItem.addActionListener(new java.awt.event.ActionListener()
149     {
150       public void actionPerformed(ActionEvent e)
151       {
152         inputURLMenuItem_actionPerformed(null);
153       }
154     });
155     inputTextboxMenuItem.setText("from Textbox");
156     inputTextboxMenuItem
157             .addActionListener(new java.awt.event.ActionListener()
158             {
159               public void actionPerformed(ActionEvent e)
160               {
161                 inputTextboxMenuItem_actionPerformed(null);
162               }
163             });
164     quit.setText("Quit");
165     quit.addActionListener(new java.awt.event.ActionListener()
166     {
167       public void actionPerformed(ActionEvent e)
168       {
169         quit();
170       }
171     });
172     aboutMenuItem.setText("About");
173     aboutMenuItem.addActionListener(new java.awt.event.ActionListener()
174     {
175       public void actionPerformed(ActionEvent e)
176       {
177         aboutMenuItem_actionPerformed(e);
178       }
179     });
180     documentationMenuItem.setText("Documentation");
181     documentationMenuItem.setAccelerator(javax.swing.KeyStroke
182             .getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0, false));
183     documentationMenuItem
184             .addActionListener(new java.awt.event.ActionListener()
185             {
186               public void actionPerformed(ActionEvent e)
187               {
188                 documentationMenuItem_actionPerformed(e);
189               }
190             });
191     this.getContentPane().setLayout(flowLayout1);
192     windowMenu.setText("Window");
193     preferences.setText("Preferences...");
194     preferences.addActionListener(new ActionListener()
195     {
196       public void actionPerformed(ActionEvent e)
197       {
198         preferences_actionPerformed(e);
199       }
200     });
201     toolsMenu.setText("Tools");
202     saveState.setText("Save Project");
203     saveState.addActionListener(new ActionListener()
204     {
205       public void actionPerformed(ActionEvent e)
206       {
207         saveState_actionPerformed(e);
208       }
209     });
210     loadState.setText("Load Project");
211     loadState.addActionListener(new ActionListener()
212     {
213       public void actionPerformed(ActionEvent e)
214       {
215         loadState_actionPerformed(e);
216       }
217     });
218     inputMenu.setText("Input Alignment");
219     vamsasStart.setText("New Vamsas Session...");
220     vamsasStart.setVisible(false);
221     vamsasStart.addActionListener(new ActionListener()
222     {
223       public void actionPerformed(ActionEvent e)
224       {
225         vamsasStart_actionPerformed(e);
226       }
227     });
228     vamsasImport.setText("Load Vamsas Session...");
229     vamsasImport.setVisible(false);
230     vamsasImport.addActionListener(new ActionListener()
231     {
232       public void actionPerformed(ActionEvent e)
233       {
234         vamsasImport_actionPerformed(e);
235       }
236     });
237     vamsasSave.setText("Save Vamsas Session...");
238     vamsasSave.setVisible(false);
239     vamsasSave.addActionListener(new ActionListener()
240     {
241       public void actionPerformed(ActionEvent e)
242       {
243         vamsasSave_actionPerformed(e);
244       }
245     });
246     inputSequence.setText("Fetch Sequence(s)...");
247     inputSequence.addActionListener(new ActionListener()
248     {
249       public void actionPerformed(ActionEvent e)
250       {
251         inputSequence_actionPerformed(e);
252       }
253     });
254     vamsasStop.setText("Stop Vamsas Session");
255     vamsasStop.setVisible(false);
256     vamsasStop.addActionListener(new ActionListener()
257     {
258       public void actionPerformed(ActionEvent e)
259       {
260         vamsasStop_actionPerformed(e);
261       }
262     });
263     closeAll.setText("Close All");
264     closeAll.addActionListener(new ActionListener()
265     {
266       public void actionPerformed(ActionEvent e)
267       {
268         closeAll_actionPerformed(e);
269       }
270     });
271     raiseRelated.setText("Raise Associated Windows");
272     raiseRelated.addActionListener(new ActionListener()
273     {
274       public void actionPerformed(ActionEvent e)
275       {
276         raiseRelated_actionPerformed(e);
277       }
278     });
279     minimizeAssociated.setText("Minimize Associated Windows");
280     minimizeAssociated.addActionListener(new ActionListener()
281     {
282       public void actionPerformed(ActionEvent e)
283       {
284         minimizeAssociated_actionPerformed(e);
285       }
286     });
287     garbageCollect.setText("Collect Garbage");
288     garbageCollect.addActionListener(new ActionListener()
289     {
290       public void actionPerformed(ActionEvent e)
291       {
292         garbageCollect_actionPerformed(e);
293       }
294     });
295     showMemusage.setText("Show Memory Usage");
296     showMemusage.addActionListener(new ActionListener()
297     {
298       public void actionPerformed(ActionEvent e)
299       {
300         showMemusage_actionPerformed(e);
301       }
302     });
303     showConsole.setText("Show Java Console");
304     showConsole.addActionListener(new ActionListener()
305     {
306       public void actionPerformed(ActionEvent e)
307       {
308         showConsole_actionPerformed(e);
309       }
310     });
311     showNews.setText("Show Jalview News");
312     showNews.addActionListener(new ActionListener()
313     {
314       public void actionPerformed(ActionEvent e)
315       {
316         showNews_actionPerformed(e);
317       }
318     });
319     desktopMenubar.add(FileMenu);
320     desktopMenubar.add(toolsMenu);
321     VamsasMenu.setVisible(false);
322     desktopMenubar.add(VamsasMenu);
323     desktopMenubar.add(HelpMenu);
324     desktopMenubar.add(windowMenu);
325     FileMenu.add(inputMenu);
326     FileMenu.add(inputSequence);
327     FileMenu.addSeparator();
328     FileMenu.add(saveState);
329     FileMenu.add(loadState);
330     FileMenu.addSeparator();
331     FileMenu.add(quit);
332     HelpMenu.add(aboutMenuItem);
333     HelpMenu.add(documentationMenuItem);
334     VamsasMenu.add(VamsasStMenu);
335     VamsasStMenu.setVisible(false);
336     VamsasMenu.add(vamsasStart);
337     VamsasMenu.add(vamsasImport);
338     VamsasMenu.add(vamsasSave);
339     VamsasMenu.add(vamsasStop);
340     toolsMenu.add(preferences);
341     toolsMenu.add(showMemusage);
342     toolsMenu.add(showConsole);
343     toolsMenu.add(showNews);
344     toolsMenu.add(garbageCollect);
345     inputMenu.add(inputLocalFileMenuItem);
346     inputMenu.add(inputURLMenuItem);
347     inputMenu.add(inputTextboxMenuItem);
348     windowMenu.add(closeAll);
349     windowMenu.add(raiseRelated);
350     windowMenu.add(minimizeAssociated);
351     windowMenu.addSeparator();
352     // inputMenu.add(vamsasLoad);
353   }
354
355   protected void showConsole_actionPerformed(ActionEvent e)
356   {
357     // TODO Auto-generated method stub
358
359   }
360   protected void showNews_actionPerformed(ActionEvent e)
361   {
362     // TODO Auto-generated method stub
363
364   }
365   protected void showMemusage_actionPerformed(ActionEvent e)
366   {
367     // TODO Auto-generated method stub
368
369   }
370
371   protected void garbageCollect_actionPerformed(ActionEvent e)
372   {
373     // TODO Auto-generated method stub
374
375   }
376
377   protected void vamsasStMenu_actionPerformed()
378   {
379   }
380
381   public void vamsasSave_actionPerformed(ActionEvent e)
382   {
383   }
384
385   /**
386    * DOCUMENT ME!
387    * 
388    * @param e
389    *          DOCUMENT ME!
390    */
391   protected void inputLocalFileMenuItem_actionPerformed(
392           jalview.gui.AlignViewport av)
393   {
394   }
395
396   /**
397    * DOCUMENT ME!
398    * 
399    * @param e
400    *          DOCUMENT ME!
401    */
402   protected void inputURLMenuItem_actionPerformed(
403           jalview.gui.AlignViewport av)
404   {
405   }
406
407   /**
408    * DOCUMENT ME!
409    * 
410    * @param e
411    *          DOCUMENT ME!
412    */
413   protected void inputTextboxMenuItem_actionPerformed(
414           jalview.gui.AlignViewport av)
415   {
416   }
417
418   /**
419    * DOCUMENT ME!
420    */
421   protected void quit()
422   {
423   }
424
425   /**
426    * DOCUMENT ME!
427    * 
428    * @param e
429    *          DOCUMENT ME!
430    */
431   protected void aboutMenuItem_actionPerformed(ActionEvent e)
432   {
433   }
434
435   /**
436    * DOCUMENT ME!
437    * 
438    * @param e
439    *          DOCUMENT ME!
440    */
441   protected void documentationMenuItem_actionPerformed(ActionEvent e)
442   {
443   }
444
445   /**
446    * DOCUMENT ME!
447    * 
448    * @param e
449    *          DOCUMENT ME!
450    */
451   public void SaveState_actionPerformed(ActionEvent e)
452   {
453   }
454
455   /**
456    * DOCUMENT ME!
457    * 
458    * @param e
459    *          DOCUMENT ME!
460    */
461   protected void preferences_actionPerformed(ActionEvent e)
462   {
463   }
464
465   /**
466    * DOCUMENT ME!
467    * 
468    * @param e
469    *          DOCUMENT ME!
470    */
471   public void saveState_actionPerformed(ActionEvent e)
472   {
473   }
474
475   /**
476    * DOCUMENT ME!
477    * 
478    * @param e
479    *          DOCUMENT ME!
480    */
481   public void loadState_actionPerformed(ActionEvent e)
482   {
483   }
484
485   /**
486    * DOCUMENT ME!
487    * 
488    * @param e
489    *          DOCUMENT ME!
490    */
491   public void loadJalviewAlign_actionPerformed(ActionEvent e)
492   {
493   }
494
495   public void vamsasStart_actionPerformed(ActionEvent e)
496   {
497
498   }
499
500   public void inputSequence_actionPerformed(ActionEvent e)
501   {
502
503   }
504
505   public void vamsasStop_actionPerformed(ActionEvent e)
506   {
507
508   }
509
510   public void closeAll_actionPerformed(ActionEvent e)
511   {
512
513   }
514
515   public void raiseRelated_actionPerformed(ActionEvent e)
516   {
517
518   }
519
520   public void minimizeAssociated_actionPerformed(ActionEvent e)
521   {
522
523   }
524
525   public void vamsasImport_actionPerformed(ActionEvent e)
526   {
527   }
528 }