+ 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
+ {\r
+ viewport.showSequenceFeatures(sequenceFeatures.isSelected());\r
+\r
+ if (viewport.showSequenceFeatures &&\r
+ ! ( (Alignment) viewport.alignment).featuresAdded)\r
+ {\r
+ SequenceFeatureFetcher sft = new SequenceFeatureFetcher(viewport.\r
+ alignment,\r
+ alignPanel);\r
+ ( (Alignment) viewport.alignment).featuresAdded = true;\r
+ }\r
+\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ public void annotationPanelMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ if (annotationPanelMenuItem.isSelected() &&\r
+ viewport.getWrapAlignment())\r
+ {\r
+ annotationPanelMenuItem.setSelected(false);\r
+\r
+ return;\r
+ }\r
+\r
+ viewport.setShowAnnotation(annotationPanelMenuItem.isSelected());\r
+ alignPanel.setAnnotationVisible(annotationPanelMenuItem.isSelected());\r
+ }\r
+\r
+ public void overviewMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ if (alignPanel.overviewPanel != null)\r
+ {\r
+ return;\r
+ }\r
+\r
+ JInternalFrame frame = new JInternalFrame();\r
+ OverviewPanel overview = new OverviewPanel(alignPanel);\r
+ frame.setContentPane(overview);\r
+ Desktop.addInternalFrame(frame, "Overview " + this.getTitle(),\r
+ frame.getWidth(), frame.getHeight());\r
+ frame.pack();\r
+ frame.setLayer(JLayeredPane.PALETTE_LAYER);\r
+ frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()\r
+ {\r
+ public void internalFrameClosed(\r
+ javax.swing.event.InternalFrameEvent evt)\r
+ {\r
+ alignPanel.setOverviewPanel(null);\r
+ }\r
+ ;\r
+ });\r
+\r
+ alignPanel.setOverviewPanel(overview);\r
+ }\r
+\r
+ protected void noColourmenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ changeColour(null);\r
+ }\r