don't set background colour for menu bar
[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     FileMenu.add(inputMenu);
327     FileMenu.add(inputSequence);
328     FileMenu.addSeparator();
329     FileMenu.add(saveState);
330     FileMenu.add(loadState);
331     FileMenu.addSeparator();
332     FileMenu.add(quit);
333     HelpMenu.add(aboutMenuItem);
334     HelpMenu.add(documentationMenuItem);
335     VamsasMenu.add(VamsasStMenu);
336     VamsasStMenu.setVisible(false);
337     VamsasMenu.add(vamsasStart);
338     VamsasMenu.add(vamsasImport);
339     VamsasMenu.add(vamsasSave);
340     VamsasMenu.add(vamsasStop);
341     toolsMenu.add(preferences);
342     toolsMenu.add(showMemusage);
343     toolsMenu.add(showConsole);
344     toolsMenu.add(showNews);
345     toolsMenu.add(garbageCollect);
346     inputMenu.add(inputLocalFileMenuItem);
347     inputMenu.add(inputURLMenuItem);
348     inputMenu.add(inputTextboxMenuItem);
349     windowMenu.add(closeAll);
350     windowMenu.add(raiseRelated);
351     windowMenu.add(minimizeAssociated);
352     windowMenu.addSeparator();
353     // inputMenu.add(vamsasLoad);
354   }
355
356   protected void showConsole_actionPerformed(ActionEvent e)
357   {
358     // TODO Auto-generated method stub
359
360   }
361
362   protected void showNews_actionPerformed(ActionEvent e)
363   {
364     // TODO Auto-generated method stub
365
366   }
367
368   protected void showMemusage_actionPerformed(ActionEvent e)
369   {
370     // TODO Auto-generated method stub
371
372   }
373
374   protected void garbageCollect_actionPerformed(ActionEvent e)
375   {
376     // TODO Auto-generated method stub
377
378   }
379
380   protected void vamsasStMenu_actionPerformed()
381   {
382   }
383
384   public void vamsasSave_actionPerformed(ActionEvent e)
385   {
386   }
387
388   /**
389    * DOCUMENT ME!
390    * 
391    * @param e
392    *          DOCUMENT ME!
393    */
394   protected void inputLocalFileMenuItem_actionPerformed(
395           jalview.gui.AlignViewport av)
396   {
397   }
398
399   /**
400    * DOCUMENT ME!
401    * 
402    * @param e
403    *          DOCUMENT ME!
404    */
405   protected void inputURLMenuItem_actionPerformed(
406           jalview.gui.AlignViewport av)
407   {
408   }
409
410   /**
411    * DOCUMENT ME!
412    * 
413    * @param e
414    *          DOCUMENT ME!
415    */
416   protected void inputTextboxMenuItem_actionPerformed(
417           jalview.gui.AlignViewport av)
418   {
419   }
420
421   /**
422    * DOCUMENT ME!
423    */
424   protected void quit()
425   {
426   }
427
428   /**
429    * DOCUMENT ME!
430    * 
431    * @param e
432    *          DOCUMENT ME!
433    */
434   protected void aboutMenuItem_actionPerformed(ActionEvent e)
435   {
436   }
437
438   /**
439    * DOCUMENT ME!
440    * 
441    * @param e
442    *          DOCUMENT ME!
443    */
444   protected void documentationMenuItem_actionPerformed(ActionEvent e)
445   {
446   }
447
448   /**
449    * DOCUMENT ME!
450    * 
451    * @param e
452    *          DOCUMENT ME!
453    */
454   public void SaveState_actionPerformed(ActionEvent e)
455   {
456   }
457
458   /**
459    * DOCUMENT ME!
460    * 
461    * @param e
462    *          DOCUMENT ME!
463    */
464   protected void preferences_actionPerformed(ActionEvent e)
465   {
466   }
467
468   /**
469    * DOCUMENT ME!
470    * 
471    * @param e
472    *          DOCUMENT ME!
473    */
474   public void saveState_actionPerformed(ActionEvent e)
475   {
476   }
477
478   /**
479    * DOCUMENT ME!
480    * 
481    * @param e
482    *          DOCUMENT ME!
483    */
484   public void loadState_actionPerformed(ActionEvent e)
485   {
486   }
487
488   /**
489    * DOCUMENT ME!
490    * 
491    * @param e
492    *          DOCUMENT ME!
493    */
494   public void loadJalviewAlign_actionPerformed(ActionEvent e)
495   {
496   }
497
498   public void vamsasStart_actionPerformed(ActionEvent e)
499   {
500
501   }
502
503   public void inputSequence_actionPerformed(ActionEvent e)
504   {
505
506   }
507
508   public void vamsasStop_actionPerformed(ActionEvent e)
509   {
510
511   }
512
513   public void closeAll_actionPerformed(ActionEvent e)
514   {
515
516   }
517
518   public void raiseRelated_actionPerformed(ActionEvent e)
519   {
520
521   }
522
523   public void minimizeAssociated_actionPerformed(ActionEvent e)
524   {
525
526   }
527
528   public void vamsasImport_actionPerformed(ActionEvent e)
529   {
530   }
531 }