minimize and raise associated windows
[jalview.git] / src / jalview / jbgui / GDesktop.java
1 /*\r
2 * Jalview - A Sequence Alignment Editor and Viewer\r
3 * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
4 *\r
5 * This program is free software; you can redistribute it and/or\r
6 * modify it under the terms of the GNU General Public License\r
7 * as published by the Free Software Foundation; either version 2\r
8 * of the License, or (at your option) any later version.\r
9 *\r
10 * This program is distributed in the hope that it will be useful,\r
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
13 * GNU General Public License for more details.\r
14 *\r
15 * You should have received a copy of the GNU General Public License\r
16 * along with this program; if not, write to the Free Software\r
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
18 */\r
19 package jalview.jbgui;\r
20 \r
21 import java.awt.*;\r
22 import java.awt.event.*;\r
23 \r
24 import javax.swing.*;\r
25 \r
26 \r
27 /**\r
28  * DOCUMENT ME!\r
29  *\r
30  * @author $author$\r
31  * @version $Revision$\r
32  */\r
33 public class GDesktop extends JFrame\r
34 {\r
35     protected static JMenu windowMenu = new JMenu();\r
36     JMenuBar desktopMenubar = new JMenuBar();\r
37     JMenu FileMenu = new JMenu();\r
38     JMenu HelpMenu = new JMenu();\r
39     protected JMenu VamsasMenu = new JMenu();\r
40     JMenuItem inputLocalFileMenuItem = new JMenuItem();\r
41     JMenuItem inputURLMenuItem = new JMenuItem();\r
42     JMenuItem inputTextboxMenuItem = new JMenuItem();\r
43     JMenuItem quit = new JMenuItem();\r
44     JMenuItem aboutMenuItem = new JMenuItem();\r
45     JMenuItem documentationMenuItem = new JMenuItem();\r
46     FlowLayout flowLayout1 = new FlowLayout();\r
47     JMenu toolsMenu = new JMenu();\r
48     JMenuItem preferences = new JMenuItem();\r
49     JMenuItem saveState = new JMenuItem();\r
50     JMenuItem loadState = new JMenuItem();\r
51     JMenu inputMenu = new JMenu();\r
52   protected JMenuItem vamsasLoad = new JMenuItem();\r
53   JMenuItem inputSequence = new JMenuItem();\r
54   protected JMenuItem vamsasStop = new JMenuItem();\r
55   JMenuItem closeAll = new JMenuItem();\r
56   JMenuItem raiseRelated = new JMenuItem();\r
57   JMenuItem minimizeAssociated = new JMenuItem();\r
58 \r
59   /**\r
60      * Creates a new GDesktop object.\r
61      */\r
62     public GDesktop()\r
63     {\r
64         try\r
65         {\r
66             jbInit();\r
67             this.setJMenuBar(desktopMenubar);\r
68         }\r
69         catch (Exception e)\r
70         {\r
71             e.printStackTrace();\r
72         }\r
73 \r
74         if (!System.getProperty("os.name").startsWith("Mac"))\r
75         {\r
76           FileMenu.setMnemonic('F');\r
77           inputLocalFileMenuItem.setMnemonic('L');\r
78           VamsasMenu.setMnemonic('V');\r
79           inputURLMenuItem.setMnemonic('U');\r
80           inputTextboxMenuItem.setMnemonic('C');\r
81           quit.setMnemonic('Q');\r
82           saveState.setMnemonic('S');\r
83           loadState.setMnemonic('L');\r
84           inputMenu.setMnemonic('I');\r
85         }\r
86     }\r
87 \r
88     /**\r
89      * DOCUMENT ME!\r
90      *\r
91      * @throws Exception DOCUMENT ME!\r
92      */\r
93     private void jbInit() throws Exception\r
94     {\r
95         FileMenu.setText("File");\r
96         HelpMenu.setText("Help");\r
97         VamsasMenu.setText("Vamsas");\r
98         VamsasMenu.setToolTipText("Share data with other vamsas applications.");\r
99         inputLocalFileMenuItem.setText("from File");\r
100     inputLocalFileMenuItem.setAccelerator(javax.swing.KeyStroke.getKeyStroke(\r
101         java.awt.event.KeyEvent.VK_O, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false));\r
102     inputLocalFileMenuItem.addActionListener(new java.awt.event.ActionListener()\r
103             {\r
104                 public void actionPerformed(ActionEvent e)\r
105                 {\r
106                     inputLocalFileMenuItem_actionPerformed(null);\r
107                 }\r
108             });\r
109         inputURLMenuItem.setText("from URL");\r
110         inputURLMenuItem.addActionListener(new java.awt.event.ActionListener()\r
111             {\r
112                 public void actionPerformed(ActionEvent e)\r
113                 {\r
114                     inputURLMenuItem_actionPerformed(null);\r
115                 }\r
116             });\r
117         inputTextboxMenuItem.setText("from Textbox");\r
118         inputTextboxMenuItem.addActionListener(new java.awt.event.ActionListener()\r
119             {\r
120                 public void actionPerformed(ActionEvent e)\r
121                 {\r
122                     inputTextboxMenuItem_actionPerformed(null);\r
123                 }\r
124             });\r
125         quit.setText("Quit");\r
126         quit.addActionListener(new java.awt.event.ActionListener()\r
127             {\r
128                 public void actionPerformed(ActionEvent e)\r
129                 {\r
130                     quit();\r
131                 }\r
132             });\r
133         aboutMenuItem.setText("About");\r
134         aboutMenuItem.addActionListener(new java.awt.event.ActionListener()\r
135             {\r
136                 public void actionPerformed(ActionEvent e)\r
137                 {\r
138                     aboutMenuItem_actionPerformed(e);\r
139                 }\r
140             });\r
141         documentationMenuItem.setText("Documentation");\r
142         documentationMenuItem.addActionListener(new java.awt.event.ActionListener()\r
143             {\r
144                 public void actionPerformed(ActionEvent e)\r
145                 {\r
146                     documentationMenuItem_actionPerformed(e);\r
147                 }\r
148             });\r
149         this.getContentPane().setLayout(flowLayout1);\r
150         windowMenu.setText("Window");\r
151         preferences.setText("Preferences...");\r
152         preferences.addActionListener(new ActionListener()\r
153             {\r
154                 public void actionPerformed(ActionEvent e)\r
155                 {\r
156                     preferences_actionPerformed(e);\r
157                 }\r
158             });\r
159         toolsMenu.setText("Tools");\r
160         saveState.setText("Save Project");\r
161         saveState.addActionListener(new ActionListener()\r
162             {\r
163                 public void actionPerformed(ActionEvent e)\r
164                 {\r
165                     saveState_actionPerformed(e);\r
166                 }\r
167             });\r
168         loadState.setText("Load Project");\r
169         loadState.addActionListener(new ActionListener()\r
170             {\r
171                 public void actionPerformed(ActionEvent e)\r
172                 {\r
173                     loadState_actionPerformed(e);\r
174                 }\r
175             });\r
176         inputMenu.setText("Input Alignment");\r
177     vamsasLoad.setText("Start Vamsas Session...");\r
178     vamsasLoad.setVisible(false);\r
179     vamsasLoad.addActionListener(new ActionListener()\r
180     {\r
181       public void actionPerformed(ActionEvent e)\r
182       {\r
183         vamsasLoad_actionPerformed(e);\r
184       }\r
185     });\r
186     inputSequence.setText("Fetch Sequence(s)...");\r
187     inputSequence.addActionListener(new ActionListener()\r
188     {\r
189       public void actionPerformed(ActionEvent e)\r
190       {\r
191         inputSequence_actionPerformed(e);\r
192       }\r
193     });\r
194     vamsasStop.setText("Stop Vamsas Session");\r
195     vamsasStop.setVisible(false);\r
196     vamsasStop.addActionListener(new ActionListener()\r
197     {\r
198       public void actionPerformed(ActionEvent e)\r
199       {\r
200         vamsasStop_actionPerformed(e);\r
201       }\r
202     });\r
203     closeAll.setText("Close All");\r
204     closeAll.addActionListener(new ActionListener()\r
205     {\r
206       public void actionPerformed(ActionEvent e)\r
207       {\r
208         closeAll_actionPerformed(e);\r
209       }\r
210     });\r
211     raiseRelated.setText("Raise Associated Windows");\r
212     raiseRelated.addActionListener(new ActionListener()\r
213     {\r
214       public void actionPerformed(ActionEvent e)\r
215       {\r
216         raiseRelated_actionPerformed(e);\r
217       }\r
218     });\r
219     minimizeAssociated.setText("Minimize Associated Windows");\r
220     minimizeAssociated.addActionListener(new ActionListener()\r
221     {\r
222       public void actionPerformed(ActionEvent e)\r
223       {\r
224         minimizeAssociated_actionPerformed(e);\r
225       }\r
226     });\r
227     desktopMenubar.add(FileMenu);\r
228     desktopMenubar.add(toolsMenu);\r
229     VamsasMenu.setVisible(false);\r
230     desktopMenubar.add(VamsasMenu);\r
231     desktopMenubar.add(HelpMenu);\r
232     desktopMenubar.add(windowMenu);\r
233     FileMenu.add(inputMenu);\r
234     FileMenu.add(inputSequence);\r
235     FileMenu.addSeparator();\r
236     FileMenu.add(saveState);\r
237     FileMenu.add(loadState);\r
238     FileMenu.addSeparator();\r
239     FileMenu.add(quit);\r
240     HelpMenu.add(aboutMenuItem);\r
241     HelpMenu.add(documentationMenuItem);\r
242     VamsasMenu.add(vamsasLoad);\r
243     VamsasMenu.add(vamsasStop);\r
244     toolsMenu.add(preferences);\r
245     inputMenu.add(inputLocalFileMenuItem);\r
246     inputMenu.add(inputURLMenuItem);\r
247     inputMenu.add(inputTextboxMenuItem);\r
248     windowMenu.add(closeAll);\r
249     windowMenu.add(raiseRelated);\r
250     windowMenu.add(minimizeAssociated);\r
251     windowMenu.addSeparator();\r
252     //    inputMenu.add(vamsasLoad);\r
253   }\r
254 \r
255     /**\r
256      * DOCUMENT ME!\r
257      *\r
258      * @param e DOCUMENT ME!\r
259      */\r
260     protected void inputLocalFileMenuItem_actionPerformed(jalview.gui.AlignViewport av)\r
261     {\r
262     }\r
263 \r
264     /**\r
265      * DOCUMENT ME!\r
266      *\r
267      * @param e DOCUMENT ME!\r
268      */\r
269     protected void inputURLMenuItem_actionPerformed(jalview.gui.AlignViewport av)\r
270     {\r
271     }\r
272 \r
273     /**\r
274      * DOCUMENT ME!\r
275      *\r
276      * @param e DOCUMENT ME!\r
277      */\r
278     protected void inputTextboxMenuItem_actionPerformed(jalview.gui.AlignViewport av)\r
279     {\r
280     }\r
281 \r
282     /**\r
283      * DOCUMENT ME!\r
284      */\r
285     protected void quit()\r
286     {\r
287     }\r
288 \r
289     /**\r
290      * DOCUMENT ME!\r
291      *\r
292      * @param e DOCUMENT ME!\r
293      */\r
294     protected void aboutMenuItem_actionPerformed(ActionEvent e)\r
295     {\r
296     }\r
297 \r
298     /**\r
299      * DOCUMENT ME!\r
300      *\r
301      * @param e DOCUMENT ME!\r
302      */\r
303     protected void documentationMenuItem_actionPerformed(ActionEvent e)\r
304     {\r
305     }\r
306 \r
307     /**\r
308      * DOCUMENT ME!\r
309      *\r
310      * @param e DOCUMENT ME!\r
311      */\r
312     public void SaveState_actionPerformed(ActionEvent e)\r
313     {\r
314     }\r
315 \r
316     /**\r
317      * DOCUMENT ME!\r
318      *\r
319      * @param e DOCUMENT ME!\r
320      */\r
321     protected void preferences_actionPerformed(ActionEvent e)\r
322     {\r
323     }\r
324 \r
325     /**\r
326      * DOCUMENT ME!\r
327      *\r
328      * @param e DOCUMENT ME!\r
329      */\r
330     public void saveState_actionPerformed(ActionEvent e)\r
331     {\r
332     }\r
333 \r
334     /**\r
335      * DOCUMENT ME!\r
336      *\r
337      * @param e DOCUMENT ME!\r
338      */\r
339     public void loadState_actionPerformed(ActionEvent e)\r
340     {\r
341     }\r
342 \r
343     /**\r
344      * DOCUMENT ME!\r
345      *\r
346      * @param e DOCUMENT ME!\r
347      */\r
348     public void loadJalviewAlign_actionPerformed(ActionEvent e)\r
349     {\r
350     }\r
351 \r
352   public void vamsasLoad_actionPerformed(ActionEvent e)\r
353   {\r
354 \r
355   }\r
356 \r
357   public void inputSequence_actionPerformed(ActionEvent e)\r
358   {\r
359 \r
360   }\r
361   public void vamsasStop_actionPerformed(ActionEvent e)\r
362   {\r
363 \r
364   }\r
365 \r
366   public void closeAll_actionPerformed(ActionEvent e)\r
367   {\r
368 \r
369   }\r
370 \r
371   public void raiseRelated_actionPerformed(ActionEvent e)\r
372   {\r
373 \r
374   }\r
375 \r
376   public void minimizeAssociated_actionPerformed(ActionEvent e)\r
377   {\r
378 \r
379   }\r
380 }\r