+ protected void deleteGroups_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.alignment.deleteAllGroups();\r
+ viewport.setSelectionGroup(null);\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ public void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ SequenceGroup sg = new SequenceGroup();\r
+\r
+ for (int i = 0; i < viewport.getAlignment().getSequences().size();\r
+ i++)\r
+ {\r
+ sg.addSequence(viewport.getAlignment().getSequenceAt(i), false);\r
+ }\r
+\r
+ sg.setEndRes(viewport.alignment.getWidth());\r
+ viewport.setSelectionGroup(sg);\r
+ PaintRefresher.Refresh(null, viewport.alignment);\r
+ }\r
+\r
+ public void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setSelectionGroup(null);\r
+ viewport.getColumnSelection().clear();\r
+ viewport.setSelectionGroup(null);\r
+ alignPanel.annotationPanel.activeRes=null;\r
+ PaintRefresher.Refresh(null, viewport.alignment);\r
+ }\r
+\r
+ public void invertSequenceMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ SequenceGroup sg = viewport.getSelectionGroup();\r
+ if(sg==null)\r
+ {\r
+ selectAllSequenceMenuItem_actionPerformed(null);\r
+ return;\r
+ }\r
+\r
+ for (int i = 0; i < viewport.getAlignment().getSequences().size();\r
+ i++)\r
+ {\r
+ sg.addOrRemove(viewport.getAlignment().getSequenceAt(i), false);\r
+ }\r
+\r
+ PaintRefresher.Refresh(null, viewport.alignment);\r
+ }\r
+\r
+ public void remove2LeftMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ ColumnSelection colSel = viewport.getColumnSelection();\r
+\r
+ if (colSel.size() > 0)\r
+ {\r
+ addHistoryItem(new HistoryItem("Remove Left", viewport.alignment,\r
+ HistoryItem.HIDE));\r
+\r
+ int min = colSel.getMin();\r
+ viewport.getAlignment().trimLeft(min);\r
+ colSel.compensateForEdit(0, min);\r
+\r
+ if (viewport.getSelectionGroup() != null)\r
+ {\r
+ viewport.getSelectionGroup().adjustForRemoveLeft(min);\r
+ }\r
+\r
+ Vector groups = viewport.alignment.getGroups();\r
+\r
+ for (int i = 0; i < groups.size(); i++)\r
+ {\r
+ SequenceGroup sg = (SequenceGroup) groups.get(i);\r
+\r
+ if (!sg.adjustForRemoveLeft(min))\r
+ {\r
+ viewport.alignment.deleteGroup(sg);\r
+ }\r
+ }\r
+\r
+ alignPanel.repaint();\r
+ }\r
+ }\r
+\r
+ public void remove2RightMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ ColumnSelection colSel = viewport.getColumnSelection();\r
+\r
+ if (colSel.size() > 0)\r
+ {\r
+ addHistoryItem(new HistoryItem("Remove Right", viewport.alignment,\r
+ HistoryItem.HIDE));\r
+\r
+ int max = colSel.getMax();\r
+ viewport.getAlignment().trimRight(max);\r
+\r
+ if (viewport.getSelectionGroup() != null)\r
+ {\r
+ viewport.getSelectionGroup().adjustForRemoveRight(max);\r
+ }\r
+\r
+ Vector groups = viewport.alignment.getGroups();\r
+\r
+ for (int i = 0; i < groups.size(); i++)\r
+ {\r
+ SequenceGroup sg = (SequenceGroup) groups.get(i);\r
+\r
+ if (!sg.adjustForRemoveRight(max))\r
+ {\r
+ viewport.alignment.deleteGroup(sg);\r
+ }\r
+ }\r
+\r
+ alignPanel.repaint();\r
+ }\r
+ }\r
+\r
+ public void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ addHistoryItem(new HistoryItem("Remove Gapped Columns",\r
+ viewport.alignment, HistoryItem.HIDE));\r
+\r
+ viewport.getAlignment().removeGaps();\r
+ viewport.updateConservation();\r
+ viewport.updateConsensus();\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ public void removeAllGapsMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ addHistoryItem(new HistoryItem("Remove Gaps", viewport.alignment,\r
+ HistoryItem.HIDE));\r
+\r
+ SequenceI current;\r
+ int jSize;\r
+\r
+ for (int i = 0; i < viewport.getAlignment().getSequences().size();\r
+ i++)\r
+ {\r
+ current = viewport.getAlignment().getSequenceAt(i);\r
+ jSize = current.getLength();\r
+\r
+ for (int j = 0; j < jSize; j++)\r
+ {\r
+ if (jalview.util.Comparison.isGap(current.getCharAt(j)))\r
+ {\r
+ current.deleteCharAt(j);\r
+ j--;\r
+ jSize--;\r
+ }\r
+ }\r
+ }\r
+\r
+ viewport.updateConservation();\r
+ viewport.updateConsensus();\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ public void padGapsMenuitem_actionPerformed(ActionEvent e)\r
+ {\r
+ addHistoryItem(new HistoryItem("Pad Gaps", viewport.alignment,\r
+ HistoryItem.HIDE));\r
+\r
+ SequenceI current;\r
+ int Width = viewport.getAlignment().getWidth() - 1;\r
+\r
+ for (int i = 0; i < viewport.getAlignment().getSequences().size();\r
+ i++)\r
+ {\r
+ current = viewport.getAlignment().getSequenceAt(i);\r
+\r
+ if (current.getLength() < Width)\r
+ {\r
+ current.insertCharAt(Width, viewport.getGapCharacter());\r
+ }\r
+ }\r
+\r
+ viewport.updateConservation();\r
+ viewport.updateConsensus();\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ public void findMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ JInternalFrame frame = new JInternalFrame();\r
+ Finder finder = new Finder(viewport, alignPanel, frame);\r
+ frame.setContentPane(finder);\r
+ Desktop.addInternalFrame(frame, "Find", 340, 110);\r
+ frame.setLayer(JLayeredPane.PALETTE_LAYER);\r
+ }\r
+\r
+ public void font_actionPerformed(ActionEvent e)\r
+ {\r
+ FontChooser fc = new FontChooser(alignPanel);\r
+ }\r
+\r
+ protected void fullSeqId_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setShowFullId(fullSeqId.isSelected());\r
+\r
+ alignPanel.idPanel.idCanvas.setPreferredSize(alignPanel.calculateIdWidth());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ protected void colourTextMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setColourText(colourTextMenuItem.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ protected void wrapMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setWrapAlignment(wrapMenuItem.isSelected());\r
+ alignPanel.setWrapAlignment(wrapMenuItem.isSelected());\r
+ scaleAbove.setVisible(wrapMenuItem.isSelected());\r
+ scaleLeft.setVisible(wrapMenuItem.isSelected());\r
+ scaleRight.setVisible(wrapMenuItem.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ protected void scaleAbove_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setScaleAboveWrapped(scaleAbove.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ protected void scaleLeft_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setScaleLeftWrapped(scaleLeft.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ protected void scaleRight_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setScaleRightWrapped(scaleRight.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ public void viewBoxesMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setShowBoxes(viewBoxesMenuItem.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ public void viewTextMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setShowText(viewTextMenuItem.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ protected void renderGapsMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setRenderGaps(renderGapsMenuItem.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ public void sequenceFeatures_actionPerformed(ActionEvent evt)\r