last version stay many bugs ..
[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          
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   protected void showNews_actionPerformed(ActionEvent e)
363   {
364     // TODO Auto-generated method stub
365
366   }
367   protected void showMemusage_actionPerformed(ActionEvent e)
368   {
369     // TODO Auto-generated method stub
370
371   }
372
373   protected void garbageCollect_actionPerformed(ActionEvent e)
374   {
375     // TODO Auto-generated method stub
376
377   }
378
379   protected void vamsasStMenu_actionPerformed()
380   {
381   }
382
383   public void vamsasSave_actionPerformed(ActionEvent e)
384   {
385   }
386
387   /**
388    * DOCUMENT ME!
389    * 
390    * @param e
391    *          DOCUMENT ME!
392    */
393   protected void inputLocalFileMenuItem_actionPerformed(
394           jalview.gui.AlignViewport av)
395   {
396   }
397
398   /**
399    * DOCUMENT ME!
400    * 
401    * @param e
402    *          DOCUMENT ME!
403    */
404   protected void inputURLMenuItem_actionPerformed(
405           jalview.gui.AlignViewport av)
406   {
407   }
408
409   /**
410    * DOCUMENT ME!
411    * 
412    * @param e
413    *          DOCUMENT ME!
414    */
415   protected void inputTextboxMenuItem_actionPerformed(
416           jalview.gui.AlignViewport av)
417   {
418   }
419
420   /**
421    * DOCUMENT ME!
422    */
423   protected void quit()
424   {
425   }
426
427   /**
428    * DOCUMENT ME!
429    * 
430    * @param e
431    *          DOCUMENT ME!
432    */
433   protected void aboutMenuItem_actionPerformed(ActionEvent e)
434   {
435   }
436
437   /**
438    * DOCUMENT ME!
439    * 
440    * @param e
441    *          DOCUMENT ME!
442    */
443   protected void documentationMenuItem_actionPerformed(ActionEvent e)
444   {
445   }
446
447   /**
448    * DOCUMENT ME!
449    * 
450    * @param e
451    *          DOCUMENT ME!
452    */
453   public void SaveState_actionPerformed(ActionEvent e)
454   {
455   }
456
457   /**
458    * DOCUMENT ME!
459    * 
460    * @param e
461    *          DOCUMENT ME!
462    */
463   protected void preferences_actionPerformed(ActionEvent e)
464   {
465   }
466
467   /**
468    * DOCUMENT ME!
469    * 
470    * @param e
471    *          DOCUMENT ME!
472    */
473   public void saveState_actionPerformed(ActionEvent e)
474   {
475   }
476
477   /**
478    * DOCUMENT ME!
479    * 
480    * @param e
481    *          DOCUMENT ME!
482    */
483   public void loadState_actionPerformed(ActionEvent e)
484   {
485   }
486
487   /**
488    * DOCUMENT ME!
489    * 
490    * @param e
491    *          DOCUMENT ME!
492    */
493   public void loadJalviewAlign_actionPerformed(ActionEvent e)
494   {
495   }
496
497   public void vamsasStart_actionPerformed(ActionEvent e)
498   {
499
500   }
501
502   public void inputSequence_actionPerformed(ActionEvent e)
503   {
504
505   }
506
507   public void vamsasStop_actionPerformed(ActionEvent e)
508   {
509
510   }
511
512   public void closeAll_actionPerformed(ActionEvent e)
513   {
514
515   }
516
517   public void raiseRelated_actionPerformed(ActionEvent e)
518   {
519
520   }
521
522   public void minimizeAssociated_actionPerformed(ActionEvent e)
523   {
524
525   }
526
527   public void vamsasImport_actionPerformed(ActionEvent e)
528   {
529   }
530 }