Merge branch 'develop' into menard
[jalview.git] / src / jalview / jbgui / GDesktop.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8)
3  * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, 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          
130     FileMenu.setText("File");
131     HelpMenu.setText("Help");
132     VamsasMenu.setText("Vamsas");
133     VamsasMenu.setToolTipText("Share data with other vamsas applications.");
134     VamsasStMenu.setText("Connect to");
135     VamsasStMenu.setToolTipText("Join an existing vamsas session");
136     inputLocalFileMenuItem.setText("from File");
137     inputLocalFileMenuItem.setAccelerator(javax.swing.KeyStroke
138             .getKeyStroke(java.awt.event.KeyEvent.VK_O, Toolkit
139                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
140     inputLocalFileMenuItem
141             .addActionListener(new java.awt.event.ActionListener()
142             {
143               public void actionPerformed(ActionEvent e)
144               {
145                 inputLocalFileMenuItem_actionPerformed(null);
146               }
147             });
148     inputURLMenuItem.setText("from URL");
149     inputURLMenuItem.addActionListener(new java.awt.event.ActionListener()
150     {
151       public void actionPerformed(ActionEvent e)
152       {
153         inputURLMenuItem_actionPerformed(null);
154       }
155     });
156     inputTextboxMenuItem.setText("from Textbox");
157     inputTextboxMenuItem
158             .addActionListener(new java.awt.event.ActionListener()
159             {
160               public void actionPerformed(ActionEvent e)
161               {
162                 inputTextboxMenuItem_actionPerformed(null);
163               }
164             });
165     quit.setText("Quit");
166     quit.addActionListener(new java.awt.event.ActionListener()
167     {
168       public void actionPerformed(ActionEvent e)
169       {
170         quit();
171       }
172     });
173     aboutMenuItem.setText("About");
174     aboutMenuItem.addActionListener(new java.awt.event.ActionListener()
175     {
176       public void actionPerformed(ActionEvent e)
177       {
178         aboutMenuItem_actionPerformed(e);
179       }
180     });
181     documentationMenuItem.setText("Documentation");
182     documentationMenuItem.setAccelerator(javax.swing.KeyStroke
183             .getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0, false));
184     documentationMenuItem
185             .addActionListener(new java.awt.event.ActionListener()
186             {
187               public void actionPerformed(ActionEvent e)
188               {
189                 documentationMenuItem_actionPerformed(e);
190               }
191             });
192     this.getContentPane().setLayout(flowLayout1);
193     windowMenu.setText("Window");
194     preferences.setText("Preferences...");
195     preferences.addActionListener(new ActionListener()
196     {
197       public void actionPerformed(ActionEvent e)
198       {
199         preferences_actionPerformed(e);
200       }
201     });
202     toolsMenu.setText("Tools");
203     saveState.setText("Save Project");
204     saveState.addActionListener(new ActionListener()
205     {
206       public void actionPerformed(ActionEvent e)
207       {
208         saveState_actionPerformed(e);
209       }
210     });
211     loadState.setText("Load Project");
212     loadState.addActionListener(new ActionListener()
213     {
214       public void actionPerformed(ActionEvent e)
215       {
216         loadState_actionPerformed(e);
217       }
218     });
219     inputMenu.setText("Input Alignment");
220     vamsasStart.setText("New Vamsas Session...");
221     vamsasStart.setVisible(false);
222     vamsasStart.addActionListener(new ActionListener()
223     {
224       public void actionPerformed(ActionEvent e)
225       {
226         vamsasStart_actionPerformed(e);
227       }
228     });
229     vamsasImport.setText("Load Vamsas Session...");
230     vamsasImport.setVisible(false);
231     vamsasImport.addActionListener(new ActionListener()
232     {
233       public void actionPerformed(ActionEvent e)
234       {
235         vamsasImport_actionPerformed(e);
236       }
237     });
238     vamsasSave.setText("Save Vamsas Session...");
239     vamsasSave.setVisible(false);
240     vamsasSave.addActionListener(new ActionListener()
241     {
242       public void actionPerformed(ActionEvent e)
243       {
244         vamsasSave_actionPerformed(e);
245       }
246     });
247     inputSequence.setText("Fetch Sequence(s)...");
248     inputSequence.addActionListener(new ActionListener()
249     {
250       public void actionPerformed(ActionEvent e)
251       {
252         inputSequence_actionPerformed(e);
253       }
254     });
255     vamsasStop.setText("Stop Vamsas Session");
256     vamsasStop.setVisible(false);
257     vamsasStop.addActionListener(new ActionListener()
258     {
259       public void actionPerformed(ActionEvent e)
260       {
261         vamsasStop_actionPerformed(e);
262       }
263     });
264     closeAll.setText("Close All");
265     closeAll.addActionListener(new ActionListener()
266     {
267       public void actionPerformed(ActionEvent e)
268       {
269         closeAll_actionPerformed(e);
270       }
271     });
272     raiseRelated.setText("Raise Associated Windows");
273     raiseRelated.addActionListener(new ActionListener()
274     {
275       public void actionPerformed(ActionEvent e)
276       {
277         raiseRelated_actionPerformed(e);
278       }
279     });
280     minimizeAssociated.setText("Minimize Associated Windows");
281     minimizeAssociated.addActionListener(new ActionListener()
282     {
283       public void actionPerformed(ActionEvent e)
284       {
285         minimizeAssociated_actionPerformed(e);
286       }
287     });
288     garbageCollect.setText("Collect Garbage");
289     garbageCollect.addActionListener(new ActionListener()
290     {
291       public void actionPerformed(ActionEvent e)
292       {
293         garbageCollect_actionPerformed(e);
294       }
295     });
296     showMemusage.setText("Show Memory Usage");
297     showMemusage.addActionListener(new ActionListener()
298     {
299       public void actionPerformed(ActionEvent e)
300       {
301         showMemusage_actionPerformed(e);
302       }
303     });
304     showConsole.setText("Show Java Console");
305     showConsole.addActionListener(new ActionListener()
306     {
307       public void actionPerformed(ActionEvent e)
308       {
309         showConsole_actionPerformed(e);
310       }
311     });
312     showNews.setText("Show Jalview News");
313     showNews.addActionListener(new ActionListener()
314     {
315       public void actionPerformed(ActionEvent e)
316       {
317         showNews_actionPerformed(e);
318       }
319     });
320     desktopMenubar.add(FileMenu);
321     desktopMenubar.add(toolsMenu);
322     VamsasMenu.setVisible(false);
323     desktopMenubar.add(VamsasMenu);
324     desktopMenubar.add(HelpMenu);
325     desktopMenubar.add(windowMenu);
326     desktopMenubar.setBackground(Color.lightGray);
327     FileMenu.add(inputMenu);
328     FileMenu.add(inputSequence);
329     FileMenu.addSeparator();
330     FileMenu.add(saveState);
331     FileMenu.add(loadState);
332     FileMenu.addSeparator();
333     FileMenu.add(quit);
334     HelpMenu.add(aboutMenuItem);
335     HelpMenu.add(documentationMenuItem);
336     VamsasMenu.add(VamsasStMenu);
337     VamsasStMenu.setVisible(false);
338     VamsasMenu.add(vamsasStart);
339     VamsasMenu.add(vamsasImport);
340     VamsasMenu.add(vamsasSave);
341     VamsasMenu.add(vamsasStop);
342     toolsMenu.add(preferences);
343     toolsMenu.add(showMemusage);
344     toolsMenu.add(showConsole);
345     toolsMenu.add(showNews);
346     toolsMenu.add(garbageCollect);
347     inputMenu.add(inputLocalFileMenuItem);
348     inputMenu.add(inputURLMenuItem);
349     inputMenu.add(inputTextboxMenuItem);
350     windowMenu.add(closeAll);
351     windowMenu.add(raiseRelated);
352     windowMenu.add(minimizeAssociated);
353     windowMenu.addSeparator();
354     // inputMenu.add(vamsasLoad);
355   }
356
357   protected void showConsole_actionPerformed(ActionEvent e)
358   {
359     // TODO Auto-generated method stub
360
361   }
362
363   protected void showNews_actionPerformed(ActionEvent e)
364   {
365     // TODO Auto-generated method stub
366
367   }
368
369   protected void showMemusage_actionPerformed(ActionEvent e)
370   {
371     // TODO Auto-generated method stub
372
373   }
374
375   protected void garbageCollect_actionPerformed(ActionEvent e)
376   {
377     // TODO Auto-generated method stub
378
379   }
380
381   protected void vamsasStMenu_actionPerformed()
382   {
383   }
384
385   public void vamsasSave_actionPerformed(ActionEvent e)
386   {
387   }
388
389   /**
390    * DOCUMENT ME!
391    * 
392    * @param e
393    *          DOCUMENT ME!
394    */
395   protected void inputLocalFileMenuItem_actionPerformed(
396           jalview.gui.AlignViewport av)
397   {
398   }
399
400   /**
401    * DOCUMENT ME!
402    * 
403    * @param e
404    *          DOCUMENT ME!
405    */
406   protected void inputURLMenuItem_actionPerformed(
407           jalview.gui.AlignViewport av)
408   {
409   }
410
411   /**
412    * DOCUMENT ME!
413    * 
414    * @param e
415    *          DOCUMENT ME!
416    */
417   protected void inputTextboxMenuItem_actionPerformed(
418           jalview.gui.AlignViewport av)
419   {
420   }
421
422   /**
423    * DOCUMENT ME!
424    */
425   protected void quit()
426   {
427   }
428
429   /**
430    * DOCUMENT ME!
431    * 
432    * @param e
433    *          DOCUMENT ME!
434    */
435   protected void aboutMenuItem_actionPerformed(ActionEvent e)
436   {
437   }
438
439   /**
440    * DOCUMENT ME!
441    * 
442    * @param e
443    *          DOCUMENT ME!
444    */
445   protected void documentationMenuItem_actionPerformed(ActionEvent e)
446   {
447   }
448
449   /**
450    * DOCUMENT ME!
451    * 
452    * @param e
453    *          DOCUMENT ME!
454    */
455   public void SaveState_actionPerformed(ActionEvent e)
456   {
457   }
458
459   /**
460    * DOCUMENT ME!
461    * 
462    * @param e
463    *          DOCUMENT ME!
464    */
465   protected void preferences_actionPerformed(ActionEvent e)
466   {
467   }
468
469   /**
470    * DOCUMENT ME!
471    * 
472    * @param e
473    *          DOCUMENT ME!
474    */
475   public void saveState_actionPerformed(ActionEvent e)
476   {
477   }
478
479   /**
480    * DOCUMENT ME!
481    * 
482    * @param e
483    *          DOCUMENT ME!
484    */
485   public void loadState_actionPerformed(ActionEvent e)
486   {
487   }
488
489   /**
490    * DOCUMENT ME!
491    * 
492    * @param e
493    *          DOCUMENT ME!
494    */
495   public void loadJalviewAlign_actionPerformed(ActionEvent e)
496   {
497   }
498
499   public void vamsasStart_actionPerformed(ActionEvent e)
500   {
501
502   }
503
504   public void inputSequence_actionPerformed(ActionEvent e)
505   {
506
507   }
508
509   public void vamsasStop_actionPerformed(ActionEvent e)
510   {
511
512   }
513
514   public void closeAll_actionPerformed(ActionEvent e)
515   {
516
517   }
518
519   public void raiseRelated_actionPerformed(ActionEvent e)
520   {
521
522   }
523
524   public void minimizeAssociated_actionPerformed(ActionEvent e)
525   {
526
527   }
528
529   public void vamsasImport_actionPerformed(ActionEvent e)
530   {
531   }
532 }