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