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