memory monitor, garbage collection and changed menu item for groovy console opening
[jalview.git] / src / jalview / jbgui / GDesktop.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer
3  * Copyright (C) 2007 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
33     extends JFrame
34 {
35   protected static JMenu windowMenu = new JMenu();
36   JMenuBar desktopMenubar = new JMenuBar();
37   JMenu FileMenu = new JMenu();
38   JMenu HelpMenu = new JMenu();
39   protected JMenu VamsasMenu = new JMenu();
40   protected JMenu VamsasStMenu = new JMenu();
41   JMenuItem inputLocalFileMenuItem = new JMenuItem();
42   JMenuItem inputURLMenuItem = new JMenuItem();
43   JMenuItem inputTextboxMenuItem = new JMenuItem();
44   JMenuItem quit = new JMenuItem();
45   JMenuItem aboutMenuItem = new JMenuItem();
46   JMenuItem documentationMenuItem = new JMenuItem();
47   FlowLayout flowLayout1 = new FlowLayout();
48   protected JMenu toolsMenu = new JMenu();
49   JMenuItem preferences = new JMenuItem();
50   JMenuItem saveState = new JMenuItem();
51   JMenuItem loadState = new JMenuItem();
52   JMenu inputMenu = new JMenu();
53   protected JMenuItem vamsasStart = new JMenuItem();
54   protected JMenuItem vamsasImport = new JMenuItem();
55   protected JMenuItem vamsasSave = new JMenuItem();
56   JMenuItem inputSequence = new JMenuItem();
57   protected JMenuItem vamsasStop = new JMenuItem();
58   JMenuItem closeAll = new JMenuItem();
59   JMenuItem raiseRelated = new JMenuItem();
60   JMenuItem minimizeAssociated = new JMenuItem();
61   protected JCheckBoxMenuItem showMemusage = new JCheckBoxMenuItem();
62   JMenuItem garbageCollect = new JMenuItem();
63
64   /**
65    * Creates a new GDesktop object.
66    */
67   public GDesktop()
68   {
69     try
70     {
71       jbInit();
72       this.setJMenuBar(desktopMenubar);
73     }
74     catch (Exception e)
75     {
76       e.printStackTrace();
77     }
78
79     if (!new jalview.util.Platform().isAMac())
80     {
81       FileMenu.setMnemonic('F');
82       inputLocalFileMenuItem.setMnemonic('L');
83       VamsasMenu.setMnemonic('V');
84       inputURLMenuItem.setMnemonic('U');
85       inputTextboxMenuItem.setMnemonic('C');
86       quit.setMnemonic('Q');
87       saveState.setMnemonic('S');
88       loadState.setMnemonic('L');
89       inputMenu.setMnemonic('I');
90     }
91   }
92
93   /**
94    * DOCUMENT ME!
95    *
96    * @throws Exception DOCUMENT ME!
97    */
98   private void jbInit()
99       throws Exception
100   {
101     FileMenu.setText("File");
102     HelpMenu.setText("Help");
103     VamsasMenu.setText("Vamsas");
104     VamsasMenu.setToolTipText("Share data with other vamsas applications.");
105     VamsasStMenu.setText("Connect to");
106     VamsasStMenu.setToolTipText("Join an existing vamsas session");
107     inputLocalFileMenuItem.setText("from File");
108     inputLocalFileMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
109         java.awt.event.KeyEvent.VK_O,
110         Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));
111     inputLocalFileMenuItem.addActionListener(new java.awt.event.ActionListener()
112     {
113       public void actionPerformed(ActionEvent e)
114       {
115         inputLocalFileMenuItem_actionPerformed(null);
116       }
117     });
118     inputURLMenuItem.setText("from URL");
119     inputURLMenuItem.addActionListener(new java.awt.event.ActionListener()
120     {
121       public void actionPerformed(ActionEvent e)
122       {
123         inputURLMenuItem_actionPerformed(null);
124       }
125     });
126     inputTextboxMenuItem.setText("from Textbox");
127     inputTextboxMenuItem.addActionListener(new java.awt.event.ActionListener()
128     {
129       public void actionPerformed(ActionEvent e)
130       {
131         inputTextboxMenuItem_actionPerformed(null);
132       }
133     });
134     quit.setText("Quit");
135     quit.addActionListener(new java.awt.event.ActionListener()
136     {
137       public void actionPerformed(ActionEvent e)
138       {
139         quit();
140       }
141     });
142     aboutMenuItem.setText("About");
143     aboutMenuItem.addActionListener(new java.awt.event.ActionListener()
144     {
145       public void actionPerformed(ActionEvent e)
146       {
147         aboutMenuItem_actionPerformed(e);
148       }
149     });
150     documentationMenuItem.setText("Documentation");
151     documentationMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(
152         java.awt.event.KeyEvent.VK_F1, 0, false));
153     documentationMenuItem.addActionListener(new java.awt.event.ActionListener()
154     {
155       public void actionPerformed(ActionEvent e)
156       {
157         documentationMenuItem_actionPerformed(e);
158       }
159     });
160     this.getContentPane().setLayout(flowLayout1);
161     windowMenu.setText("Window");
162     preferences.setText("Preferences...");
163     preferences.addActionListener(new ActionListener()
164     {
165       public void actionPerformed(ActionEvent e)
166       {
167         preferences_actionPerformed(e);
168       }
169     });
170     toolsMenu.setText("Tools");
171     saveState.setText("Save Project");
172     saveState.addActionListener(new ActionListener()
173     {
174       public void actionPerformed(ActionEvent e)
175       {
176         saveState_actionPerformed(e);
177       }
178     });
179     loadState.setText("Load Project");
180     loadState.addActionListener(new ActionListener()
181     {
182       public void actionPerformed(ActionEvent e)
183       {
184         loadState_actionPerformed(e);
185       }
186     });
187     inputMenu.setText("Input Alignment");
188     vamsasStart.setText("New Vamsas Session...");
189     vamsasStart.setVisible(false);
190     vamsasStart.addActionListener(new ActionListener()
191     {
192       public void actionPerformed(ActionEvent e)
193       {
194         vamsasStart_actionPerformed(e);
195       }
196     });
197     vamsasImport.setText("Load Vamsas Session...");
198     vamsasImport.setVisible(false);
199     vamsasImport.addActionListener(new ActionListener()
200     {
201       public void actionPerformed(ActionEvent e)
202       {
203         vamsasImport_actionPerformed(e);
204       }
205     });
206     vamsasSave.setText("Save Vamsas Session...");
207     vamsasSave.setVisible(false);
208     vamsasSave.addActionListener(new ActionListener()
209     {
210       public void actionPerformed(ActionEvent e)
211       {
212         vamsasSave_actionPerformed(e);
213       }
214     });
215     inputSequence.setText("Fetch Sequence(s)...");
216     inputSequence.addActionListener(new ActionListener()
217     {
218       public void actionPerformed(ActionEvent e)
219       {
220         inputSequence_actionPerformed(e);
221       }
222     });
223     vamsasStop.setText("Stop Vamsas Session");
224     vamsasStop.setVisible(false);
225     vamsasStop.addActionListener(new ActionListener()
226     {
227       public void actionPerformed(ActionEvent e)
228       {
229         vamsasStop_actionPerformed(e);
230       }
231     });
232     closeAll.setText("Close All");
233     closeAll.addActionListener(new ActionListener()
234     {
235       public void actionPerformed(ActionEvent e)
236       {
237         closeAll_actionPerformed(e);
238       }
239     });
240     raiseRelated.setText("Raise Associated Windows");
241     raiseRelated.addActionListener(new ActionListener()
242     {
243       public void actionPerformed(ActionEvent e)
244       {
245         raiseRelated_actionPerformed(e);
246       }
247     });
248     minimizeAssociated.setText("Minimize Associated Windows");
249     minimizeAssociated.addActionListener(new ActionListener()
250     {
251       public void actionPerformed(ActionEvent e)
252       {
253         minimizeAssociated_actionPerformed(e);
254       }
255     });
256     garbageCollect.setText("Collect Garbage");
257     garbageCollect.addActionListener(new ActionListener()
258     {
259       public void actionPerformed(ActionEvent e)
260       {
261         garbageCollect_actionPerformed(e);
262       }
263     });
264     showMemusage.setText("Show Memory Usage");
265     showMemusage.addActionListener(new ActionListener()
266     {
267       public void actionPerformed(ActionEvent e)
268       {
269         showMemusage_actionPerformed(e);
270       }
271     });
272     desktopMenubar.add(FileMenu);
273     desktopMenubar.add(toolsMenu);
274     VamsasMenu.setVisible(false);
275     desktopMenubar.add(VamsasMenu);
276     desktopMenubar.add(HelpMenu);
277     desktopMenubar.add(windowMenu);
278     FileMenu.add(inputMenu);
279     FileMenu.add(inputSequence);
280     FileMenu.addSeparator();
281     FileMenu.add(saveState);
282     FileMenu.add(loadState);
283     FileMenu.addSeparator();
284     FileMenu.add(quit);
285     HelpMenu.add(aboutMenuItem);
286     HelpMenu.add(documentationMenuItem);
287     VamsasMenu.add(VamsasStMenu);
288     VamsasStMenu.setVisible(false);
289     VamsasMenu.add(vamsasStart);
290     VamsasMenu.add(vamsasImport);
291     VamsasMenu.add(vamsasSave);
292     VamsasMenu.add(vamsasStop);
293     toolsMenu.add(preferences);
294     toolsMenu.add(showMemusage);
295     toolsMenu.add(garbageCollect);
296     inputMenu.add(inputLocalFileMenuItem);
297     inputMenu.add(inputURLMenuItem);
298     inputMenu.add(inputTextboxMenuItem);
299     windowMenu.add(closeAll);
300     windowMenu.add(raiseRelated);
301     windowMenu.add(minimizeAssociated);
302     windowMenu.addSeparator();
303     //    inputMenu.add(vamsasLoad);
304   }
305
306   protected void showMemusage_actionPerformed(ActionEvent e)
307   {
308     // TODO Auto-generated method stub
309     
310   }
311
312   protected void garbageCollect_actionPerformed(ActionEvent e)
313   {
314     // TODO Auto-generated method stub
315     
316   }
317
318   protected void vamsasStMenu_actionPerformed()
319   {
320   }
321
322   public void vamsasSave_actionPerformed(ActionEvent e)
323   {
324   }
325
326   /**
327    * DOCUMENT ME!
328    *
329    * @param e DOCUMENT ME!
330    */
331   protected void inputLocalFileMenuItem_actionPerformed(jalview.gui.
332       AlignViewport av)
333   {
334   }
335
336   /**
337    * DOCUMENT ME!
338    *
339    * @param e DOCUMENT ME!
340    */
341   protected void inputURLMenuItem_actionPerformed(jalview.gui.AlignViewport av)
342   {
343   }
344
345   /**
346    * DOCUMENT ME!
347    *
348    * @param e DOCUMENT ME!
349    */
350   protected void inputTextboxMenuItem_actionPerformed(jalview.gui.AlignViewport
351       av)
352   {
353   }
354
355   /**
356    * DOCUMENT ME!
357    */
358   protected void quit()
359   {
360   }
361
362   /**
363    * DOCUMENT ME!
364    *
365    * @param e DOCUMENT ME!
366    */
367   protected void aboutMenuItem_actionPerformed(ActionEvent e)
368   {
369   }
370
371   /**
372    * DOCUMENT ME!
373    *
374    * @param e DOCUMENT ME!
375    */
376   protected void documentationMenuItem_actionPerformed(ActionEvent e)
377   {
378   }
379
380   /**
381    * DOCUMENT ME!
382    *
383    * @param e DOCUMENT ME!
384    */
385   public void SaveState_actionPerformed(ActionEvent e)
386   {
387   }
388
389   /**
390    * DOCUMENT ME!
391    *
392    * @param e DOCUMENT ME!
393    */
394   protected void preferences_actionPerformed(ActionEvent e)
395   {
396   }
397
398   /**
399    * DOCUMENT ME!
400    *
401    * @param e DOCUMENT ME!
402    */
403   public void saveState_actionPerformed(ActionEvent e)
404   {
405   }
406
407   /**
408    * DOCUMENT ME!
409    *
410    * @param e DOCUMENT ME!
411    */
412   public void loadState_actionPerformed(ActionEvent e)
413   {
414   }
415
416   /**
417    * DOCUMENT ME!
418    *
419    * @param e DOCUMENT ME!
420    */
421   public void loadJalviewAlign_actionPerformed(ActionEvent e)
422   {
423   }
424
425   public void vamsasStart_actionPerformed(ActionEvent e)
426   {
427
428   }
429
430   public void inputSequence_actionPerformed(ActionEvent e)
431   {
432
433   }
434
435   public void vamsasStop_actionPerformed(ActionEvent e)
436   {
437
438   }
439
440   public void closeAll_actionPerformed(ActionEvent e)
441   {
442
443   }
444
445   public void raiseRelated_actionPerformed(ActionEvent e)
446   {
447
448   }
449
450   public void minimizeAssociated_actionPerformed(ActionEvent e)
451   {
452
453   }
454
455   public void vamsasImport_actionPerformed(ActionEvent e)
456   {
457   }
458 }