Clover icon

jalviewX

  1. Project Clover database Wed Oct 31 2018 15:13:58 GMT
  2. Package jalview.jbgui

File GAlignFrame.java

 

Coverage histogram

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

Code metrics

22
705
264
1
2,686
2,175
276
0.39
2.67
264
1.05

Classes

Class Line # Actions
GAlignFrame 63 705 276 414
0.5822401658.2%
 

Contributing tests

This file is covered by 73 tests. .

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    import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder;
24    import jalview.api.SplitContainerI;
25    import jalview.bin.Cache;
26    import jalview.bin.Jalview;
27    import jalview.gui.JvSwingUtils;
28    import jalview.gui.Preferences;
29    import jalview.io.FileFormats;
30    import jalview.util.MessageManager;
31    import jalview.util.Platform;
32   
33    import java.awt.BorderLayout;
34    import java.awt.Color;
35    import java.awt.GridLayout;
36    import java.awt.Toolkit;
37    import java.awt.event.ActionEvent;
38    import java.awt.event.ActionListener;
39    import java.awt.event.FocusAdapter;
40    import java.awt.event.FocusEvent;
41    import java.awt.event.KeyEvent;
42    import java.awt.event.MouseAdapter;
43    import java.awt.event.MouseEvent;
44    import java.util.HashMap;
45    import java.util.Map;
46   
47    import javax.swing.BorderFactory;
48    import javax.swing.ButtonGroup;
49    import javax.swing.JCheckBoxMenuItem;
50    import javax.swing.JInternalFrame;
51    import javax.swing.JLabel;
52    import javax.swing.JMenu;
53    import javax.swing.JMenuBar;
54    import javax.swing.JMenuItem;
55    import javax.swing.JPanel;
56    import javax.swing.JRadioButtonMenuItem;
57    import javax.swing.JTabbedPane;
58    import javax.swing.KeyStroke;
59    import javax.swing.event.ChangeEvent;
60    import javax.swing.event.MenuEvent;
61    import javax.swing.event.MenuListener;
62   
 
63    public class GAlignFrame extends JInternalFrame
64    {
65    protected JMenuBar alignFrameMenuBar = new JMenuBar();
66   
67    protected JMenuItem closeMenuItem = new JMenuItem();
68   
69    protected JMenu webService = new JMenu();
70   
71    protected JMenuItem webServiceNoServices;
72   
73    protected JCheckBoxMenuItem viewBoxesMenuItem = new JCheckBoxMenuItem();
74   
75    protected JCheckBoxMenuItem viewTextMenuItem = new JCheckBoxMenuItem();
76   
77    protected JMenu sortByAnnotScore = new JMenu();
78   
79    public JLabel statusBar = new JLabel();
80   
81    protected JMenu outputTextboxMenu = new JMenu();
82   
83    protected JCheckBoxMenuItem annotationPanelMenuItem = new JCheckBoxMenuItem();
84   
85    protected JCheckBoxMenuItem colourTextMenuItem = new JCheckBoxMenuItem();
86   
87    protected JCheckBoxMenuItem showNonconservedMenuItem = new JCheckBoxMenuItem();
88   
89    protected JMenuItem undoMenuItem = new JMenuItem();
90   
91    protected JMenuItem redoMenuItem = new JMenuItem();
92   
93    protected JCheckBoxMenuItem wrapMenuItem = new JCheckBoxMenuItem();
94   
95    protected JCheckBoxMenuItem renderGapsMenuItem = new JCheckBoxMenuItem();
96   
97    public JCheckBoxMenuItem showSeqFeatures = new JCheckBoxMenuItem();
98   
99    JMenuItem copy = new JMenuItem();
100   
101    JMenuItem cut = new JMenuItem();
102   
103    JMenu pasteMenu = new JMenu();
104   
105    protected JCheckBoxMenuItem seqLimits = new JCheckBoxMenuItem();
106   
107    protected JCheckBoxMenuItem scaleAbove = new JCheckBoxMenuItem();
108   
109    protected JCheckBoxMenuItem scaleLeft = new JCheckBoxMenuItem();
110   
111    protected JCheckBoxMenuItem scaleRight = new JCheckBoxMenuItem();
112   
113    protected JCheckBoxMenuItem applyToAllGroups;
114   
115    protected JMenu colourMenu = new JMenu();
116   
117    protected JMenuItem textColour;
118   
119    protected JCheckBoxMenuItem conservationMenuItem;
120   
121    protected JMenuItem modifyConservation;
122   
123    protected JCheckBoxMenuItem abovePIDThreshold;
124   
125    protected JMenuItem modifyPID;
126   
127    protected JMenuItem annotationColour;
128   
129    protected JMenu sortByTreeMenu = new JMenu();
130   
131    protected JMenu sort = new JMenu();
132   
133    protected JMenuItem calculateTree = new JMenuItem();
134   
135    protected JCheckBoxMenuItem padGapsMenuitem = new JCheckBoxMenuItem();
136   
137    protected JCheckBoxMenuItem showNpFeatsMenuitem = new JCheckBoxMenuItem();
138   
139    protected JCheckBoxMenuItem showDbRefsMenuitem = new JCheckBoxMenuItem();
140   
141    protected JMenuItem showTranslation = new JMenuItem();
142   
143    protected JMenuItem showReverse = new JMenuItem();
144   
145    protected JMenuItem showReverseComplement = new JMenuItem();
146   
147    protected JMenu showProducts = new JMenu();
148   
149    protected JMenuItem runGroovy = new JMenuItem();
150   
151    protected JMenuItem loadVcf;
152   
153    protected JCheckBoxMenuItem autoCalculate = new JCheckBoxMenuItem();
154   
155    protected JCheckBoxMenuItem sortByTree = new JCheckBoxMenuItem();
156   
157    protected JCheckBoxMenuItem listenToViewSelections = new JCheckBoxMenuItem();
158   
159    protected JPanel statusPanel = new JPanel();
160   
161    protected JMenuItem showAllSeqAnnotations = new JMenuItem();
162   
163    protected JMenuItem hideAllSeqAnnotations = new JMenuItem();
164   
165    protected JMenuItem showAllAlAnnotations = new JMenuItem();
166   
167    protected JMenuItem hideAllAlAnnotations = new JMenuItem();
168   
169    protected JCheckBoxMenuItem showComplementMenuItem = new JCheckBoxMenuItem();
170   
171    protected JCheckBoxMenuItem hiddenMarkers = new JCheckBoxMenuItem();
172   
173    protected JTabbedPane tabbedPane = jalview.jbgui.GDesktop.createTabbedPane();
174   
175    protected JMenuItem reload = new JMenuItem();
176   
177    protected JMenu formatMenu = new JMenu();
178   
179    protected JCheckBoxMenuItem idRightAlign = new JCheckBoxMenuItem();
180   
181    protected JCheckBoxMenuItem centreColumnLabelsMenuItem = new JCheckBoxMenuItem();
182   
183    protected JCheckBoxMenuItem followHighlightMenuItem = new JCheckBoxMenuItem();
184   
185    protected JMenuItem gatherViews = new JMenuItem();
186   
187    protected JMenuItem expandViews = new JMenuItem();
188   
189    protected JCheckBoxMenuItem showGroupConsensus = new JCheckBoxMenuItem();
190   
191    protected JCheckBoxMenuItem showGroupConservation = new JCheckBoxMenuItem();
192   
193    protected JCheckBoxMenuItem showConsensusHistogram = new JCheckBoxMenuItem();
194   
195    protected JCheckBoxMenuItem showSequenceLogo = new JCheckBoxMenuItem();
196   
197    protected JCheckBoxMenuItem normaliseSequenceLogo = new JCheckBoxMenuItem();
198   
199    protected JCheckBoxMenuItem applyAutoAnnotationSettings = new JCheckBoxMenuItem();
200   
201    protected JMenuItem openFeatureSettings;
202   
203    private SequenceAnnotationOrder annotationSortOrder;
204   
205    private boolean showAutoCalculatedAbove = false;
206   
207    private Map<KeyStroke, JMenuItem> accelerators = new HashMap<KeyStroke, JMenuItem>();
208   
209    private SplitContainerI splitFrame;
210   
 
211  193 toggle public GAlignFrame()
212    {
213  193 try
214    {
215  193 jbInit();
216  193 setJMenuBar(alignFrameMenuBar);
217   
218    // dynamically fill save as menu with available formats
219  193 for (String ff : FileFormats.getInstance().getWritableFormats(true))
220    {
221  2123 JMenuItem item = new JMenuItem(ff);
222   
223  2123 item.addActionListener(new ActionListener()
224    {
 
225  0 toggle @Override
226    public void actionPerformed(ActionEvent e)
227    {
228  0 outputText_actionPerformed(e.getActionCommand());
229    }
230    });
231   
232  2123 outputTextboxMenu.add(item);
233    }
234    } catch (Exception e)
235    {
236  0 System.err.println(e.toString());
237    }
238   
239  193 if (!Platform.isAMac())
240    {
241  193 closeMenuItem.setMnemonic('C');
242  193 outputTextboxMenu.setMnemonic('T');
243  193 undoMenuItem.setMnemonic('Z');
244  193 redoMenuItem.setMnemonic('0');
245  193 copy.setMnemonic('C');
246  193 cut.setMnemonic('U');
247  193 pasteMenu.setMnemonic('P');
248  193 reload.setMnemonic('R');
249    }
250    }
251   
 
252  193 toggle private void jbInit() throws Exception
253    {
254  193 initColourMenu();
255   
256  193 JMenuItem saveAs = new JMenuItem(
257    MessageManager.getString("action.save_as"));
258  193 ActionListener al = new ActionListener()
259    {
 
260  0 toggle @Override
261    public void actionPerformed(ActionEvent e)
262    {
263  0 saveAs_actionPerformed();
264    }
265    };
266   
267    // FIXME getDefaultToolkit throws an exception in Headless mode
268  193 KeyStroke keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S,
269    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
270    | KeyEvent.SHIFT_MASK,
271    false);
272  193 addMenuActionAndAccelerator(keyStroke, saveAs, al);
273   
274  193 closeMenuItem.setText(MessageManager.getString("action.close"));
275  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_W,
276    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
277  193 al = new ActionListener()
278    {
 
279  0 toggle @Override
280    public void actionPerformed(ActionEvent e)
281    {
282  0 closeMenuItem_actionPerformed(false);
283    }
284    };
285  193 addMenuActionAndAccelerator(keyStroke, closeMenuItem, al);
286   
287  193 JMenu editMenu = new JMenu(MessageManager.getString("action.edit"));
288  193 JMenu viewMenu = new JMenu(MessageManager.getString("action.view"));
289  193 JMenu annotationsMenu = new JMenu(
290    MessageManager.getString("action.annotations"));
291  193 JMenu showMenu = new JMenu(MessageManager.getString("action.show"));
292  193 colourMenu.setText(MessageManager.getString("action.colour"));
293  193 JMenu calculateMenu = new JMenu(
294    MessageManager.getString("action.calculate"));
295  193 webService.setText(MessageManager.getString("action.web_service"));
296  193 JMenuItem selectAllSequenceMenuItem = new JMenuItem(
297    MessageManager.getString("action.select_all"));
298  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_A,
299    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
300  193 al = new ActionListener()
301    {
 
302  0 toggle @Override
303    public void actionPerformed(ActionEvent e)
304    {
305  0 selectAllSequenceMenuItem_actionPerformed(e);
306    }
307    };
308  193 addMenuActionAndAccelerator(keyStroke, selectAllSequenceMenuItem, al);
309   
310  193 JMenuItem deselectAllSequenceMenuItem = new JMenuItem(
311    MessageManager.getString("action.deselect_all"));
312  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0, false);
313  193 al = new ActionListener()
314    {
 
315  0 toggle @Override
316    public void actionPerformed(ActionEvent e)
317    {
318  0 deselectAllSequenceMenuItem_actionPerformed(e);
319    }
320    };
321  193 addMenuActionAndAccelerator(keyStroke, deselectAllSequenceMenuItem, al);
322   
323  193 JMenuItem invertSequenceMenuItem = new JMenuItem(
324    MessageManager.getString("action.invert_sequence_selection"));
325  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
326    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
327  193 al = new ActionListener()
328    {
 
329  0 toggle @Override
330    public void actionPerformed(ActionEvent e)
331    {
332  0 invertSequenceMenuItem_actionPerformed(e);
333    }
334    };
335  193 addMenuActionAndAccelerator(keyStroke, invertSequenceMenuItem, al);
336   
337  193 JMenuItem grpsFromSelection = new JMenuItem(
338    MessageManager.getString("action.make_groups_selection"));
339  193 grpsFromSelection.addActionListener(new ActionListener()
340    {
 
341  0 toggle @Override
342    public void actionPerformed(ActionEvent e)
343    {
344  0 makeGrpsFromSelection_actionPerformed(e);
345    }
346    });
347  193 JMenuItem expandAlignment = new JMenuItem(
348    MessageManager.getString("action.view_flanking_regions"));
349  193 expandAlignment.setToolTipText(
350    MessageManager.getString("label.view_flanking_regions"));
351  193 expandAlignment.addActionListener(new ActionListener()
352    {
 
353  0 toggle @Override
354    public void actionPerformed(ActionEvent e)
355    {
356  0 expand_newalign(e);
357    }
358    });
359  193 JMenuItem remove2LeftMenuItem = new JMenuItem(
360    MessageManager.getString("action.remove_left"));
361  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_L,
362    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
363  193 al = new ActionListener()
364    {
 
365  0 toggle @Override
366    public void actionPerformed(ActionEvent e)
367    {
368  0 remove2LeftMenuItem_actionPerformed(e);
369    }
370    };
371  193 addMenuActionAndAccelerator(keyStroke, remove2LeftMenuItem, al);
372   
373  193 JMenuItem remove2RightMenuItem = new JMenuItem(
374    MessageManager.getString("action.remove_right"));
375  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_R,
376    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
377  193 al = new ActionListener()
378    {
 
379  0 toggle @Override
380    public void actionPerformed(ActionEvent e)
381    {
382  0 remove2RightMenuItem_actionPerformed(e);
383    }
384    };
385  193 addMenuActionAndAccelerator(keyStroke, remove2RightMenuItem, al);
386   
387  193 JMenuItem removeGappedColumnMenuItem = new JMenuItem(
388    MessageManager.getString("action.remove_empty_columns"));
389  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E,
390    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
391  193 al = new ActionListener()
392    {
 
393  0 toggle @Override
394    public void actionPerformed(ActionEvent e)
395    {
396  0 removeGappedColumnMenuItem_actionPerformed(e);
397    }
398    };
399  193 addMenuActionAndAccelerator(keyStroke, removeGappedColumnMenuItem, al);
400   
401  193 JMenuItem removeAllGapsMenuItem = new JMenuItem(
402    MessageManager.getString("action.remove_all_gaps"));
403  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_E,
404    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
405    | KeyEvent.SHIFT_MASK,
406    false);
407  193 al = new ActionListener()
408    {
 
409  0 toggle @Override
410    public void actionPerformed(ActionEvent e)
411    {
412  0 removeAllGapsMenuItem_actionPerformed(e);
413    }
414    };
415  193 addMenuActionAndAccelerator(keyStroke, removeAllGapsMenuItem, al);
416   
417  193 JMenuItem justifyLeftMenuItem = new JMenuItem(
418    MessageManager.getString("action.left_justify_alignment"));
419  193 justifyLeftMenuItem.addActionListener(new ActionListener()
420    {
 
421  0 toggle @Override
422    public void actionPerformed(ActionEvent e)
423    {
424  0 justifyLeftMenuItem_actionPerformed(e);
425    }
426    });
427  193 JMenuItem justifyRightMenuItem = new JMenuItem(
428    MessageManager.getString("action.right_justify_alignment"));
429  193 justifyRightMenuItem.addActionListener(new ActionListener()
430    {
 
431  0 toggle @Override
432    public void actionPerformed(ActionEvent e)
433    {
434  0 justifyRightMenuItem_actionPerformed(e);
435    }
436    });
437  193 viewBoxesMenuItem.setText(MessageManager.getString("action.boxes"));
438  193 viewBoxesMenuItem.setState(true);
439  193 viewBoxesMenuItem.addActionListener(new ActionListener()
440    {
 
441  0 toggle @Override
442    public void actionPerformed(ActionEvent e)
443    {
444  0 viewBoxesMenuItem_actionPerformed(e);
445    }
446    });
447  193 viewTextMenuItem.setText(MessageManager.getString("action.text"));
448  193 viewTextMenuItem.setState(true);
449  193 viewTextMenuItem.addActionListener(new ActionListener()
450    {
 
451  0 toggle @Override
452    public void actionPerformed(ActionEvent e)
453    {
454  0 viewTextMenuItem_actionPerformed(e);
455    }
456    });
457  193 showNonconservedMenuItem
458    .setText(MessageManager.getString("label.show_non_conserved"));
459  193 showNonconservedMenuItem.setState(false);
460  193 showNonconservedMenuItem.addActionListener(new ActionListener()
461    {
 
462  0 toggle @Override
463    public void actionPerformed(ActionEvent e)
464    {
465  0 showUnconservedMenuItem_actionPerformed(e);
466    }
467    });
468  193 JMenuItem sortPairwiseMenuItem = new JMenuItem(
469    MessageManager.getString("action.by_pairwise_id"));
470  193 sortPairwiseMenuItem.addActionListener(new ActionListener()
471    {
 
472  0 toggle @Override
473    public void actionPerformed(ActionEvent e)
474    {
475  0 sortPairwiseMenuItem_actionPerformed(e);
476    }
477    });
478  193 JMenuItem sortIDMenuItem = new JMenuItem(
479    MessageManager.getString("action.by_id"));
480  193 sortIDMenuItem.addActionListener(new ActionListener()
481    {
 
482  0 toggle @Override
483    public void actionPerformed(ActionEvent e)
484    {
485  0 sortIDMenuItem_actionPerformed(e);
486    }
487    });
488  193 JMenuItem sortLengthMenuItem = new JMenuItem(
489    MessageManager.getString("action.by_length"));
490  193 sortLengthMenuItem.addActionListener(new ActionListener()
491    {
 
492  0 toggle @Override
493    public void actionPerformed(ActionEvent e)
494    {
495  0 sortLengthMenuItem_actionPerformed(e);
496    }
497    });
498  193 JMenuItem sortGroupMenuItem = new JMenuItem(
499    MessageManager.getString("action.by_group"));
500  193 sortGroupMenuItem.addActionListener(new ActionListener()
501    {
 
502  0 toggle @Override
503    public void actionPerformed(ActionEvent e)
504    {
505  0 sortGroupMenuItem_actionPerformed(e);
506    }
507    });
508   
509  193 JMenuItem removeRedundancyMenuItem = new JMenuItem(
510    MessageManager.getString("action.remove_redundancy"));
511  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_D,
512    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
513  193 al = new ActionListener()
514    {
 
515  0 toggle @Override
516    public void actionPerformed(ActionEvent e)
517    {
518  0 removeRedundancyMenuItem_actionPerformed(e);
519    }
520    };
521  193 addMenuActionAndAccelerator(keyStroke, removeRedundancyMenuItem, al);
522   
523  193 JMenuItem pairwiseAlignmentMenuItem = new JMenuItem(
524    MessageManager.getString("action.pairwise_alignment"));
525  193 pairwiseAlignmentMenuItem.addActionListener(new ActionListener()
526    {
 
527  0 toggle @Override
528    public void actionPerformed(ActionEvent e)
529    {
530  0 pairwiseAlignmentMenuItem_actionPerformed(e);
531    }
532    });
533   
534  193 this.getContentPane().setLayout(new BorderLayout());
535  193 alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));
536  193 statusBar.setBackground(Color.white);
537  193 statusBar.setFont(new java.awt.Font("Verdana", 0, 11));
538  193 statusBar.setBorder(BorderFactory.createLineBorder(Color.black));
539  193 statusBar.setText(MessageManager.getString("label.status_bar"));
540  193 outputTextboxMenu
541    .setText(MessageManager.getString("label.out_to_textbox"));
542   
543  193 annotationPanelMenuItem.setActionCommand("");
544  193 annotationPanelMenuItem
545    .setText(MessageManager.getString("label.show_annotations"));
546  193 annotationPanelMenuItem
547    .setState(Cache.getDefault("SHOW_ANNOTATIONS", true));
548  193 annotationPanelMenuItem.addActionListener(new ActionListener()
549    {
 
550  0 toggle @Override
551    public void actionPerformed(ActionEvent e)
552    {
553  0 annotationPanelMenuItem_actionPerformed(e);
554    }
555    });
556  193 showAllAlAnnotations.setText(
557    MessageManager.getString("label.show_all_al_annotations"));
558  193 final boolean isAnnotationPanelShown = annotationPanelMenuItem
559    .getState();
560  193 showAllAlAnnotations.setEnabled(isAnnotationPanelShown);
561  193 showAllAlAnnotations.addActionListener(new ActionListener()
562    {
 
563  0 toggle @Override
564    public void actionPerformed(ActionEvent e)
565    {
566  0 showAllAnnotations_actionPerformed(false, true);
567    }
568    });
569  193 hideAllAlAnnotations.setText(
570    MessageManager.getString("label.hide_all_al_annotations"));
571  193 hideAllAlAnnotations.setEnabled(isAnnotationPanelShown);
572  193 hideAllAlAnnotations.addActionListener(new ActionListener()
573    {
 
574  0 toggle @Override
575    public void actionPerformed(ActionEvent e)
576    {
577  0 hideAllAnnotations_actionPerformed(false, true);
578    }
579    });
580  193 showAllSeqAnnotations.setText(
581    MessageManager.getString("label.show_all_seq_annotations"));
582  193 showAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
583  193 showAllSeqAnnotations.addActionListener(new ActionListener()
584    {
 
585  0 toggle @Override
586    public void actionPerformed(ActionEvent e)
587    {
588  0 showAllAnnotations_actionPerformed(true, false);
589    }
590    });
591  193 hideAllSeqAnnotations.setText(
592    MessageManager.getString("label.hide_all_seq_annotations"));
593  193 hideAllSeqAnnotations.setEnabled(isAnnotationPanelShown);
594  193 hideAllSeqAnnotations.addActionListener(new ActionListener()
595    {
 
596  0 toggle @Override
597    public void actionPerformed(ActionEvent e)
598    {
599  0 hideAllAnnotations_actionPerformed(true, false);
600    }
601    });
602  193 SequenceAnnotationOrder sortAnnotationsBy = SequenceAnnotationOrder
603    .valueOf(Cache.getDefault(Preferences.SORT_ANNOTATIONS,
604    SequenceAnnotationOrder.NONE.name()));
605  193 final JCheckBoxMenuItem sortAnnBySequence = new JCheckBoxMenuItem(
606    MessageManager.getString("label.sort_annotations_by_sequence"));
607  193 final JCheckBoxMenuItem sortAnnByLabel = new JCheckBoxMenuItem(
608    MessageManager.getString("label.sort_annotations_by_label"));
609   
610  193 sortAnnBySequence.setSelected(
611    sortAnnotationsBy == SequenceAnnotationOrder.SEQUENCE_AND_LABEL);
612  193 sortAnnBySequence.addActionListener(new ActionListener()
613    {
 
614  0 toggle @Override
615    public void actionPerformed(ActionEvent e)
616    {
617  0 boolean newState = sortAnnBySequence.getState();
618  0 sortAnnByLabel.setSelected(false);
619  0 setAnnotationSortOrder(
620  0 newState ? SequenceAnnotationOrder.SEQUENCE_AND_LABEL
621    : SequenceAnnotationOrder.NONE);
622  0 sortAnnotations_actionPerformed();
623    }
624    });
625  193 sortAnnByLabel.setSelected(
626    sortAnnotationsBy == SequenceAnnotationOrder.LABEL_AND_SEQUENCE);
627  193 sortAnnByLabel.addActionListener(new ActionListener()
628    {
 
629  0 toggle @Override
630    public void actionPerformed(ActionEvent e)
631    {
632  0 boolean newState = sortAnnByLabel.getState();
633  0 sortAnnBySequence.setSelected(false);
634  0 setAnnotationSortOrder(
635  0 newState ? SequenceAnnotationOrder.LABEL_AND_SEQUENCE
636    : SequenceAnnotationOrder.NONE);
637  0 sortAnnotations_actionPerformed();
638    }
639    });
640  193 colourTextMenuItem = new JCheckBoxMenuItem(
641    MessageManager.getString("label.colour_text"));
642  193 colourTextMenuItem.addActionListener(new ActionListener()
643    {
 
644  0 toggle @Override
645    public void actionPerformed(ActionEvent e)
646    {
647  0 colourTextMenuItem_actionPerformed(e);
648    }
649    });
650   
651  193 JMenuItem htmlMenuItem = new JMenuItem(
652    MessageManager.getString("label.html"));
653  193 htmlMenuItem.addActionListener(new ActionListener()
654    {
 
655  0 toggle @Override
656    public void actionPerformed(ActionEvent e)
657    {
658  0 htmlMenuItem_actionPerformed(e);
659    }
660    });
661   
662  193 JMenuItem createBioJS = new JMenuItem(
663    MessageManager.getString("label.biojs_html_export"));
664  193 createBioJS.addActionListener(new java.awt.event.ActionListener()
665    {
 
666  0 toggle @Override
667    public void actionPerformed(ActionEvent e)
668    {
669  0 bioJSMenuItem_actionPerformed(e);
670    }
671    });
672   
673  193 JMenuItem overviewMenuItem = new JMenuItem(
674    MessageManager.getString("label.overview_window"));
675  193 overviewMenuItem.addActionListener(new ActionListener()
676    {
 
677  0 toggle @Override
678    public void actionPerformed(ActionEvent e)
679    {
680  0 overviewMenuItem_actionPerformed(e);
681    }
682    });
683   
684  193 undoMenuItem.setEnabled(false);
685  193 undoMenuItem.setText(MessageManager.getString("action.undo"));
686  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Z,
687    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
688  193 al = new ActionListener()
689    {
 
690  0 toggle @Override
691    public void actionPerformed(ActionEvent e)
692    {
693  0 undoMenuItem_actionPerformed(e);
694    }
695    };
696  193 addMenuActionAndAccelerator(keyStroke, undoMenuItem, al);
697   
698  193 redoMenuItem.setEnabled(false);
699  193 redoMenuItem.setText(MessageManager.getString("action.redo"));
700  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_Y,
701    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
702  193 al = new ActionListener()
703    {
 
704  0 toggle @Override
705    public void actionPerformed(ActionEvent e)
706    {
707  0 redoMenuItem_actionPerformed(e);
708    }
709    };
710  193 addMenuActionAndAccelerator(keyStroke, redoMenuItem, al);
711   
712  193 wrapMenuItem.setText(MessageManager.getString("label.wrap"));
713  193 wrapMenuItem.addActionListener(new ActionListener()
714    {
 
715  0 toggle @Override
716    public void actionPerformed(ActionEvent e)
717    {
718  0 wrapMenuItem_actionPerformed(e);
719    }
720    });
721   
722  193 JMenuItem printMenuItem = new JMenuItem(
723    MessageManager.getString("action.print"));
724  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_P,
725    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
726  193 al = new ActionListener()
727    {
 
728  0 toggle @Override
729    public void actionPerformed(ActionEvent e)
730    {
731  0 printMenuItem_actionPerformed(e);
732    }
733    };
734  193 addMenuActionAndAccelerator(keyStroke, printMenuItem, al);
735   
736  193 renderGapsMenuItem
737    .setText(MessageManager.getString("action.show_gaps"));
738  193 renderGapsMenuItem.setState(true);
739  193 renderGapsMenuItem.addActionListener(new ActionListener()
740    {
 
741  0 toggle @Override
742    public void actionPerformed(ActionEvent e)
743    {
744  0 renderGapsMenuItem_actionPerformed(e);
745    }
746    });
747   
748  193 JMenuItem findMenuItem = new JMenuItem(
749    MessageManager.getString("action.find"));
750  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F,
751    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
752  193 findMenuItem.setToolTipText(JvSwingUtils.wrapTooltip(true,
753    MessageManager.getString("label.find_tip")));
754  193 al = new ActionListener()
755    {
 
756  0 toggle @Override
757    public void actionPerformed(ActionEvent e)
758    {
759  0 findMenuItem_actionPerformed(e);
760    }
761    };
762  193 addMenuActionAndAccelerator(keyStroke, findMenuItem, al);
763   
764  193 showSeqFeatures.setText(
765    MessageManager.getString("label.show_sequence_features"));
766  193 showSeqFeatures.addActionListener(new ActionListener()
767    {
 
768  0 toggle @Override
769    public void actionPerformed(ActionEvent actionEvent)
770    {
771  0 showSeqFeatures_actionPerformed(actionEvent);
772    }
773    });
774    /*
775    * showSeqFeaturesHeight.setText("Vary Sequence Feature Height");
776    * showSeqFeaturesHeight.addActionListener(new ActionListener() { public
777    * void actionPerformed(ActionEvent actionEvent) {
778    * showSeqFeaturesHeight_actionPerformed(actionEvent); } });
779    */
780  193 showDbRefsMenuitem
781    .setText(MessageManager.getString("label.show_database_refs"));
782  193 showDbRefsMenuitem.addActionListener(new ActionListener()
783    {
784   
 
785  0 toggle @Override
786    public void actionPerformed(ActionEvent e)
787    {
788  0 showDbRefs_actionPerformed(e);
789    }
790   
791    });
792  193 showNpFeatsMenuitem.setText(
793    MessageManager.getString("label.show_non_positional_features"));
794  193 showNpFeatsMenuitem.addActionListener(new ActionListener()
795    {
796   
 
797  0 toggle @Override
798    public void actionPerformed(ActionEvent e)
799    {
800  0 showNpFeats_actionPerformed(e);
801    }
802   
803    });
804  193 showGroupConservation
805    .setText(MessageManager.getString("label.group_conservation"));
806  193 showGroupConservation.addActionListener(new ActionListener()
807    {
808   
 
809  0 toggle @Override
810    public void actionPerformed(ActionEvent e)
811    {
812  0 showGroupConservation_actionPerformed(e);
813    }
814   
815    });
816   
817  193 showGroupConsensus
818    .setText(MessageManager.getString("label.group_consensus"));
819  193 showGroupConsensus.addActionListener(new ActionListener()
820    {
821   
 
822  0 toggle @Override
823    public void actionPerformed(ActionEvent e)
824    {
825  0 showGroupConsensus_actionPerformed(e);
826    }
827   
828    });
829  193 showConsensusHistogram.setText(
830    MessageManager.getString("label.show_consensus_histogram"));
831  193 showConsensusHistogram.addActionListener(new ActionListener()
832    {
833   
 
834  0 toggle @Override
835    public void actionPerformed(ActionEvent e)
836    {
837  0 showConsensusHistogram_actionPerformed(e);
838    }
839   
840    });
841  193 showSequenceLogo
842    .setText(MessageManager.getString("label.show_consensus_logo"));
843  193 showSequenceLogo.addActionListener(new ActionListener()
844    {
845   
 
846  0 toggle @Override
847    public void actionPerformed(ActionEvent e)
848    {
849  0 showSequenceLogo_actionPerformed(e);
850    }
851   
852    });
853  193 normaliseSequenceLogo
854    .setText(MessageManager.getString("label.norm_consensus_logo"));
855  193 normaliseSequenceLogo.addActionListener(new ActionListener()
856    {
857   
 
858  0 toggle @Override
859    public void actionPerformed(ActionEvent e)
860    {
861  0 normaliseSequenceLogo_actionPerformed(e);
862    }
863   
864    });
865  193 applyAutoAnnotationSettings
866    .setText(MessageManager.getString("label.apply_all_groups"));
867  193 applyAutoAnnotationSettings.setState(false);
868  193 applyAutoAnnotationSettings.setVisible(true);
869  193 applyAutoAnnotationSettings.addActionListener(new ActionListener()
870    {
 
871  0 toggle @Override
872    public void actionPerformed(ActionEvent e)
873    {
874  0 applyAutoAnnotationSettings_actionPerformed(e);
875    }
876    });
877   
878  193 ButtonGroup buttonGroup = new ButtonGroup();
879  193 final JRadioButtonMenuItem showAutoFirst = new JRadioButtonMenuItem(
880    MessageManager.getString("label.show_first"));
881  193 final JRadioButtonMenuItem showAutoLast = new JRadioButtonMenuItem(
882    MessageManager.getString("label.show_last"));
883  193 buttonGroup.add(showAutoFirst);
884  193 buttonGroup.add(showAutoLast);
885  193 final boolean autoFirst = Cache
886    .getDefault(Preferences.SHOW_AUTOCALC_ABOVE, false);
887  193 showAutoFirst.setSelected(autoFirst);
888  193 setShowAutoCalculatedAbove(autoFirst);
889  193 showAutoFirst.addActionListener(new ActionListener()
890    {
 
891  0 toggle @Override
892    public void actionPerformed(ActionEvent e)
893    {
894  0 setShowAutoCalculatedAbove(showAutoFirst.isSelected());
895  0 sortAnnotations_actionPerformed();
896    }
897    });
898  193 showAutoLast.setSelected(!showAutoFirst.isSelected());
899  193 showAutoLast.addActionListener(new ActionListener()
900    {
 
901  0 toggle @Override
902    public void actionPerformed(ActionEvent e)
903    {
904  0 setShowAutoCalculatedAbove(!showAutoLast.isSelected());
905  0 sortAnnotations_actionPerformed();
906    }
907    });
908   
909  193 JMenuItem deleteGroups = new JMenuItem(
910    MessageManager.getString("action.undefine_groups"));
911  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_U,
912    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
913  193 al = new ActionListener()
914    {
 
915  0 toggle @Override
916    public void actionPerformed(ActionEvent e)
917    {
918  0 deleteGroups_actionPerformed(e);
919    }
920    };
921  193 addMenuActionAndAccelerator(keyStroke, deleteGroups, al);
922   
923  193 JMenuItem annotationColumn = new JMenuItem(
924    MessageManager.getString("action.select_by_annotation"));
925  193 annotationColumn.addActionListener(new ActionListener()
926    {
 
927  0 toggle @Override
928    public void actionPerformed(ActionEvent e)
929    {
930  0 annotationColumn_actionPerformed(e);
931    }
932    });
933   
934  193 JMenuItem createGroup = new JMenuItem(
935    MessageManager.getString("action.create_group"));
936  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G,
937    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
938  193 al = new ActionListener()
939    {
 
940  0 toggle @Override
941    public void actionPerformed(ActionEvent e)
942    {
943  0 createGroup_actionPerformed(e);
944    }
945    };
946  193 addMenuActionAndAccelerator(keyStroke, createGroup, al);
947   
948  193 JMenuItem unGroup = new JMenuItem(
949    MessageManager.getString("action.remove_group"));
950  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G,
951    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
952    | KeyEvent.SHIFT_MASK,
953    false);
954  193 al = new ActionListener()
955    {
 
956  0 toggle @Override
957    public void actionPerformed(ActionEvent e)
958    {
959  0 unGroup_actionPerformed(e);
960    }
961    };
962  193 addMenuActionAndAccelerator(keyStroke, unGroup, al);
963   
964  193 copy.setText(MessageManager.getString("action.copy"));
965  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_C,
966    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
967   
968  193 al = new ActionListener()
969    {
 
970  0 toggle @Override
971    public void actionPerformed(ActionEvent e)
972    {
973  0 copy_actionPerformed(e);
974    }
975    };
976  193 addMenuActionAndAccelerator(keyStroke, copy, al);
977   
978  193 cut.setText(MessageManager.getString("action.cut"));
979  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X,
980    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
981  193 al = new ActionListener()
982    {
 
983  0 toggle @Override
984    public void actionPerformed(ActionEvent e)
985    {
986  0 cut_actionPerformed(e);
987    }
988    };
989  193 addMenuActionAndAccelerator(keyStroke, cut, al);
990   
991  193 JMenuItem delete = new JMenuItem(
992    MessageManager.getString("action.delete"));
993  193 delete.addActionListener(new ActionListener()
994    {
 
995  0 toggle @Override
996    public void actionPerformed(ActionEvent e)
997    {
998  0 delete_actionPerformed(e);
999    }
1000    });
1001   
1002  193 pasteMenu.setText(MessageManager.getString("action.paste"));
1003  193 JMenuItem pasteNew = new JMenuItem(
1004    MessageManager.getString("label.to_new_alignment"));
1005  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V,
1006    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
1007    | KeyEvent.SHIFT_MASK,
1008    false);
1009  193 al = new ActionListener()
1010    {
 
1011  0 toggle @Override
1012    public void actionPerformed(ActionEvent e)
1013    {
1014  0 pasteNew_actionPerformed(e);
1015    }
1016    };
1017  193 addMenuActionAndAccelerator(keyStroke, pasteNew, al);
1018   
1019  193 JMenuItem pasteThis = new JMenuItem(
1020    MessageManager.getString("label.to_this_alignment"));
1021  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_V,
1022    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
1023  193 al = new ActionListener()
1024    {
 
1025  0 toggle @Override
1026    public void actionPerformed(ActionEvent e)
1027    {
1028  0 pasteThis_actionPerformed(e);
1029    }
1030    };
1031  193 addMenuActionAndAccelerator(keyStroke, pasteThis, al);
1032   
1033  193 JMenuItem createPNG = new JMenuItem("PNG");
1034  193 createPNG.addActionListener(new ActionListener()
1035    {
 
1036  0 toggle @Override
1037    public void actionPerformed(ActionEvent e)
1038    {
1039  0 createPNG(null);
1040    }
1041    });
1042  193 createPNG.setActionCommand(
1043    MessageManager.getString("label.save_png_image"));
1044   
1045  193 JMenuItem font = new JMenuItem(MessageManager.getString("action.font"));
1046  193 font.addActionListener(new ActionListener()
1047    {
 
1048  0 toggle @Override
1049    public void actionPerformed(ActionEvent e)
1050    {
1051  0 font_actionPerformed(e);
1052    }
1053    });
1054  193 seqLimits.setText(
1055    MessageManager.getString("label.show_sequence_limits"));
1056  193 seqLimits.setState(jalview.bin.Cache.getDefault("SHOW_JVSUFFIX", true));
1057  193 seqLimits.addActionListener(new ActionListener()
1058    {
 
1059  0 toggle @Override
1060    public void actionPerformed(ActionEvent e)
1061    {
1062  0 seqLimit_actionPerformed(e);
1063    }
1064    });
1065  193 JMenuItem epsFile = new JMenuItem("EPS");
1066  193 epsFile.addActionListener(new ActionListener()
1067    {
 
1068  0 toggle @Override
1069    public void actionPerformed(ActionEvent e)
1070    {
1071  0 createEPS(null);
1072    }
1073    });
1074   
1075  193 JMenuItem createSVG = new JMenuItem("SVG");
1076  193 createSVG.addActionListener(new ActionListener()
1077    {
 
1078  0 toggle @Override
1079    public void actionPerformed(ActionEvent e)
1080    {
1081  0 createSVG(null);
1082    }
1083    });
1084   
1085  193 JMenuItem loadTreeMenuItem = new JMenuItem(
1086    MessageManager.getString("label.load_associated_tree"));
1087  193 loadTreeMenuItem.setActionCommand(
1088    MessageManager.getString("label.load_tree_for_sequence_set"));
1089  193 loadTreeMenuItem.addActionListener(new ActionListener()
1090    {
 
1091  0 toggle @Override
1092    public void actionPerformed(ActionEvent e)
1093    {
1094  0 loadTreeMenuItem_actionPerformed(e);
1095    }
1096    });
1097   
1098  193 scaleAbove.setVisible(false);
1099  193 scaleAbove.setText(MessageManager.getString("action.scale_above"));
1100  193 scaleAbove.addActionListener(new ActionListener()
1101    {
 
1102  0 toggle @Override
1103    public void actionPerformed(ActionEvent e)
1104    {
1105  0 scaleAbove_actionPerformed(e);
1106    }
1107    });
1108  193 scaleLeft.setVisible(false);
1109  193 scaleLeft.setSelected(true);
1110  193 scaleLeft.setText(MessageManager.getString("action.scale_left"));
1111  193 scaleLeft.addActionListener(new ActionListener()
1112    {
 
1113  0 toggle @Override
1114    public void actionPerformed(ActionEvent e)
1115    {
1116  0 scaleLeft_actionPerformed(e);
1117    }
1118    });
1119  193 scaleRight.setVisible(false);
1120  193 scaleRight.setSelected(true);
1121  193 scaleRight.setText(MessageManager.getString("action.scale_right"));
1122  193 scaleRight.addActionListener(new ActionListener()
1123    {
 
1124  0 toggle @Override
1125    public void actionPerformed(ActionEvent e)
1126    {
1127  0 scaleRight_actionPerformed(e);
1128    }
1129    });
1130  193 centreColumnLabelsMenuItem.setVisible(true);
1131  193 centreColumnLabelsMenuItem.setState(false);
1132  193 centreColumnLabelsMenuItem.setText(
1133    MessageManager.getString("label.centre_column_labels"));
1134  193 centreColumnLabelsMenuItem.addActionListener(new ActionListener()
1135    {
 
1136  0 toggle @Override
1137    public void actionPerformed(ActionEvent e)
1138    {
1139  0 centreColumnLabels_actionPerformed(e);
1140    }
1141    });
1142  193 followHighlightMenuItem.setVisible(true);
1143  193 followHighlightMenuItem.setState(true);
1144  193 followHighlightMenuItem
1145    .setText(MessageManager.getString("label.automatic_scrolling"));
1146  193 followHighlightMenuItem.addActionListener(new ActionListener()
1147    {
1148   
 
1149  0 toggle @Override
1150    public void actionPerformed(ActionEvent e)
1151    {
1152  0 followHighlight_actionPerformed();
1153    }
1154   
1155    });
1156   
1157  193 sortByTreeMenu
1158    .setText(MessageManager.getString("action.by_tree_order"));
1159  193 sort.setText(MessageManager.getString("action.sort"));
1160  193 sort.addMenuListener(new MenuListener()
1161    {
 
1162  0 toggle @Override
1163    public void menuSelected(MenuEvent e)
1164    {
1165  0 buildTreeSortMenu();
1166    }
1167   
 
1168  0 toggle @Override
1169    public void menuDeselected(MenuEvent e)
1170    {
1171    }
1172   
 
1173  0 toggle @Override
1174    public void menuCanceled(MenuEvent e)
1175    {
1176    }
1177    });
1178  193 sortByAnnotScore
1179    .setText(MessageManager.getString("label.sort_by_score"));
1180  193 sort.add(sortByAnnotScore);
1181  193 sort.addMenuListener(new javax.swing.event.MenuListener()
1182    {
1183   
 
1184  0 toggle @Override
1185    public void menuCanceled(MenuEvent e)
1186    {
1187    }
1188   
 
1189  0 toggle @Override
1190    public void menuDeselected(MenuEvent e)
1191    {
1192    }
1193   
 
1194  0 toggle @Override
1195    public void menuSelected(MenuEvent e)
1196    {
1197  0 buildSortByAnnotationScoresMenu();
1198    }
1199    });
1200  193 sortByAnnotScore.setVisible(false);
1201   
1202  193 calculateTree
1203    .setText(MessageManager.getString("action.calculate_tree_pca"));
1204   
1205  193 padGapsMenuitem.setText(MessageManager.getString("label.pad_gaps"));
1206  193 padGapsMenuitem
1207    .setState(jalview.bin.Cache.getDefault("PAD_GAPS", false));
1208  193 padGapsMenuitem.addActionListener(new ActionListener()
1209    {
 
1210  0 toggle @Override
1211    public void actionPerformed(ActionEvent e)
1212    {
1213  0 padGapsMenuitem_actionPerformed(e);
1214    }
1215    });
1216  193 JMenuItem vamsasStore = new JMenuItem(
1217    MessageManager.getString("label.vamsas_store"));
1218  193 vamsasStore.setVisible(false);
1219  193 vamsasStore.addActionListener(new ActionListener()
1220    {
 
1221  0 toggle @Override
1222    public void actionPerformed(ActionEvent e)
1223    {
1224  0 vamsasStore_actionPerformed(e);
1225    }
1226    });
1227  193 showTranslation
1228    .setText(MessageManager.getString("label.translate_cDNA"));
1229  193 showTranslation.addActionListener(new ActionListener()
1230    {
 
1231  0 toggle @Override
1232    public void actionPerformed(ActionEvent e)
1233    {
1234  0 showTranslation_actionPerformed(e);
1235    }
1236    });
1237  193 showReverse.setText(MessageManager.getString("label.reverse"));
1238  193 showReverse.addActionListener(new ActionListener()
1239    {
 
1240  0 toggle @Override
1241    public void actionPerformed(ActionEvent e)
1242    {
1243  0 showReverse_actionPerformed(false);
1244    }
1245    });
1246  193 showReverseComplement
1247    .setText(MessageManager.getString("label.reverse_complement"));
1248  193 showReverseComplement.addActionListener(new ActionListener()
1249    {
 
1250  0 toggle @Override
1251    public void actionPerformed(ActionEvent e)
1252    {
1253  0 showReverse_actionPerformed(true);
1254    }
1255    });
1256   
1257  193 JMenuItem extractScores = new JMenuItem(
1258    MessageManager.getString("label.extract_scores"));
1259  193 extractScores.addActionListener(new ActionListener()
1260    {
 
1261  0 toggle @Override
1262    public void actionPerformed(ActionEvent e)
1263    {
1264  0 extractScores_actionPerformed(e);
1265    }
1266    });
1267  193 extractScores.setVisible(true);
1268    // JBPNote: TODO: make gui for regex based score extraction
1269   
1270    // for show products actions see AlignFrame.canShowProducts
1271  193 showProducts.setText(MessageManager.getString("label.get_cross_refs"));
1272   
1273  193 runGroovy.setText(MessageManager.getString("label.run_groovy"));
1274  193 runGroovy.setToolTipText(
1275    MessageManager.getString("label.run_groovy_tip"));
1276  193 runGroovy.addActionListener(new ActionListener()
1277    {
 
1278  0 toggle @Override
1279    public void actionPerformed(ActionEvent e)
1280    {
1281  0 runGroovy_actionPerformed();
1282    }
1283    });
1284   
1285  193 openFeatureSettings = new JMenuItem(
1286    MessageManager.getString("action.feature_settings"));
1287  193 openFeatureSettings.addActionListener(new ActionListener()
1288    {
 
1289  0 toggle @Override
1290    public void actionPerformed(ActionEvent e)
1291    {
1292  0 featureSettings_actionPerformed(e);
1293    }
1294    });
1295  193 JMenuItem fetchSequence = new JMenuItem(
1296    MessageManager.getString("label.fetch_sequences"));
1297  193 fetchSequence.addActionListener(new ActionListener()
1298    {
 
1299  0 toggle @Override
1300    public void actionPerformed(ActionEvent e)
1301    {
1302  0 fetchSequence_actionPerformed(e);
1303    }
1304    });
1305   
1306  193 JMenuItem associatedData = new JMenuItem(
1307    MessageManager.getString("label.load_features_annotations"));
1308  193 associatedData.addActionListener(new ActionListener()
1309    {
 
1310  0 toggle @Override
1311    public void actionPerformed(ActionEvent e)
1312    {
1313  0 associatedData_actionPerformed(e);
1314    }
1315    });
1316  193 loadVcf = new JMenuItem(MessageManager.getString("label.load_vcf_file"));
1317  193 loadVcf.setToolTipText(MessageManager.getString("label.load_vcf"));
1318  193 loadVcf.addActionListener(new ActionListener()
1319    {
 
1320  0 toggle @Override
1321    public void actionPerformed(ActionEvent e)
1322    {
1323  0 loadVcf_actionPerformed();
1324    }
1325    });
1326  193 autoCalculate.setText(
1327    MessageManager.getString("label.autocalculate_consensus"));
1328  193 autoCalculate.setState(
1329    jalview.bin.Cache.getDefault("AUTO_CALC_CONSENSUS", true));
1330  193 autoCalculate.addActionListener(new ActionListener()
1331    {
 
1332  0 toggle @Override
1333    public void actionPerformed(ActionEvent e)
1334    {
1335  0 autoCalculate_actionPerformed(e);
1336    }
1337    });
1338  193 sortByTree.setText(
1339    MessageManager.getString("label.sort_alignment_new_tree"));
1340  193 sortByTree.setToolTipText("<html>" + MessageManager.getString(
1341    "label.enable_automatically_sort_alignment_when_open_new_tree"));
1342  193 sortByTree
1343    .setState(jalview.bin.Cache.getDefault("SORT_BY_TREE", false));
1344  193 sortByTree.addActionListener(new ActionListener()
1345    {
 
1346  0 toggle @Override
1347    public void actionPerformed(ActionEvent e)
1348    {
1349  0 sortByTreeOption_actionPerformed(e);
1350    }
1351    });
1352   
1353  193 listenToViewSelections.setText(
1354    MessageManager.getString("label.listen_for_selections"));
1355  193 listenToViewSelections
1356    .setToolTipText("<html>" + MessageManager.getString(
1357    "label.selections_mirror_selections_made_same_sequences_other_views"));
1358  193 listenToViewSelections.setState(false);
1359  193 listenToViewSelections.addActionListener(new ActionListener()
1360    {
 
1361  0 toggle @Override
1362    public void actionPerformed(ActionEvent e)
1363    {
1364  0 listenToViewSelections_actionPerformed(e);
1365    }
1366    });
1367   
1368  193 JMenu addSequenceMenu = new JMenu(
1369    MessageManager.getString("label.add_sequences"));
1370  193 JMenuItem addFromFile = new JMenuItem(
1371    MessageManager.getString("label.from_file"));
1372  193 addFromFile.addActionListener(new ActionListener()
1373    {
 
1374  0 toggle @Override
1375    public void actionPerformed(ActionEvent e)
1376    {
1377  0 addFromFile_actionPerformed(e);
1378    }
1379    });
1380  193 JMenuItem addFromText = new JMenuItem(
1381    MessageManager.getString("label.from_textbox"));
1382  193 addFromText.addActionListener(new ActionListener()
1383    {
 
1384  0 toggle @Override
1385    public void actionPerformed(ActionEvent e)
1386    {
1387  0 addFromText_actionPerformed(e);
1388    }
1389    });
1390  193 JMenuItem addFromURL = new JMenuItem(
1391    MessageManager.getString("label.from_url"));
1392  193 addFromURL.addActionListener(new ActionListener()
1393    {
 
1394  0 toggle @Override
1395    public void actionPerformed(ActionEvent e)
1396    {
1397  0 addFromURL_actionPerformed(e);
1398    }
1399    });
1400  193 JMenuItem exportFeatures = new JMenuItem(
1401    MessageManager.getString("label.export_features"));
1402  193 exportFeatures.addActionListener(new ActionListener()
1403    {
 
1404  0 toggle @Override
1405    public void actionPerformed(ActionEvent e)
1406    {
1407  0 exportFeatures_actionPerformed(e);
1408    }
1409    });
1410  193 JMenuItem exportAnnotations = new JMenuItem(
1411    MessageManager.getString("label.export_annotations"));
1412  193 exportAnnotations.addActionListener(new ActionListener()
1413    {
 
1414  0 toggle @Override
1415    public void actionPerformed(ActionEvent e)
1416    {
1417  0 exportAnnotations_actionPerformed(e);
1418    }
1419    });
1420  193 statusPanel.setLayout(new GridLayout());
1421  193 JMenuItem showAllSeqs = new JMenuItem(
1422    MessageManager.getString("label.all_sequences"));
1423  193 showAllSeqs.setToolTipText(
1424    MessageManager.getString("label.toggle_sequence_visibility"));
1425  193 showAllSeqs.addActionListener(new ActionListener()
1426    {
 
1427  0 toggle @Override
1428    public void actionPerformed(ActionEvent e)
1429    {
1430  0 showAllSeqs_actionPerformed(e);
1431    }
1432    });
1433  193 JMenuItem showAllColumns = new JMenuItem(
1434    MessageManager.getString("label.all_columns"));
1435  193 showAllColumns.setToolTipText(
1436    MessageManager.getString("label.toggle_columns_visibility"));
1437  193 showAllColumns.addActionListener(new ActionListener()
1438    {
 
1439  0 toggle @Override
1440    public void actionPerformed(ActionEvent e)
1441    {
1442  0 showAllColumns_actionPerformed(e);
1443    }
1444    });
1445  193 JMenu hideMenu = new JMenu(MessageManager.getString("action.hide"));
1446  193 JMenuItem hideSelSequences = new JMenuItem(
1447    MessageManager.getString("label.selected_sequences"));
1448  193 hideSelSequences.setToolTipText(
1449    MessageManager.getString("label.toggle_sequence_visibility"));
1450  193 hideSelSequences.addActionListener(new ActionListener()
1451    {
 
1452  0 toggle @Override
1453    public void actionPerformed(ActionEvent e)
1454    {
1455  0 hideSelSequences_actionPerformed(e);
1456    }
1457    });
1458  193 JMenuItem hideSelColumns = new JMenuItem(
1459    MessageManager.getString("label.selected_columns"));
1460  193 hideSelColumns.setToolTipText(
1461    MessageManager.getString("label.toggle_columns_visibility"));
1462  193 hideSelColumns.addActionListener(new ActionListener()
1463    {
 
1464  0 toggle @Override
1465    public void actionPerformed(ActionEvent e)
1466    {
1467  0 hideSelColumns_actionPerformed(e);
1468    }
1469    });
1470  193 JMenuItem hideAllSelection = new JMenuItem(
1471    MessageManager.getString("label.selected_region"));
1472  193 hideAllSelection.addActionListener(new ActionListener()
1473    {
 
1474  0 toggle @Override
1475    public void actionPerformed(ActionEvent e)
1476    {
1477  0 hideAllSelection_actionPerformed(e);
1478    }
1479    });
1480    // TODO: should be hidden if no selection exists.
1481  193 JMenuItem hideAllButSelection = new JMenuItem(
1482    MessageManager.getString("label.all_but_selected_region"));
1483  193 hideAllButSelection.addActionListener(new ActionListener()
1484    {
 
1485  0 toggle @Override
1486    public void actionPerformed(ActionEvent e)
1487    {
1488  0 hideAllButSelection_actionPerformed(e);
1489    }
1490    });
1491  193 JMenuItem showAllhidden = new JMenuItem(
1492    MessageManager.getString("label.all_sequences_columns"));
1493  193 showAllhidden.setToolTipText(MessageManager
1494    .getString("label.toggles_visibility_hidden_selected_regions"));
1495  193 showAllhidden.addActionListener(new ActionListener()
1496    {
 
1497  0 toggle @Override
1498    public void actionPerformed(ActionEvent e)
1499    {
1500  0 showAllhidden_actionPerformed(e);
1501    }
1502    });
1503  193 hiddenMarkers.setText(
1504    MessageManager.getString("action.show_hidden_markers"));
1505  193 hiddenMarkers.addActionListener(new ActionListener()
1506    {
 
1507  0 toggle @Override
1508    public void actionPerformed(ActionEvent e)
1509    {
1510  0 hiddenMarkers_actionPerformed(e);
1511    }
1512    });
1513   
1514  193 JMenuItem invertColSel = new JMenuItem(
1515    MessageManager.getString("action.invert_column_selection"));
1516  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_I,
1517    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()
1518    | KeyEvent.ALT_MASK,
1519    false);
1520  193 al = new ActionListener()
1521    {
 
1522  0 toggle @Override
1523    public void actionPerformed(ActionEvent e)
1524    {
1525  0 invertColSel_actionPerformed(e);
1526    }
1527    };
1528  193 addMenuActionAndAccelerator(keyStroke, invertColSel, al);
1529   
1530  193 showComplementMenuItem.setVisible(false);
1531  193 showComplementMenuItem.addActionListener(new ActionListener()
1532    {
 
1533  0 toggle @Override
1534    public void actionPerformed(ActionEvent e)
1535    {
1536  0 showComplement_actionPerformed(showComplementMenuItem.getState());
1537    }
1538    });
1539   
1540  193 tabbedPane.addChangeListener(new javax.swing.event.ChangeListener()
1541    {
 
1542  148 toggle @Override
1543    public void stateChanged(ChangeEvent evt)
1544    {
1545  148 JTabbedPane pane = (JTabbedPane) evt.getSource();
1546  148 int sel = pane.getSelectedIndex();
1547  148 tabSelectionChanged(sel);
1548    }
1549    });
1550  193 tabbedPane.addMouseListener(new MouseAdapter()
1551    {
 
1552  0 toggle @Override
1553    public void mousePressed(MouseEvent e)
1554    {
1555  0 if (e.isPopupTrigger()) // Mac
1556    {
1557  0 tabbedPane_mousePressed(e);
1558    }
1559    }
1560   
 
1561  0 toggle @Override
1562    public void mouseReleased(MouseEvent e)
1563    {
1564  0 if (e.isPopupTrigger()) // Windows
1565    {
1566  0 tabbedPane_mousePressed(e);
1567    }
1568    }
1569    });
1570  193 tabbedPane.addFocusListener(new FocusAdapter()
1571    {
 
1572  60 toggle @Override
1573    public void focusGained(FocusEvent e)
1574    {
1575  60 tabbedPane_focusGained(e);
1576    }
1577    });
1578   
1579  193 JMenuItem save = new JMenuItem(MessageManager.getString("action.save"));
1580  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S,
1581    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
1582  193 al = new ActionListener()
1583    {
 
1584  0 toggle @Override
1585    public void actionPerformed(ActionEvent e)
1586    {
1587  0 save_actionPerformed(e);
1588    }
1589    };
1590  193 addMenuActionAndAccelerator(keyStroke, save, al);
1591   
1592  193 reload.setEnabled(false);
1593  193 reload.setText(MessageManager.getString("action.reload"));
1594  193 reload.addActionListener(new ActionListener()
1595    {
 
1596  0 toggle @Override
1597    public void actionPerformed(ActionEvent e)
1598    {
1599  0 reload_actionPerformed(e);
1600    }
1601    });
1602   
1603  193 JMenuItem newView = new JMenuItem(
1604    MessageManager.getString("action.new_view"));
1605  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_T,
1606    Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), false);
1607  193 al = new ActionListener()
1608    {
 
1609  0 toggle @Override
1610    public void actionPerformed(ActionEvent e)
1611    {
1612  0 newView_actionPerformed(e);
1613    }
1614    };
1615  193 addMenuActionAndAccelerator(keyStroke, newView, al);
1616   
1617  193 tabbedPane.setToolTipText("<html><i>"
1618    + MessageManager.getString("label.rename_tab_eXpand_reGroup")
1619    + "</i></html>");
1620   
1621  193 formatMenu.setText(MessageManager.getString("action.format"));
1622  193 JMenu selectMenu = new JMenu(MessageManager.getString("action.select"));
1623   
1624  193 idRightAlign.setText(
1625    MessageManager.getString("label.right_align_sequence_id"));
1626  193 idRightAlign.addActionListener(new ActionListener()
1627    {
 
1628  0 toggle @Override
1629    public void actionPerformed(ActionEvent e)
1630    {
1631  0 idRightAlign_actionPerformed(e);
1632    }
1633    });
1634   
1635  193 gatherViews.setEnabled(false);
1636  193 gatherViews.setText(MessageManager.getString("action.gather_views"));
1637  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_G, 0, false);
1638  193 al = new ActionListener()
1639    {
 
1640  0 toggle @Override
1641    public void actionPerformed(ActionEvent e)
1642    {
1643  0 gatherViews_actionPerformed(e);
1644    }
1645    };
1646  193 addMenuActionAndAccelerator(keyStroke, gatherViews, al);
1647   
1648  193 expandViews.setEnabled(false);
1649  193 expandViews.setText(MessageManager.getString("action.expand_views"));
1650  193 keyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_X, 0, false);
1651  193 al = new ActionListener()
1652    {
 
1653  0 toggle @Override
1654    public void actionPerformed(ActionEvent e)
1655    {
1656  0 expandViews_actionPerformed(e);
1657    }
1658    };
1659  193 addMenuActionAndAccelerator(keyStroke, expandViews, al);
1660   
1661  193 JMenuItem pageSetup = new JMenuItem(
1662    MessageManager.getString("action.page_setup"));
1663  193 pageSetup.addActionListener(new ActionListener()
1664    {
 
1665  0 toggle @Override
1666    public void actionPerformed(ActionEvent e)
1667    {
1668  0 pageSetup_actionPerformed(e);
1669    }
1670    });
1671  193 JMenuItem alignmentProperties = new JMenuItem(
1672    MessageManager.getString("label.alignment_props"));
1673  193 alignmentProperties.addActionListener(new ActionListener()
1674    {
 
1675  0 toggle @Override
1676    public void actionPerformed(ActionEvent actionEvent)
1677    {
1678  0 alignmentProperties();
1679    }
1680    });
1681  193 JMenuItem selectHighlighted = new JMenuItem(
1682    MessageManager.getString("action.select_highlighted_columns"));
1683  193 selectHighlighted.setToolTipText(
1684    MessageManager.getString("tooltip.select_highlighted_columns"));
1685  193 al = new ActionListener()
1686    {
 
1687  0 toggle @Override
1688    public void actionPerformed(ActionEvent actionEvent)
1689    {
1690  0 selectHighlightedColumns_actionPerformed(actionEvent);
1691    }
1692    };
1693  193 selectHighlighted.addActionListener(al);
1694  193 JMenu tooltipSettingsMenu = new JMenu(
1695    MessageManager.getString("label.sequence_id_tooltip"));
1696  193 JMenu autoAnnMenu = new JMenu(
1697    MessageManager.getString("label.autocalculated_annotation"));
1698   
1699  193 JMenu exportImageMenu = new JMenu(
1700    MessageManager.getString("label.export_image"));
1701  193 JMenu fileMenu = new JMenu(MessageManager.getString("action.file"));
1702  193 alignFrameMenuBar.add(fileMenu);
1703  193 alignFrameMenuBar.add(editMenu);
1704  193 alignFrameMenuBar.add(selectMenu);
1705  193 alignFrameMenuBar.add(viewMenu);
1706  193 alignFrameMenuBar.add(annotationsMenu);
1707  193 alignFrameMenuBar.add(formatMenu);
1708  193 alignFrameMenuBar.add(colourMenu);
1709  193 alignFrameMenuBar.add(calculateMenu);
1710  193 if (!Jalview.isJS())
1711    {
1712  193 alignFrameMenuBar.add(webService);
1713    }
1714   
1715  193 fileMenu.add(fetchSequence);
1716  193 fileMenu.add(addSequenceMenu);
1717  193 fileMenu.add(reload);
1718  193 fileMenu.addSeparator();
1719  193 fileMenu.add(vamsasStore);
1720  193 fileMenu.add(save);
1721  193 fileMenu.add(saveAs);
1722  193 fileMenu.add(outputTextboxMenu);
1723  193 fileMenu.add(pageSetup);
1724  193 fileMenu.add(printMenuItem);
1725  193 fileMenu.addSeparator();
1726  193 fileMenu.add(exportImageMenu);
1727  193 fileMenu.add(exportFeatures);
1728  193 fileMenu.add(exportAnnotations);
1729  193 fileMenu.add(loadTreeMenuItem);
1730  193 fileMenu.add(associatedData);
1731  193 if (!Jalview.isJS())
1732    {
1733  193 fileMenu.add(loadVcf);
1734    }
1735  193 fileMenu.addSeparator();
1736  193 fileMenu.add(closeMenuItem);
1737   
1738  193 pasteMenu.add(pasteNew);
1739  193 pasteMenu.add(pasteThis);
1740  193 editMenu.add(undoMenuItem);
1741  193 editMenu.add(redoMenuItem);
1742  193 editMenu.add(cut);
1743  193 editMenu.add(copy);
1744  193 editMenu.add(pasteMenu);
1745  193 editMenu.add(delete);
1746  193 editMenu.addSeparator();
1747  193 editMenu.add(remove2LeftMenuItem);
1748  193 editMenu.add(remove2RightMenuItem);
1749  193 editMenu.add(removeGappedColumnMenuItem);
1750  193 editMenu.add(removeAllGapsMenuItem);
1751  193 editMenu.add(removeRedundancyMenuItem);
1752  193 editMenu.addSeparator();
1753    // dont add these yet in the CVS build - they cannot be undone!
1754    // Excluded from Jalview 2.5 release - undo needs to be implemented.
1755    // editMenu.add(justifyLeftMenuItem);
1756    // editMenu.add(justifyRightMenuItem);
1757    // editMenu.addSeparator();
1758  193 editMenu.add(padGapsMenuitem);
1759   
1760  193 showMenu.add(showAllColumns);
1761  193 showMenu.add(showAllSeqs);
1762  193 showMenu.add(showAllhidden);
1763  193 hideMenu.add(hideSelColumns);
1764  193 hideMenu.add(hideSelSequences);
1765  193 hideMenu.add(hideAllSelection);
1766  193 hideMenu.add(hideAllButSelection);
1767  193 viewMenu.add(newView);
1768  193 viewMenu.add(expandViews);
1769  193 viewMenu.add(gatherViews);
1770  193 viewMenu.addSeparator();
1771  193 viewMenu.add(showMenu);
1772  193 viewMenu.add(hideMenu);
1773  193 viewMenu.add(showComplementMenuItem);
1774  193 viewMenu.addSeparator();
1775  193 viewMenu.add(followHighlightMenuItem);
1776  193 viewMenu.addSeparator();
1777  193 viewMenu.add(showSeqFeatures);
1778    // viewMenu.add(showSeqFeaturesHeight);
1779  193 viewMenu.add(openFeatureSettings);
1780  193 tooltipSettingsMenu.add(showDbRefsMenuitem);
1781  193 tooltipSettingsMenu.add(showNpFeatsMenuitem);
1782  193 viewMenu.add(tooltipSettingsMenu);
1783  193 viewMenu.addSeparator();
1784  193 viewMenu.add(alignmentProperties);
1785  193 viewMenu.addSeparator();
1786  193 viewMenu.add(overviewMenuItem);
1787   
1788  193 annotationsMenu.add(annotationPanelMenuItem);
1789  193 annotationsMenu.addSeparator();
1790  193 annotationsMenu.add(showAllAlAnnotations);
1791  193 annotationsMenu.add(hideAllAlAnnotations);
1792  193 annotationsMenu.addSeparator();
1793  193 annotationsMenu.add(showAllSeqAnnotations);
1794  193 annotationsMenu.add(hideAllSeqAnnotations);
1795  193 annotationsMenu.add(sortAnnBySequence);
1796  193 annotationsMenu.add(sortAnnByLabel);
1797  193 annotationsMenu.addSeparator();
1798  193 autoAnnMenu.add(showAutoFirst);
1799  193 autoAnnMenu.add(showAutoLast);
1800  193 autoAnnMenu.addSeparator();
1801  193 autoAnnMenu.add(applyAutoAnnotationSettings);
1802  193 autoAnnMenu.add(showConsensusHistogram);
1803  193 autoAnnMenu.add(showSequenceLogo);
1804  193 autoAnnMenu.add(normaliseSequenceLogo);
1805  193 autoAnnMenu.addSeparator();
1806  193 autoAnnMenu.add(showGroupConservation);
1807  193 autoAnnMenu.add(showGroupConsensus);
1808  193 annotationsMenu.add(autoAnnMenu);
1809   
1810  193 sort.add(sortIDMenuItem);
1811  193 sort.add(sortLengthMenuItem);
1812  193 sort.add(sortGroupMenuItem);
1813  193 sort.add(sortPairwiseMenuItem);
1814  193 sort.add(sortByTreeMenu);
1815  193 calculateMenu.add(sort);
1816  193 calculateMenu.add(calculateTree);
1817  193 calculateMenu.addSeparator();
1818  193 calculateMenu.add(pairwiseAlignmentMenuItem);
1819  193 calculateMenu.addSeparator();
1820  193 calculateMenu.add(showTranslation);
1821  193 calculateMenu.add(showReverse);
1822  193 calculateMenu.add(showReverseComplement);
1823  193 calculateMenu.add(showProducts);
1824  193 calculateMenu.add(autoCalculate);
1825  193 calculateMenu.add(sortByTree);
1826  193 calculateMenu.addSeparator();
1827  193 calculateMenu.add(expandAlignment);
1828  193 calculateMenu.add(extractScores);
1829  193 if (!Jalview.isJS())
1830    {
1831  193 calculateMenu.addSeparator();
1832  193 calculateMenu.add(runGroovy);
1833    }
1834   
1835  193 webServiceNoServices = new JMenuItem(
1836    MessageManager.getString("label.no_services"));
1837  193 webService.add(webServiceNoServices);
1838  193 if (!Jalview.isJS())
1839    {
1840  193 exportImageMenu.add(htmlMenuItem);
1841    }
1842  193 exportImageMenu.add(epsFile);
1843  193 exportImageMenu.add(createPNG);
1844  193 exportImageMenu.add(createBioJS);
1845  193 if (!Jalview.isJS())
1846    {
1847  193 exportImageMenu.add(createSVG);
1848    }
1849  193 addSequenceMenu.add(addFromFile);
1850  193 addSequenceMenu.add(addFromText);
1851  193 addSequenceMenu.add(addFromURL);
1852  193 this.getContentPane().add(statusPanel, java.awt.BorderLayout.SOUTH);
1853  193 statusPanel.add(statusBar, null);
1854  193 this.getContentPane().add(tabbedPane, java.awt.BorderLayout.CENTER);
1855   
1856  193 formatMenu.add(font);
1857  193 formatMenu.addSeparator();
1858  193 formatMenu.add(wrapMenuItem);
1859  193 formatMenu.add(scaleAbove);
1860  193 formatMenu.add(scaleLeft);
1861  193 formatMenu.add(scaleRight);
1862  193 formatMenu.add(seqLimits);
1863  193 formatMenu.add(idRightAlign);
1864  193 formatMenu.add(hiddenMarkers);
1865  193 formatMenu.add(viewBoxesMenuItem);
1866  193 formatMenu.add(viewTextMenuItem);
1867  193 formatMenu.add(colourTextMenuItem);
1868  193 formatMenu.add(renderGapsMenuItem);
1869  193 formatMenu.add(centreColumnLabelsMenuItem);
1870  193 formatMenu.add(showNonconservedMenuItem);
1871  193 selectMenu.add(findMenuItem);
1872  193 selectMenu.addSeparator();
1873  193 selectMenu.add(selectAllSequenceMenuItem);
1874  193 selectMenu.add(deselectAllSequenceMenuItem);
1875  193 selectMenu.add(invertSequenceMenuItem);
1876  193 selectMenu.add(invertColSel);
1877  193 selectMenu.add(createGroup);
1878  193 selectMenu.add(unGroup);
1879  193 selectMenu.add(grpsFromSelection);
1880  193 selectMenu.add(deleteGroups);
1881  193 selectMenu.add(annotationColumn);
1882  193 selectMenu.add(selectHighlighted);
1883    // TODO - determine if the listenToViewSelections button is needed : see bug
1884    // JAL-574
1885    // selectMenu.addSeparator();
1886    // selectMenu.add(listenToViewSelections);
1887    }
1888   
 
1889  0 toggle protected void loadVcf_actionPerformed()
1890    {
1891    }
1892   
1893    /**
1894    * Constructs the entries on the Colour menu (but does not add them to the
1895    * menu).
1896    */
 
1897  193 toggle protected void initColourMenu()
1898    {
1899  193 applyToAllGroups = new JCheckBoxMenuItem(
1900    MessageManager.getString("label.apply_colour_to_all_groups"));
1901  193 applyToAllGroups.addActionListener(new ActionListener()
1902    {
 
1903  0 toggle @Override
1904    public void actionPerformed(ActionEvent e)
1905    {
1906  0 applyToAllGroups_actionPerformed(applyToAllGroups.isSelected());
1907    }
1908    });
1909   
1910  193 textColour = new JMenuItem(
1911    MessageManager.getString("label.text_colour"));
1912  193 textColour.addActionListener(new ActionListener()
1913    {
 
1914  0 toggle @Override
1915    public void actionPerformed(ActionEvent e)
1916    {
1917  0 textColour_actionPerformed();
1918    }
1919    });
1920   
1921  193 conservationMenuItem = new JCheckBoxMenuItem(
1922    MessageManager.getString("action.by_conservation"));
1923  193 conservationMenuItem.addActionListener(new ActionListener()
1924    {
 
1925  0 toggle @Override
1926    public void actionPerformed(ActionEvent e)
1927    {
1928  0 conservationMenuItem_actionPerformed(
1929    conservationMenuItem.isSelected());
1930    }
1931    });
1932   
1933  193 abovePIDThreshold = new JCheckBoxMenuItem(
1934    MessageManager.getString("label.above_identity_threshold"));
1935  193 abovePIDThreshold.addActionListener(new ActionListener()
1936    {
 
1937  0 toggle @Override
1938    public void actionPerformed(ActionEvent e)
1939    {
1940  0 abovePIDThreshold_actionPerformed(abovePIDThreshold.isSelected());
1941    }
1942    });
1943  193 modifyPID = new JMenuItem(
1944    MessageManager.getString("label.modify_identity_threshold"));
1945  193 modifyPID.addActionListener(new ActionListener()
1946    {
 
1947  0 toggle @Override
1948    public void actionPerformed(ActionEvent e)
1949    {
1950  0 modifyPID_actionPerformed();
1951    }
1952    });
1953  193 modifyConservation = new JMenuItem(MessageManager
1954    .getString("label.modify_conservation_threshold"));
1955  193 modifyConservation.addActionListener(new ActionListener()
1956    {
 
1957  0 toggle @Override
1958    public void actionPerformed(ActionEvent e)
1959    {
1960  0 modifyConservation_actionPerformed();
1961    }
1962    });
1963   
1964  193 annotationColour = new JMenuItem(
1965    MessageManager.getString("action.by_annotation"));
1966  193 annotationColour.addActionListener(new ActionListener()
1967    {
 
1968  0 toggle @Override
1969    public void actionPerformed(ActionEvent e)
1970    {
1971  0 annotationColour_actionPerformed();
1972    }
1973    });
1974    }
1975   
 
1976  0 toggle protected void selectHighlightedColumns_actionPerformed(
1977    ActionEvent actionEvent)
1978    {
1979    // TODO Auto-generated method stub
1980   
1981    }
1982   
1983    /**
1984    * Generate the reverse sequence (or reverse complement if the flag is true)
1985    * and add it to the alignment
1986    *
1987    * @param complement
1988    */
 
1989  0 toggle protected void showReverse_actionPerformed(boolean complement)
1990    {
1991    }
1992   
1993    /**
1994    * Try to run script in a Groovy console, having first ensured that this
1995    * alignframe is set as currentAlignFrame in Desktop
1996    */
 
1997  0 toggle protected void runGroovy_actionPerformed()
1998    {
1999   
2000    }
2001   
2002    /**
2003    * Adds the given action listener and key accelerator to the given menu item.
2004    * Also saves in a lookup table to support lookup of action by key stroke.
2005    *
2006    * @param keyStroke
2007    * @param menuItem
2008    * @param actionListener
2009    */
 
2010  5018 toggle protected void addMenuActionAndAccelerator(KeyStroke keyStroke,
2011    JMenuItem menuItem, ActionListener actionListener)
2012    {
2013  5018 menuItem.setAccelerator(keyStroke);
2014  5018 accelerators.put(keyStroke, menuItem);
2015  5018 menuItem.addActionListener(actionListener);
2016    }
2017   
2018    /**
2019    * Action on clicking sort annotations by type.
2020    *
2021    * @param sortOrder
2022    */
 
2023  0 toggle protected void sortAnnotations_actionPerformed()
2024    {
2025    }
2026   
2027    /**
2028    * Action on clicking Show all annotations.
2029    *
2030    * @param forSequences
2031    * update sequence-related annotations
2032    * @param forAlignment
2033    * update non-sequence-related annotations
2034    */
 
2035  0 toggle protected void showAllAnnotations_actionPerformed(boolean forSequences,
2036    boolean forAlignment)
2037    {
2038  0 setAnnotationsVisibility(true, forSequences, forAlignment);
2039    }
2040   
2041    /**
2042    * Action on clicking Hide all annotations.
2043    *
2044    * @param forSequences
2045    * update sequence-related annotations
2046    * @param forAlignment
2047    * update non-sequence-related annotations
2048    */
 
2049  0 toggle protected void hideAllAnnotations_actionPerformed(boolean forSequences,
2050    boolean forAlignment)
2051    {
2052  0 setAnnotationsVisibility(false, forSequences, forAlignment);
2053    }
2054   
2055    /**
2056    * Set the visibility of annotations to true or false. Can act on
2057    * sequence-related annotations, or alignment-related, or both.
2058    *
2059    * @param visible
2060    * @param forSequences
2061    * update sequence-related annotations
2062    * @param forAlignment
2063    * update non-sequence-related annotations
2064    */
 
2065  0 toggle protected void setAnnotationsVisibility(boolean visible,
2066    boolean forSequences, boolean forAlignment)
2067    {
2068   
2069    }
2070   
 
2071  0 toggle protected void normaliseSequenceLogo_actionPerformed(ActionEvent e)
2072    {
2073    // TODO Auto-generated method stub
2074   
2075    }
2076   
 
2077  0 toggle protected void listenToViewSelections_actionPerformed(ActionEvent e)
2078    {
2079    // TODO Auto-generated method stub
2080   
2081    }
2082   
 
2083  0 toggle protected void showAllhidden_actionPerformed(ActionEvent e)
2084    {
2085    // TODO Auto-generated method stub
2086   
2087    }
2088   
 
2089  0 toggle protected void hideAllButSelection_actionPerformed(ActionEvent e)
2090    {
2091    // TODO Auto-generated method stub
2092   
2093    }
2094   
 
2095  0 toggle protected void hideAllSelection_actionPerformed(ActionEvent e)
2096    {
2097    // TODO Auto-generated method stub
2098   
2099    }
2100   
 
2101  0 toggle protected void applyAutoAnnotationSettings_actionPerformed(ActionEvent e)
2102    {
2103    // TODO Auto-generated method stub
2104   
2105    }
2106   
 
2107  0 toggle protected void showConsensusHistogram_actionPerformed(ActionEvent e)
2108    {
2109    // TODO Auto-generated method stub
2110   
2111    }
2112   
 
2113  0 toggle protected void showSequenceLogo_actionPerformed(ActionEvent e)
2114    {
2115    // TODO Auto-generated method stub
2116   
2117    }
2118   
 
2119  0 toggle protected void makeGrpsFromSelection_actionPerformed(ActionEvent e)
2120    {
2121    // TODO Auto-generated method stub
2122   
2123    }
2124   
 
2125  0 toggle protected void showGroupConsensus_actionPerformed(ActionEvent e)
2126    {
2127    // TODO Auto-generated method stub
2128   
2129    }
2130   
 
2131  0 toggle protected void showGroupConservation_actionPerformed(ActionEvent e)
2132    {
2133    // TODO Auto-generated method stub
2134   
2135    }
2136   
 
2137  0 toggle protected void showUnconservedMenuItem_actionPerformed(ActionEvent e)
2138    {
2139    // TODO Auto-generated method stub
2140   
2141    }
2142   
 
2143  0 toggle protected void justifyRightMenuItem_actionPerformed(ActionEvent e)
2144    {
2145    // TODO Auto-generated method stub
2146   
2147    }
2148   
 
2149  0 toggle protected void justifyLeftMenuItem_actionPerformed(ActionEvent e)
2150    {
2151    // TODO Auto-generated method stub
2152   
2153    }
2154   
 
2155  0 toggle protected void followHighlight_actionPerformed()
2156    {
2157    // TODO Auto-generated method stub
2158   
2159    }
2160   
 
2161  0 toggle protected void showNpFeats_actionPerformed(ActionEvent e)
2162    {
2163    // TODO Auto-generated method stub
2164   
2165    }
2166   
 
2167  0 toggle protected void showDbRefs_actionPerformed(ActionEvent e)
2168    {
2169    // TODO Auto-generated method stub
2170   
2171    }
2172   
 
2173  0 toggle protected void centreColumnLabels_actionPerformed(ActionEvent e)
2174    {
2175    }
2176   
 
2177  0 toggle protected void buildSortByAnnotationScoresMenu()
2178    {
2179    }
2180   
 
2181  0 toggle protected void extractScores_actionPerformed(ActionEvent e)
2182    {
2183    }
2184   
 
2185  0 toggle protected void outputText_actionPerformed(String formatName)
2186    {
2187    }
2188   
 
2189  0 toggle public void addFromFile_actionPerformed(ActionEvent e)
2190    {
2191   
2192    }
2193   
 
2194  0 toggle public void addFromText_actionPerformed(ActionEvent e)
2195    {
2196   
2197    }
2198   
 
2199  0 toggle public void addFromURL_actionPerformed(ActionEvent e)
2200    {
2201   
2202    }
2203   
 
2204  0 toggle public void exportFeatures_actionPerformed(ActionEvent e)
2205    {
2206   
2207    }
2208   
 
2209  0 toggle public void exportAnnotations_actionPerformed(ActionEvent e)
2210    {
2211   
2212    }
2213   
 
2214  0 toggle protected void htmlMenuItem_actionPerformed(ActionEvent e)
2215    {
2216    }
2217   
 
2218  0 toggle protected void bioJSMenuItem_actionPerformed(ActionEvent e)
2219    {
2220   
2221    }
2222   
 
2223  0 toggle protected void closeMenuItem_actionPerformed(boolean b)
2224    {
2225    }
2226   
 
2227  0 toggle protected void redoMenuItem_actionPerformed(ActionEvent e)
2228    {
2229    }
2230   
 
2231  0 toggle protected void undoMenuItem_actionPerformed(ActionEvent e)
2232    {
2233    }
2234   
 
2235  0 toggle protected void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2236    {
2237    }
2238   
 
2239  0 toggle protected void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)
2240    {
2241    }
2242   
 
2243  0 toggle protected void invertSequenceMenuItem_actionPerformed(ActionEvent e)
2244    {
2245    }
2246   
 
2247  0 toggle protected void remove2LeftMenuItem_actionPerformed(ActionEvent e)
2248    {
2249    }
2250   
 
2251  0 toggle protected void remove2RightMenuItem_actionPerformed(ActionEvent e)
2252    {
2253    }
2254   
 
2255  0 toggle protected void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)
2256    {
2257    }
2258   
 
2259  0 toggle protected void removeAllGapsMenuItem_actionPerformed(ActionEvent e)
2260    {
2261    }
2262   
 
2263  0 toggle protected void wrapMenuItem_actionPerformed(ActionEvent e)
2264    {
2265    }
2266   
 
2267  0 toggle protected void viewBoxesMenuItem_actionPerformed(ActionEvent e)
2268    {
2269    }
2270   
 
2271  0 toggle protected void viewTextMenuItem_actionPerformed(ActionEvent e)
2272    {
2273    }
2274   
 
2275  0 toggle protected void colourTextMenuItem_actionPerformed(ActionEvent e)
2276    {
2277    }
2278   
 
2279  0 toggle protected void annotationPanelMenuItem_actionPerformed(ActionEvent e)
2280    {
2281    }
2282   
 
2283  0 toggle protected void overviewMenuItem_actionPerformed(ActionEvent e)
2284    {
2285    }
2286   
 
2287  0 toggle protected void sortPairwiseMenuItem_actionPerformed(ActionEvent e)
2288    {
2289    }
2290   
 
2291  0 toggle protected void sortIDMenuItem_actionPerformed(ActionEvent e)
2292    {
2293    }
2294   
 
2295  0 toggle protected void sortLengthMenuItem_actionPerformed(ActionEvent e)
2296    {
2297    }
2298   
 
2299  0 toggle protected void sortGroupMenuItem_actionPerformed(ActionEvent e)
2300    {
2301    }
2302   
 
2303  0 toggle protected void removeRedundancyMenuItem_actionPerformed(ActionEvent e)
2304    {
2305    }
2306   
 
2307  0 toggle protected void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)
2308    {
2309    }
2310   
 
2311  0 toggle protected void neighbourTreeMenuItem_actionPerformed(ActionEvent e)
2312    {
2313    }
2314   
 
2315  0 toggle protected void conservationMenuItem_actionPerformed(boolean selected)
2316    {
2317    }
2318   
 
2319  0 toggle protected void printMenuItem_actionPerformed(ActionEvent e)
2320    {
2321    }
2322   
 
2323  0 toggle protected void renderGapsMenuItem_actionPerformed(ActionEvent e)
2324    {
2325    }
2326   
 
2327  0 toggle protected void findMenuItem_actionPerformed(ActionEvent e)
2328    {
2329    }
2330   
 
2331  0 toggle protected void abovePIDThreshold_actionPerformed(boolean selected)
2332    {
2333    }
2334   
 
2335  0 toggle public void showSeqFeatures_actionPerformed(ActionEvent actionEvent)
2336    {
2337    }
2338   
 
2339  0 toggle protected void deleteGroups_actionPerformed(ActionEvent e)
2340    {
2341    }
2342   
 
2343  0 toggle protected void createGroup_actionPerformed(ActionEvent e)
2344    {
2345    }
2346   
 
2347  0 toggle protected void unGroup_actionPerformed(ActionEvent e)
2348    {
2349    }
2350   
 
2351  0 toggle protected void copy_actionPerformed(ActionEvent e)
2352    {
2353    }
2354   
 
2355  0 toggle protected void cut_actionPerformed(ActionEvent e)
2356    {
2357    }
2358   
 
2359  0 toggle protected void delete_actionPerformed(ActionEvent e)
2360    {
2361    }
2362   
 
2363  0 toggle protected void pasteNew_actionPerformed(ActionEvent e)
2364    {
2365    }
2366   
 
2367  0 toggle protected void pasteThis_actionPerformed(ActionEvent e)
2368    {
2369    }
2370   
 
2371  0 toggle protected void applyToAllGroups_actionPerformed(boolean selected)
2372    {
2373    }
2374   
 
2375  0 toggle public void createPNG(java.io.File f)
2376    {
2377    }
2378   
 
2379  0 toggle protected void font_actionPerformed(ActionEvent e)
2380    {
2381    }
2382   
 
2383  0 toggle protected void seqLimit_actionPerformed(ActionEvent e)
2384    {
2385    }
2386   
 
2387  0 toggle public void seqDBRef_actionPerformed(ActionEvent e)
2388    {
2389   
2390    }
2391   
 
2392  0 toggle public void createEPS(java.io.File f)
2393    {
2394    }
2395   
 
2396  0 toggle public void createSVG(java.io.File f)
2397    {
2398   
2399    }
2400   
 
2401  0 toggle protected void loadTreeMenuItem_actionPerformed(ActionEvent e)
2402    {
2403   
2404    }
2405   
2406    /**
2407    * Template method to handle the 'load T-Coffee scores' menu event.
2408    * <p>
2409    * Subclasses override this method to provide a custom action.
2410    *
2411    * @param event
2412    * The raised event
2413    */
 
2414  0 toggle protected void loadScores_actionPerformed(ActionEvent event)
2415    {
2416   
2417    }
2418   
 
2419  0 toggle protected void jpred_actionPerformed(ActionEvent e)
2420    {
2421    }
2422   
 
2423  0 toggle protected void scaleAbove_actionPerformed(ActionEvent e)
2424    {
2425    }
2426   
 
2427  0 toggle protected void scaleLeft_actionPerformed(ActionEvent e)
2428    {
2429    }
2430   
 
2431  0 toggle protected void scaleRight_actionPerformed(ActionEvent e)
2432    {
2433    }
2434   
 
2435  0 toggle protected void modifyPID_actionPerformed()
2436    {
2437    }
2438   
 
2439  0 toggle protected void modifyConservation_actionPerformed()
2440    {
2441    }
2442   
 
2443  0 toggle protected void saveAs_actionPerformed()
2444    {
2445    }
2446   
 
2447  0 toggle protected void padGapsMenuitem_actionPerformed(ActionEvent e)
2448    {
2449    }
2450   
 
2451  0 toggle public void vamsasStore_actionPerformed(ActionEvent e)
2452    {
2453   
2454    }
2455   
 
2456  0 toggle public void vamsasLoad_actionPerformed(ActionEvent e)
2457    {
2458   
2459    }
2460   
 
2461  0 toggle public void showTranslation_actionPerformed(ActionEvent e)
2462    {
2463   
2464    }
2465   
 
2466  0 toggle public void featureSettings_actionPerformed(ActionEvent e)
2467    {
2468   
2469    }
2470   
 
2471  0 toggle public void fetchSequence_actionPerformed(ActionEvent e)
2472    {
2473   
2474    }
2475   
 
2476  0 toggle public void smoothFont_actionPerformed(ActionEvent e)
2477    {
2478   
2479    }
2480   
 
2481  0 toggle public void annotationColour_actionPerformed()
2482    {
2483    }
2484   
 
2485  0 toggle public void annotationColumn_actionPerformed(ActionEvent e)
2486    {
2487    }
2488   
 
2489  0 toggle public void associatedData_actionPerformed(ActionEvent e)
2490    {
2491   
2492    }
2493   
 
2494  0 toggle public void autoCalculate_actionPerformed(ActionEvent e)
2495    {
2496   
2497    }
2498   
 
2499  0 toggle public void sortByTreeOption_actionPerformed(ActionEvent e)
2500    {
2501   
2502    }
2503   
 
2504  0 toggle public void showAllSeqs_actionPerformed(ActionEvent e)
2505    {
2506   
2507    }
2508   
 
2509  0 toggle public void showAllColumns_actionPerformed(ActionEvent e)
2510    {
2511   
2512    }
2513   
 
2514  0 toggle public void hideSelSequences_actionPerformed(ActionEvent e)
2515    {
2516   
2517    }
2518   
 
2519  0 toggle public void hideSelColumns_actionPerformed(ActionEvent e)
2520    {
2521   
2522    }
2523   
 
2524  0 toggle public void hiddenMarkers_actionPerformed(ActionEvent e)
2525    {
2526   
2527    }
2528   
 
2529  0 toggle public void findPdbId_actionPerformed(ActionEvent e)
2530    {
2531   
2532    }
2533   
 
2534  0 toggle public void enterPdbId_actionPerformed(ActionEvent e)
2535    {
2536   
2537    }
2538   
 
2539  0 toggle public void pdbFile_actionPerformed(ActionEvent e)
2540    {
2541   
2542    }
2543   
 
2544  0 toggle public void invertColSel_actionPerformed(ActionEvent e)
2545    {
2546   
2547    }
2548   
 
2549  0 toggle public void tabSelectionChanged(int sel)
2550    {
2551   
2552    }
2553   
 
2554  0 toggle public void tabbedPane_mousePressed(MouseEvent e)
2555    {
2556   
2557    }
2558   
 
2559  60 toggle public void tabbedPane_focusGained(FocusEvent e)
2560    {
2561  60 requestFocus();
2562    }
2563   
 
2564  0 toggle public void save_actionPerformed(ActionEvent e)
2565    {
2566   
2567    }
2568   
 
2569  0 toggle public void reload_actionPerformed(ActionEvent e)
2570    {
2571   
2572    }
2573   
 
2574  0 toggle public void newView_actionPerformed(ActionEvent e)
2575    {
2576   
2577    }
2578   
 
2579  0 toggle public void textColour_actionPerformed()
2580    {
2581   
2582    }
2583   
 
2584  0 toggle public void idRightAlign_actionPerformed(ActionEvent e)
2585    {
2586   
2587    }
2588   
 
2589  0 toggle public void expandViews_actionPerformed(ActionEvent e)
2590    {
2591   
2592    }
2593   
 
2594  0 toggle public void gatherViews_actionPerformed(ActionEvent e)
2595    {
2596   
2597    }
2598   
 
2599  0 toggle public void buildTreeSortMenu()
2600    {
2601   
2602    }
2603   
 
2604  0 toggle public void pageSetup_actionPerformed(ActionEvent e)
2605    {
2606   
2607    }
2608   
 
2609  0 toggle public void alignmentProperties()
2610    {
2611   
2612    }
2613   
 
2614  0 toggle protected void expand_newalign(ActionEvent e)
2615    {
2616    // TODO Auto-generated method stub
2617   
2618    }
2619   
 
2620  193 toggle protected boolean isShowAutoCalculatedAbove()
2621    {
2622  193 return showAutoCalculatedAbove;
2623    }
2624   
 
2625  193 toggle protected void setShowAutoCalculatedAbove(boolean showAutoCalculatedAbove)
2626    {
2627  193 this.showAutoCalculatedAbove = showAutoCalculatedAbove;
2628    }
2629   
 
2630  0 toggle protected SequenceAnnotationOrder getAnnotationSortOrder()
2631    {
2632  0 return annotationSortOrder;
2633    }
2634   
 
2635  0 toggle protected void setAnnotationSortOrder(
2636    SequenceAnnotationOrder annotationSortOrder)
2637    {
2638  0 this.annotationSortOrder = annotationSortOrder;
2639    }
2640   
 
2641  0 toggle public Map<KeyStroke, JMenuItem> getAccelerators()
2642    {
2643  0 return this.accelerators;
2644    }
2645   
2646    /**
2647    * Returns the selected index of the tabbed pane, or -1 if none selected
2648    * (including the case where the tabbed pane has not been made visible).
2649    *
2650    * @return
2651    */
 
2652  0 toggle public int getTabIndex()
2653    {
2654  0 return tabbedPane.getSelectedIndex();
2655    }
2656   
 
2657  0 toggle public JPanel getStatusPanel()
2658    {
2659  0 return statusPanel;
2660    }
2661   
2662    /**
2663    * Sets a reference to the containing split frame. Also makes the 'toggle
2664    * split view' menu item visible and checked.
2665    *
2666    * @param sf
2667    */
 
2668  0 toggle public void setSplitFrame(SplitContainerI sf)
2669    {
2670  0 this.splitFrame = sf;
2671  0 if (sf != null)
2672    {
2673  0 this.showComplementMenuItem.setVisible(true);
2674  0 this.showComplementMenuItem.setState(true);
2675    }
2676    }
2677   
 
2678  0 toggle public SplitContainerI getSplitViewContainer()
2679    {
2680  0 return this.splitFrame;
2681    }
2682   
 
2683  0 toggle protected void showComplement_actionPerformed(boolean complement)
2684    {
2685    }
2686    }