JAL-1355 (basic i18n support)
[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 jalview.util.MessageManager;
21
22 import java.awt.*;
23 import java.awt.event.*;
24
25 import javax.swing.*;
26
27 /**
28  * DOCUMENT ME!
29  * 
30  * @author $author$
31  * @version $Revision$
32  */
33 public class GDesktop extends JFrame
34 {
35   protected static JMenu windowMenu = new JMenu();
36
37   JMenuBar desktopMenubar = new JMenuBar();
38
39   JMenu FileMenu = new JMenu();
40
41   JMenu HelpMenu = new JMenu();
42
43   protected JMenu VamsasMenu = new JMenu();
44
45   protected JMenu VamsasStMenu = new JMenu();
46
47   JMenuItem inputLocalFileMenuItem = new JMenuItem();
48
49   JMenuItem inputURLMenuItem = new JMenuItem();
50
51   JMenuItem inputTextboxMenuItem = new JMenuItem();
52
53   JMenuItem quit = new JMenuItem();
54
55   JMenuItem aboutMenuItem = new JMenuItem();
56
57   JMenuItem documentationMenuItem = new JMenuItem();
58
59   FlowLayout flowLayout1 = new FlowLayout();
60
61   protected JMenu toolsMenu = new JMenu();
62
63   JMenuItem preferences = new JMenuItem();
64
65   JMenuItem saveState = new JMenuItem();
66
67   JMenuItem loadState = new JMenuItem();
68
69   JMenu inputMenu = new JMenu();
70
71   protected JMenuItem vamsasStart = new JMenuItem();
72
73   protected JMenuItem vamsasImport = new JMenuItem();
74
75   protected JMenuItem vamsasSave = new JMenuItem();
76
77   JMenuItem inputSequence = new JMenuItem();
78
79   protected JMenuItem vamsasStop = new JMenuItem();
80
81   JMenuItem closeAll = new JMenuItem();
82
83   JMenuItem raiseRelated = new JMenuItem();
84
85   JMenuItem minimizeAssociated = new JMenuItem();
86
87   protected JCheckBoxMenuItem showMemusage = new JCheckBoxMenuItem();
88
89   JMenuItem garbageCollect = new JMenuItem();
90
91   protected JCheckBoxMenuItem showConsole = new JCheckBoxMenuItem();
92
93   protected JCheckBoxMenuItem showNews = new JCheckBoxMenuItem();
94
95   /**
96    * Creates a new GDesktop object.
97    */
98   public GDesktop()
99   {
100     try
101     {
102       jbInit();
103       this.setJMenuBar(desktopMenubar);
104     } catch (Exception e)
105     {
106       e.printStackTrace();
107     }
108
109     if (!new jalview.util.Platform().isAMac())
110     {
111       FileMenu.setMnemonic('F');
112       inputLocalFileMenuItem.setMnemonic('L');
113       VamsasMenu.setMnemonic('V');
114       inputURLMenuItem.setMnemonic('U');
115       inputTextboxMenuItem.setMnemonic('C');
116       quit.setMnemonic('Q');
117       saveState.setMnemonic('S');
118       loadState.setMnemonic('L');
119       inputMenu.setMnemonic('I');
120     }
121   }
122
123   /**
124    * DOCUMENT ME!
125    * 
126    * @throws Exception
127    *           DOCUMENT ME!
128    */
129   private void jbInit() throws Exception
130   {
131     FileMenu.setText(MessageManager.getString("action.file"));
132     HelpMenu.setText(MessageManager.getString("action.help"));
133     VamsasMenu.setText("Vamsas");
134     VamsasMenu.setToolTipText(MessageManager.getString("label.share_data_vamsas_applications"));
135     VamsasStMenu.setText(MessageManager.getString("label.connect_to"));
136     VamsasStMenu.setToolTipText(MessageManager.getString("label.join_existing_vamsas_session"));
137     inputLocalFileMenuItem.setText(MessageManager.getString("label.load_tree_from_file"));
138     inputLocalFileMenuItem.setAccelerator(javax.swing.KeyStroke
139             .getKeyStroke(java.awt.event.KeyEvent.VK_O, Toolkit
140                     .getDefaultToolkit().getMenuShortcutKeyMask(), false));
141     inputLocalFileMenuItem
142             .addActionListener(new java.awt.event.ActionListener()
143             {
144               public void actionPerformed(ActionEvent e)
145               {
146                 inputLocalFileMenuItem_actionPerformed(null);
147               }
148             });
149     inputURLMenuItem.setText(MessageManager.getString("label.from_url"));
150     inputURLMenuItem.addActionListener(new java.awt.event.ActionListener()
151     {
152       public void actionPerformed(ActionEvent e)
153       {
154         inputURLMenuItem_actionPerformed(null);
155       }
156     });
157     inputTextboxMenuItem.setText(MessageManager.getString("label.from_textbox"));
158     inputTextboxMenuItem
159             .addActionListener(new java.awt.event.ActionListener()
160             {
161               public void actionPerformed(ActionEvent e)
162               {
163                 inputTextboxMenuItem_actionPerformed(null);
164               }
165             });
166     quit.setText(MessageManager.getString("action.quit"));
167     quit.addActionListener(new java.awt.event.ActionListener()
168     {
169       public void actionPerformed(ActionEvent e)
170       {
171         quit();
172       }
173     });
174     aboutMenuItem.setText(MessageManager.getString("label.about"));
175     aboutMenuItem.addActionListener(new java.awt.event.ActionListener()
176     {
177       public void actionPerformed(ActionEvent e)
178       {
179         aboutMenuItem_actionPerformed(e);
180       }
181     });
182     documentationMenuItem.setText(MessageManager.getString("label.documentation"));
183     documentationMenuItem.setAccelerator(javax.swing.KeyStroke
184             .getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0, false));
185     documentationMenuItem
186             .addActionListener(new java.awt.event.ActionListener()
187             {
188               public void actionPerformed(ActionEvent e)
189               {
190                 documentationMenuItem_actionPerformed(e);
191               }
192             });
193     this.getContentPane().setLayout(flowLayout1);
194     windowMenu.setText(MessageManager.getString("label.window"));
195     preferences.setText(MessageManager.getString("label.preferences") + "...");
196     preferences.addActionListener(new ActionListener()
197     {
198       public void actionPerformed(ActionEvent e)
199       {
200         preferences_actionPerformed(e);
201       }
202     });
203     toolsMenu.setText(MessageManager.getString("label.tools"));
204     saveState.setText(MessageManager.getString("action.save_project"));
205     saveState.addActionListener(new ActionListener()
206     {
207       public void actionPerformed(ActionEvent e)
208       {
209         saveState_actionPerformed(e);
210       }
211     });
212     loadState.setText(MessageManager.getString("action.load_project"));
213     loadState.addActionListener(new ActionListener()
214     {
215       public void actionPerformed(ActionEvent e)
216       {
217         loadState_actionPerformed(e);
218       }
219     });
220     inputMenu.setText(MessageManager.getString("label.input_alignment"));
221     vamsasStart.setText(MessageManager.getString("label.new_vamsas_session") + "...");
222     vamsasStart.setVisible(false);
223     vamsasStart.addActionListener(new ActionListener()
224     {
225       public void actionPerformed(ActionEvent e)
226       {
227         vamsasStart_actionPerformed(e);
228       }
229     });
230     vamsasImport.setText(MessageManager.getString("label.load_vamsas_session") + "...");
231     vamsasImport.setVisible(false);
232     vamsasImport.addActionListener(new ActionListener()
233     {
234       public void actionPerformed(ActionEvent e)
235       {
236         vamsasImport_actionPerformed(e);
237       }
238     });
239     vamsasSave.setText(MessageManager.getString("label.save_vamsas_session") + "...");
240     vamsasSave.setVisible(false);
241     vamsasSave.addActionListener(new ActionListener()
242     {
243       public void actionPerformed(ActionEvent e)
244       {
245         vamsasSave_actionPerformed(e);
246       }
247     });
248     inputSequence.setText(MessageManager.getString("label.fetch_sequences") + "...");
249     inputSequence.addActionListener(new ActionListener()
250     {
251       public void actionPerformed(ActionEvent e)
252       {
253         inputSequence_actionPerformed(e);
254       }
255     });
256     vamsasStop.setText(MessageManager.getString("label.stop_vamsas_session"));
257     vamsasStop.setVisible(false);
258     vamsasStop.addActionListener(new ActionListener()
259     {
260       public void actionPerformed(ActionEvent e)
261       {
262         vamsasStop_actionPerformed(e);
263       }
264     });
265     closeAll.setText(MessageManager.getString("action.close_all"));
266     closeAll.addActionListener(new ActionListener()
267     {
268       public void actionPerformed(ActionEvent e)
269       {
270         closeAll_actionPerformed(e);
271       }
272     });
273     raiseRelated.setText(MessageManager.getString("action.raise_associated_windows"));
274     raiseRelated.addActionListener(new ActionListener()
275     {
276       public void actionPerformed(ActionEvent e)
277       {
278         raiseRelated_actionPerformed(e);
279       }
280     });
281     minimizeAssociated.setText(MessageManager.getString("action.minimize_associated_windows"));
282     minimizeAssociated.addActionListener(new ActionListener()
283     {
284       public void actionPerformed(ActionEvent e)
285       {
286         minimizeAssociated_actionPerformed(e);
287       }
288     });
289     garbageCollect.setText(MessageManager.getString("label.collect_garbage"));
290     garbageCollect.addActionListener(new ActionListener()
291     {
292       public void actionPerformed(ActionEvent e)
293       {
294         garbageCollect_actionPerformed(e);
295       }
296     });
297     showMemusage.setText(MessageManager.getString("label.show_memory_usage"));
298     showMemusage.addActionListener(new ActionListener()
299     {
300       public void actionPerformed(ActionEvent e)
301       {
302         showMemusage_actionPerformed(e);
303       }
304     });
305     showConsole.setText(MessageManager.getString("label.show_java_console"));
306     showConsole.addActionListener(new ActionListener()
307     {
308       public void actionPerformed(ActionEvent e)
309       {
310         showConsole_actionPerformed(e);
311       }
312     });
313     showNews.setText(MessageManager.getString("label.show_jalview_news"));
314     showNews.addActionListener(new ActionListener()
315     {
316       public void actionPerformed(ActionEvent e)
317       {
318         showNews_actionPerformed(e);
319       }
320     });
321     desktopMenubar.add(FileMenu);
322     desktopMenubar.add(toolsMenu);
323     VamsasMenu.setVisible(false);
324     desktopMenubar.add(VamsasMenu);
325     desktopMenubar.add(HelpMenu);
326     desktopMenubar.add(windowMenu);
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
363   protected void showNews_actionPerformed(ActionEvent e)
364   {
365     // TODO Auto-generated method stub
366
367   }
368
369   protected void showMemusage_actionPerformed(ActionEvent e)
370   {
371     // TODO Auto-generated method stub
372
373   }
374
375   protected void garbageCollect_actionPerformed(ActionEvent e)
376   {
377     // TODO Auto-generated method stub
378
379   }
380
381   protected void vamsasStMenu_actionPerformed()
382   {
383   }
384
385   public void vamsasSave_actionPerformed(ActionEvent e)
386   {
387   }
388
389   /**
390    * DOCUMENT ME!
391    * 
392    * @param e
393    *          DOCUMENT ME!
394    */
395   protected void inputLocalFileMenuItem_actionPerformed(
396           jalview.gui.AlignViewport av)
397   {
398   }
399
400   /**
401    * DOCUMENT ME!
402    * 
403    * @param e
404    *          DOCUMENT ME!
405    */
406   protected void inputURLMenuItem_actionPerformed(
407           jalview.gui.AlignViewport av)
408   {
409   }
410
411   /**
412    * DOCUMENT ME!
413    * 
414    * @param e
415    *          DOCUMENT ME!
416    */
417   protected void inputTextboxMenuItem_actionPerformed(
418           jalview.gui.AlignViewport av)
419   {
420   }
421
422   /**
423    * DOCUMENT ME!
424    */
425   protected void quit()
426   {
427   }
428
429   /**
430    * DOCUMENT ME!
431    * 
432    * @param e
433    *          DOCUMENT ME!
434    */
435   protected void aboutMenuItem_actionPerformed(ActionEvent e)
436   {
437   }
438
439   /**
440    * DOCUMENT ME!
441    * 
442    * @param e
443    *          DOCUMENT ME!
444    */
445   protected void documentationMenuItem_actionPerformed(ActionEvent e)
446   {
447   }
448
449   /**
450    * DOCUMENT ME!
451    * 
452    * @param e
453    *          DOCUMENT ME!
454    */
455   public void SaveState_actionPerformed(ActionEvent e)
456   {
457   }
458
459   /**
460    * DOCUMENT ME!
461    * 
462    * @param e
463    *          DOCUMENT ME!
464    */
465   protected void preferences_actionPerformed(ActionEvent e)
466   {
467   }
468
469   /**
470    * DOCUMENT ME!
471    * 
472    * @param e
473    *          DOCUMENT ME!
474    */
475   public void saveState_actionPerformed(ActionEvent e)
476   {
477   }
478
479   /**
480    * DOCUMENT ME!
481    * 
482    * @param e
483    *          DOCUMENT ME!
484    */
485   public void loadState_actionPerformed(ActionEvent e)
486   {
487   }
488
489   /**
490    * DOCUMENT ME!
491    * 
492    * @param e
493    *          DOCUMENT ME!
494    */
495   public void loadJalviewAlign_actionPerformed(ActionEvent e)
496   {
497   }
498
499   public void vamsasStart_actionPerformed(ActionEvent e)
500   {
501
502   }
503
504   public void inputSequence_actionPerformed(ActionEvent e)
505   {
506
507   }
508
509   public void vamsasStop_actionPerformed(ActionEvent e)
510   {
511
512   }
513
514   public void closeAll_actionPerformed(ActionEvent e)
515   {
516
517   }
518
519   public void raiseRelated_actionPerformed(ActionEvent e)
520   {
521
522   }
523
524   public void minimizeAssociated_actionPerformed(ActionEvent e)
525   {
526
527   }
528
529   public void vamsasImport_actionPerformed(ActionEvent e)
530   {
531   }
532 }