this.addKeyListener(this);\r
alignPanel.seqPanel.seqCanvas.addKeyListener(this);\r
alignPanel.idPanel.idCanvas.addKeyListener(this);\r
+ alignPanel.scalePanel.addKeyListener(this);\r
+ alignPanel.annotationPanel.addKeyListener(this);\r
\r
viewport.addPropertyChangeListener(new java.beans.PropertyChangeListener()\r
{\r
findMenuItem_actionPerformed();\r
}\r
break;\r
+ case KeyEvent.VK_H:\r
+ {\r
+ SequenceGroup sg = viewport.getSelectionGroup();\r
+ if (sg != null && sg.getSize(false) != viewport.alignment.getHeight())\r
+ {\r
+ hideSelectedSeqs();\r
+ }\r
+ else\r
+ viewport.showAllHiddenSeqs();\r
+\r
+ if (viewport.colSel.getSelected().size() > 0)\r
+ {\r
+ viewport.hideSelectedColumns();\r
+ }\r
+ else\r
+ {\r
+ viewport.showAllHiddenColumns();\r
+ }\r
+ alignPanel.repaint();\r
+ break;\r
+ }\r
+\r
}\r
}\r
public void keyReleased(KeyEvent evt)\r
else if(source==invertSequenceMenuItem)\r
invertSequenceMenuItem_actionPerformed();\r
else if(source==invertColSel)\r
- { viewport.invertColumnSelection(); repaint(); }\r
+ { viewport.invertColumnSelection(); alignPanel.repaint(); }\r
else if(source==remove2LeftMenuItem)\r
remove2LeftMenuItem_actionPerformed();\r
else if(source==remove2RightMenuItem)\r
font_actionPerformed();\r
else if(source==showColumns)\r
{\r
- viewport.showAllHiddenColumns(); repaint();\r
+ viewport.showAllHiddenColumns(); alignPanel.repaint();\r
}\r
else if(source==showSeqs)\r
{\r
- viewport.showAllHiddenSeqs(); repaint();\r
+ viewport.showAllHiddenSeqs(); alignPanel.repaint();\r
}\r
else if(source == hideColumns)\r
{\r
- viewport.hideSelectedColumns(); repaint();\r
+ viewport.hideSelectedColumns(); alignPanel.repaint();\r
}\r
else if(source == hideSequences && viewport.getSelectionGroup()!=null)\r
{\r
- SequenceI[] seqs = viewport.getSelectionGroup().getSequencesInOrder(\r
- viewport.alignment\r
- );\r
-\r
- for (int i = 0; i < seqs.length; i++)\r
- {\r
- viewport.hideSequence(seqs[i]);\r
- }\r
-\r
- alignPanel.repaint();\r
+ hideSelectedSeqs();\r
}\r
else if(source==featureSettings)\r
featureSettings_actionPerformed();\r
alignPanel.repaint();\r
}\r
\r
+ void hideSelectedSeqs()\r
+ {\r
+ SequenceI[] seqs = viewport.getSelectionGroup().getSequencesInOrder(\r
+ viewport.alignment\r
+ );\r
+\r
+ for (int i = 0; i < seqs.length; i++)\r
+ {\r
+ viewport.hideSequence(seqs[i]);\r
+ }\r
+\r
+ alignPanel.repaint();\r
+ }\r
+\r
protected void scaleAbove_actionPerformed()\r
{\r
viewport.setScaleAboveWrapped(scaleAbove.getState());\r
\r
public void pairwiseAlignmentMenuItem_actionPerformed()\r
{\r
- if (viewport.getSelectionGroup().getSize(false) > 1)\r
+ if (viewport.getSelectionGroup()!=null\r
+ && viewport.getSelectionGroup().getSize(false) > 1)\r
{\r
Frame frame = new Frame();\r
frame.add(new PairwiseAlignPanel(alignPanel));\r
\r
}\r
\r
- final TreePanel tp = new TreePanel(viewport,\r
- type,\r
- pwType);\r
+ if ( (viewport.getSelectionGroup() != null &&\r
+ viewport.getSelectionGroup().getSize(false) > 1)\r
+ || (viewport.getSelectionGroup() == null\r
+ && viewport.alignment.getHeight() > 1))\r
+ {\r
+ final TreePanel tp = new TreePanel(viewport,\r
+ type,\r
+ pwType);\r
\r
- addTreeMenuItem(tp, title);\r
+ addTreeMenuItem(tp, title);\r
\r
- jalview.bin.JalviewLite.addFrame(tp, title, 600, 500);\r
+ jalview.bin.JalviewLite.addFrame(tp, title, 600, 500);\r
+ }\r
}\r
\r
void loadTree_actionPerformed()\r
MenuItem item;\r
\r
// dynamically fill save as menu with available formats\r
- for (int i = 0; i < jalview.io.AppletFormatAdapter.formats.size(); i++)\r
+ for (int i = 0; i < jalview.io.AppletFormatAdapter.WRITEABLE_FORMATS.length; i++)\r
{\r
\r
- item = new MenuItem( (String) jalview.io.AppletFormatAdapter.formats.\r
- elementAt(\r
- i));\r
+ item = new MenuItem( jalview.io.AppletFormatAdapter.WRITEABLE_FORMATS[i]);\r
+\r
item.addActionListener(new java.awt.event.ActionListener()\r
{\r
public void actionPerformed(ActionEvent e)\r