Clover icon

Coverage Report

  1. Project Clover database Thu Dec 4 2025 14:43:25 GMT
  2. Package jalview.jbgui

File GDesktop.java

 

Coverage histogram

../../img/srcFileCovDistChart6.png
37% of files have more coverage

Code metrics

16
131
50
1
628
443
62
0.47
2.62
50
1.24

Classes

Class Line # Actions
GDesktop 48 131 62
0.5634517756.3%
 

Contributing tests

No tests hitting this source file were found.

Source view

1    /*
2    * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3    * Copyright (C) $$Year-Rel$$ The Jalview Authors
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
10    * of the License, or (at your option) any later version.
11    *
12    * Jalview is distributed in the hope that it will be useful, but
13    * WITHOUT ANY WARRANTY; without even the implied warranty
14    * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15    * PURPOSE. See the GNU General Public License for more details.
16    *
17    * You should have received a copy of the GNU General Public License
18    * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
19    * The Jalview Authors are detailed in the 'AUTHORS' file.
20    */
21    package jalview.jbgui;
22   
23   
24    import java.awt.FlowLayout;
25    import java.awt.event.ActionEvent;
26    import java.awt.event.ActionListener;
27   
28    import javax.swing.JCheckBoxMenuItem;
29    import javax.swing.JFrame;
30    import javax.swing.JMenu;
31    import javax.swing.JMenuBar;
32    import javax.swing.JMenuItem;
33   
34    import jalview.api.AlignmentViewPanel;
35    import jalview.bin.Cache;
36    import jalview.gui.APQHandlers;
37    import jalview.gui.Desktop;
38    import jalview.io.FileFormatException;
39    import jalview.util.MessageManager;
40    import jalview.util.Platform;
41    /**
42    * DOCUMENT ME!
43    *
44    * @author $author$
45    * @version $Revision$
46    */
47    @SuppressWarnings("serial")
 
48    public class GDesktop extends JFrame
49    {
50   
51    protected JMenu windowMenu = new JMenu();
52   
53    JMenuBar desktopMenubar = new JMenuBar();
54   
55    JMenu FileMenu = new JMenu();
56   
57    JMenu HelpMenu = new JMenu();
58   
59    JMenuItem inputLocalFileMenuItem = new JMenuItem();
60   
61    JMenuItem inputURLMenuItem = new JMenuItem();
62   
63    JMenuItem inputTextboxMenuItem = new JMenuItem();
64   
65    JMenuItem quit = new JMenuItem();
66   
67    JMenuItem aboutMenuItem = new JMenuItem();
68   
69    JMenuItem documentationMenuItem = new JMenuItem();
70   
71    FlowLayout flowLayout1 = new FlowLayout();
72   
73    protected JMenu toolsMenu = new JMenu();
74   
75    JMenuItem preferences = new JMenuItem();
76   
77    JMenuItem saveState = new JMenuItem();
78   
79    JMenuItem saveAsState = new JMenuItem();
80   
81    JMenuItem loadState = new JMenuItem();
82   
83    JMenu inputMenu = new JMenu();
84   
85    JMenuItem inputSequence = new JMenuItem();
86   
87    JMenuItem closeAll = new JMenuItem();
88   
89    JMenuItem raiseRelated = new JMenuItem();
90   
91    JMenuItem minimizeAssociated = new JMenuItem();
92   
93    protected JCheckBoxMenuItem showMemusage = new JCheckBoxMenuItem();
94   
95    JMenuItem garbageCollect = new JMenuItem();
96   
97    protected JMenuItem groovyShell;
98   
99    protected JCheckBoxMenuItem experimentalFeatures;
100   
101    protected JCheckBoxMenuItem showConsole = new JCheckBoxMenuItem();
102   
103    protected JCheckBoxMenuItem showNews = new JCheckBoxMenuItem();
104   
105    protected JMenuItem snapShotWindow = new JMenuItem();
106   
107    /**
108    * Creates a new GDesktop object.
109    */
 
110  11 toggle public GDesktop()
111    {
112  11 super();
113   
114    // instantiate here to set same context (e.g. font) as other menus
115  11 if (windowMenu == null)
116    {
117  0 windowMenu = new JMenu();
118    }
119   
120  11 try
121    {
122  11 jbInit();
123  11 this.setJMenuBar(desktopMenubar);
124    } catch (Exception e)
125    {
126  0 e.printStackTrace();
127    }
128   
129  11 if (Platform.allowMnemonics())
130    {
131    //BH was !Platform.isAMacAndNotJS()) i.e. "JS or not Mac"
132    // but here we want just not a Mac, period, right?
133  11 FileMenu.setMnemonic('F');
134  11 inputLocalFileMenuItem.setMnemonic('L');
135  11 inputURLMenuItem.setMnemonic('U');
136  11 inputTextboxMenuItem.setMnemonic('C');
137  11 quit.setMnemonic('Q');
138  11 saveState.setMnemonic('S');
139  11 loadState.setMnemonic('L');
140  11 inputMenu.setMnemonic('I');
141    }
142    }
143   
144    /**
145    * DOCUMENT ME!
146    *
147    * @throws Exception
148    * DOCUMENT ME!
149    */
 
150  11 toggle private void jbInit() throws Exception
151    {
152    /**
153    * APQHandlers sets handlers for About, Preferences and Quit actions
154    * peculiar to macOS's application menu. APQHandlers will check to see if a
155    * handler is supported before setting it.
156    */
157  11 try
158    {
159    // TODO: JAL-4107 if (!Platform.isJS()
160  11 APQHandlers.setAPQHandlers((Desktop) this);
161    } catch (Exception e)
162    {
163  0 jalview.bin.Console.outPrintln("Cannot set APQHandlers");
164    // e.printStackTrace();
165    } catch (Throwable t)
166    {
167  0 jalview.bin.Console
168    .warn("Error setting APQHandlers: " + t.toString());
169  0 jalview.bin.Console.trace(Cache.getStackTraceString(t));
170    }
171   
172  11 setName(Platform.getAppID("desktop"));
173  11 FileMenu.setText(MessageManager.getString("action.file"));
174  11 HelpMenu.setText(MessageManager.getString("action.help"));
175  11 inputLocalFileMenuItem
176    .setText(MessageManager.getString("label.load_tree_from_file"));
177  11 inputLocalFileMenuItem.setAccelerator(
178    javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O,
179    Platform.SHORTCUT_KEY_MASK,
180    false));
181  11 inputLocalFileMenuItem
182    .addActionListener(new java.awt.event.ActionListener()
183    {
 
184  0 toggle @Override
185    public void actionPerformed(ActionEvent e)
186    {
187  0 inputLocalFileMenuItem_actionPerformed(null);
188    }
189    });
190  11 inputURLMenuItem.setText(MessageManager.getString("label.from_url"));
191  11 inputURLMenuItem.addActionListener(new java.awt.event.ActionListener()
192    {
 
193  0 toggle @Override
194    public void actionPerformed(ActionEvent e)
195    {
196  0 try
197    {
198  0 inputURLMenuItem_actionPerformed(null);
199    } catch (FileFormatException e1)
200    {
201  0 jalview.bin.Console
202    .errPrintln("Error loading from URL: " + e1.getMessage());
203    }
204    }
205    });
206  11 inputTextboxMenuItem
207    .setText(MessageManager.getString("label.from_textbox"));
208  11 inputTextboxMenuItem
209    .addActionListener(new java.awt.event.ActionListener()
210    {
 
211  0 toggle @Override
212    public void actionPerformed(ActionEvent e)
213    {
214  0 inputTextboxMenuItem_actionPerformed(null);
215    }
216    });
217  11 quit.setText(MessageManager.getString("action.quit"));
218  11 quit.addActionListener(new java.awt.event.ActionListener()
219    {
 
220  0 toggle @Override
221    public void actionPerformed(ActionEvent e)
222    {
223  0 if (Desktop.getInstance() != null)
224  0 Desktop.getInstance().desktopQuit();
225    }
226    });
227  11 aboutMenuItem.setText(MessageManager.getString("label.about"));
228  11 aboutMenuItem.addActionListener(new java.awt.event.ActionListener()
229    {
 
230  0 toggle @Override
231    public void actionPerformed(ActionEvent e)
232    {
233  0 aboutMenuItem_actionPerformed(e);
234    }
235    });
236  11 documentationMenuItem
237    .setText(MessageManager.getString("label.documentation"));
238  11 documentationMenuItem.setAccelerator(javax.swing.KeyStroke
239    .getKeyStroke(java.awt.event.KeyEvent.VK_F1, 0, false));
240  11 documentationMenuItem
241    .addActionListener(new java.awt.event.ActionListener()
242    {
 
243  0 toggle @Override
244    public void actionPerformed(ActionEvent e)
245    {
246  0 documentationMenuItem_actionPerformed();
247    }
248    });
249  11 this.getContentPane().setLayout(flowLayout1);
250  11 windowMenu.setText(MessageManager.getString("label.window"));
251  11 preferences.setText(MessageManager.getString("label.preferences"));
252  11 preferences.addActionListener(new ActionListener()
253    {
 
254  0 toggle @Override
255    public void actionPerformed(ActionEvent e)
256    {
257  0 preferences_actionPerformed(e);
258    }
259    });
260  11 toolsMenu.setText(MessageManager.getString("label.tools"));
261  11 saveState.setText(MessageManager.getString("action.save_project"));
262  11 saveState.addActionListener(new ActionListener()
263    {
 
264  0 toggle @Override
265    public void actionPerformed(ActionEvent e)
266    {
267  0 saveState_actionPerformed();
268    }
269    });
270  11 saveAsState.setText(MessageManager.getString("action.save_project_as"));
271  11 saveAsState.addActionListener(new ActionListener()
272    {
 
273  0 toggle @Override
274    public void actionPerformed(ActionEvent e)
275    {
276  0 saveAsState_actionPerformed(e);
277    }
278    });
279  11 loadState.setText(MessageManager.getString("action.load_project"));
280  11 loadState.addActionListener(new ActionListener()
281    {
 
282  0 toggle @Override
283    public void actionPerformed(ActionEvent e)
284    {
285  0 loadState_actionPerformed();
286    }
287    });
288  11 inputMenu.setText(MessageManager.getString("label.input_alignment"));
289  11 inputSequence
290    .setText(MessageManager.getString("action.fetch_sequences"));
291  11 inputSequence.addActionListener(new ActionListener()
292    {
 
293  0 toggle @Override
294    public void actionPerformed(ActionEvent e)
295    {
296  0 inputSequence_actionPerformed(e);
297    }
298    });
299  11 closeAll.setText(MessageManager.getString("action.close_all"));
300  11 closeAll.addActionListener(new ActionListener()
301    {
 
302  0 toggle @Override
303    public void actionPerformed(ActionEvent e)
304    {
305  0 closeAll_actionPerformed(e);
306    }
307    });
308  11 raiseRelated.setText(
309    MessageManager.getString("action.raise_associated_windows"));
310  11 raiseRelated.addActionListener(new ActionListener()
311    {
 
312  0 toggle @Override
313    public void actionPerformed(ActionEvent e)
314    {
315  0 raiseRelated_actionPerformed(e);
316    }
317    });
318  11 minimizeAssociated.setText(
319    MessageManager.getString("action.minimize_associated_windows"));
320  11 minimizeAssociated.addActionListener(new ActionListener()
321    {
 
322  0 toggle @Override
323    public void actionPerformed(ActionEvent e)
324    {
325  0 minimizeAssociated_actionPerformed(e);
326    }
327    });
328  11 garbageCollect
329    .setText(MessageManager.getString("label.collect_garbage"));
330  11 garbageCollect.addActionListener(new ActionListener()
331    {
 
332  0 toggle @Override
333    public void actionPerformed(ActionEvent e)
334    {
335  0 garbageCollect_actionPerformed(e);
336    }
337    });
338  11 showMemusage
339    .setText(MessageManager.getString("label.show_memory_usage"));
340  11 showMemusage.addActionListener(new ActionListener()
341    {
 
342  0 toggle @Override
343    public void actionPerformed(ActionEvent e)
344    {
345  0 showMemusage_actionPerformed(e);
346    }
347    });
348  11 showConsole
349    .setText(MessageManager.getString("label.show_java_console"));
350  11 showConsole.addActionListener(new ActionListener()
351    {
 
352  0 toggle @Override
353    public void actionPerformed(ActionEvent e)
354    {
355  0 showConsole_actionPerformed(e);
356    }
357    });
358  11 showNews.setText(MessageManager.getString("label.show_jalview_news"));
359  11 showNews.addActionListener(new ActionListener()
360    {
 
361  0 toggle @Override
362    public void actionPerformed(ActionEvent e)
363    {
364  0 showNews_actionPerformed(e);
365    }
366    });
367  11 groovyShell = new JMenuItem();
368  11 groovyShell.setText(MessageManager.getString("label.groovy_console"));
369  11 groovyShell.addActionListener(new ActionListener()
370    {
 
371  0 toggle @Override
372    public void actionPerformed(ActionEvent e)
373    {
374  0 groovyShell_actionPerformed();
375    }
376    });
377  11 experimentalFeatures = new JCheckBoxMenuItem();
378  11 experimentalFeatures
379    .setText(MessageManager.getString("label.show_experimental"));
380  11 experimentalFeatures.setToolTipText(
381    MessageManager.getString("label.show_experimental_tip"));
382  11 experimentalFeatures.addActionListener(new ActionListener()
383    {
 
384  0 toggle @Override
385    public void actionPerformed(ActionEvent e)
386    {
387  0 showExperimental_actionPerformed(experimentalFeatures.isSelected());
388    }
389    });
390   
391  11 snapShotWindow.setText(MessageManager.getString("label.take_snapshot"));
392  11 snapShotWindow.addActionListener(new ActionListener()
393    {
 
394  0 toggle @Override
395    public void actionPerformed(ActionEvent e)
396    {
397  0 snapShotWindow_actionPerformed(e);
398    }
399    });
400   
401  11 Float specversion = Platform.isJS() ? Float.valueOf(8)
402    : Float.parseFloat(
403    System.getProperty("java.specification.version"));
404   
405  11 desktopMenubar.add(FileMenu);
406  11 desktopMenubar.add(toolsMenu);
407  11 desktopMenubar.add(HelpMenu);
408  11 desktopMenubar.add(windowMenu);
409  11 FileMenu.add(inputMenu);
410  11 FileMenu.add(inputSequence);
411  11 FileMenu.addSeparator();
412    //FileMenu.add(saveState);
413  11 FileMenu.add(saveAsState);
414  11 FileMenu.add(loadState);
415  11 FileMenu.addSeparator();
416  11 if (!APQHandlers.setQuit)
417    {
418  11 FileMenu.add(quit);
419    }
420  11 if (!APQHandlers.setAbout)
421    {
422  11 HelpMenu.add(aboutMenuItem);
423    }
424  11 HelpMenu.add(documentationMenuItem);
425  11 if (!APQHandlers.setPreferences)
426    {
427  11 toolsMenu.add(preferences);
428    }
429  11 if (!Platform.isJS())
430    {
431  11 toolsMenu.add(showMemusage);
432  11 toolsMenu.add(showConsole);
433  11 toolsMenu.add(showNews);
434  11 toolsMenu.add(garbageCollect);
435  11 toolsMenu.add(groovyShell);
436    }
437  11 toolsMenu.add(experimentalFeatures);
438    // toolsMenu.add(snapShotWindow);
439  11 inputMenu.add(inputLocalFileMenuItem);
440  11 inputMenu.add(inputURLMenuItem);
441  11 inputMenu.add(inputTextboxMenuItem);
442  11 windowMenu.add(closeAll);
443  11 windowMenu.add(raiseRelated);
444  11 windowMenu.add(minimizeAssociated);
445  11 windowMenu.addSeparator();
446    // inputMenu.add(vamsasLoad);
447    }
448   
 
449  0 toggle protected void showExperimental_actionPerformed(boolean selected)
450    {
451    }
452   
 
453  0 toggle protected void groovyShell_actionPerformed()
454    {
455    }
456   
 
457  0 toggle protected void snapShotWindow_actionPerformed(ActionEvent e)
458    {
459    // TODO Auto-generated method stub
460   
461    }
462   
 
463  0 toggle protected void showConsole_actionPerformed(ActionEvent e)
464    {
465    // TODO Auto-generated method stub
466   
467    }
468   
 
469  0 toggle protected void showNews_actionPerformed(ActionEvent e)
470    {
471    // TODO Auto-generated method stub
472   
473    }
474   
 
475  0 toggle protected void showMemusage_actionPerformed(ActionEvent e)
476    {
477    // TODO Auto-generated method stub
478   
479    }
480   
 
481  0 toggle protected void garbageCollect_actionPerformed(ActionEvent e)
482    {
483    // TODO Auto-generated method stub
484   
485    }
486   
 
487  0 toggle protected void vamsasStMenu_actionPerformed()
488    {
489    }
490   
 
491  0 toggle public void vamsasSave_actionPerformed(ActionEvent e)
492    {
493    }
494   
495    /**
496    * DOCUMENT ME!
497    *
498    * @param e
499    * DOCUMENT ME!
500    */
 
501  0 toggle protected void inputLocalFileMenuItem_actionPerformed(
502    jalview.gui.AlignViewport av)
503    {
504    }
505   
506    /**
507    * DOCUMENT ME!
508    *
509    * @param e
510    * DOCUMENT ME!
511    * @throws FileFormatException
512    */
 
513  0 toggle protected void inputURLMenuItem_actionPerformed(
514    jalview.gui.AlignViewport av) throws FileFormatException
515    {
516    }
517   
518    /**
519    * DOCUMENT ME!
520    *
521    * @param e
522    * DOCUMENT ME!
523    */
 
524  0 toggle protected void inputTextboxMenuItem_actionPerformed(
525    AlignmentViewPanel avp)
526    {
527    }
528   
529    /**
530    * DOCUMENT ME!
531    */
 
532  0 toggle protected void quit()
533    {
534    // jalview.bin.Console.outPrintln("********** GDesktop.quit()");
535    }
536   
537    /**
538    * DOCUMENT ME!
539    *
540    * @param e
541    * DOCUMENT ME!
542    */
 
543  0 toggle protected void aboutMenuItem_actionPerformed(ActionEvent e)
544    {
545    }
546   
 
547  0 toggle protected void documentationMenuItem_actionPerformed()
548    {
549    }
550   
551    /**
552    * DOCUMENT ME!
553    *
554    * @param e
555    * DOCUMENT ME!
556    */
 
557  0 toggle protected void preferences_actionPerformed(ActionEvent e)
558    {
559    }
560   
561    /**
562    * DOCUMENT ME!
563    *
564    * @param e
565    * DOCUMENT ME!
566    */
 
567  0 toggle public void saveState_actionPerformed()
568    {
569    }
570   
 
571  0 toggle public void saveAsState_actionPerformed(ActionEvent e)
572    {
573    }
574   
575    /**
576    * DOCUMENT ME!
577    *
578    * @param e
579    * DOCUMENT ME!
580    */
 
581  0 toggle public void loadState_actionPerformed()
582    {
583    }
584   
585    /**
586    * DOCUMENT ME!
587    *
588    * @param e
589    * DOCUMENT ME!
590    */
 
591  0 toggle public void loadJalviewAlign_actionPerformed(ActionEvent e)
592    {
593    }
594   
 
595  0 toggle public void vamsasStart_actionPerformed(ActionEvent e)
596    {
597   
598    }
599   
 
600  0 toggle public void inputSequence_actionPerformed(ActionEvent e)
601    {
602   
603    }
604   
 
605  0 toggle public void vamsasStop_actionPerformed(ActionEvent e)
606    {
607   
608    }
609   
 
610  0 toggle public void closeAll_actionPerformed(ActionEvent e)
611    {
612   
613    }
614   
 
615  0 toggle public void raiseRelated_actionPerformed(ActionEvent e)
616    {
617   
618    }
619   
 
620  0 toggle public void minimizeAssociated_actionPerformed(ActionEvent e)
621    {
622   
623    }
624   
 
625  0 toggle public void vamsasImport_actionPerformed(ActionEvent e)
626    {
627    }
628    }