+ int s, sSize = viewport.alignment.getGroups().size();\r
+ for(s=0; s<sSize; s++)\r
+ {\r
+ SequenceGroup sg = (SequenceGroup)viewport.alignment.getGroups().elementAt(s);\r
+ if(sg.cs!=null && sg.cs instanceof ClustalxColourScheme)\r
+ {\r
+ ((ClustalxColourScheme)sg.cs).resetClustalX(\r
+ sg.getSequences(true), sg.getWidth());\r
+ }\r
+ sg.recalcConservation();\r
+ }\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void padGapsMenuitem_actionPerformed(ActionEvent e)\r
+ {\r
+ addHistoryItem(new HistoryItem("Pad Gaps", viewport.alignment,\r
+ HistoryItem.HIDE));\r
+\r
+ viewport.padGaps = padGapsMenuitem.isSelected();\r
+\r
+ // if (viewport.padGaps)\r
+ alignmentChanged();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\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
+ frame.setLayer(JLayeredPane.PALETTE_LAYER);\r
+ Desktop.addInternalFrame(frame, "Find", 340, 110);\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void font_actionPerformed(ActionEvent e)\r
+ {\r
+ new FontChooser(alignPanel);\r
+ }\r
+\r
+ public void smoothFont_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.antiAlias = smoothFont.isSelected();\r
+ alignPanel.annotationPanel.image = null;\r
+ alignPanel.repaint();\r
+ }\r
+\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ protected void seqLimit_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setShowJVSuffix(seqLimits.isSelected());\r
+\r
+ alignPanel.idPanel.idCanvas.setPreferredSize(alignPanel.calculateIdWidth());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ protected void colourTextMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setColourText(colourTextMenuItem.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void wrapMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ scaleAbove.setVisible(wrapMenuItem.isSelected());\r
+ scaleLeft.setVisible(wrapMenuItem.isSelected());\r
+ scaleRight.setVisible(wrapMenuItem.isSelected());\r
+ viewport.setWrapAlignment(wrapMenuItem.isSelected());\r
+ alignPanel.setWrapAlignment(wrapMenuItem.isSelected());\r
+ }\r
+\r
+ public void showAllSeqs_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.showAllHiddenSeqs();\r
+ repaint();\r
+ }\r
+\r
+ public void showAllColumns_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.showAllHiddenColumns();\r
+ }\r
+\r
+ public void hideSelSequences_actionPerformed(ActionEvent e)\r
+ {\r
+ if(viewport.getSelectionGroup()==null)\r
+ return;\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
+ public void hideSelColumns_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.hideSelectedColumns();\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ public void hiddenMarkers_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setShowHiddenMarkers(hiddenMarkers.isSelected());\r
+ repaint();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ protected void scaleAbove_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setScaleAboveWrapped(scaleAbove.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ protected void scaleLeft_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setScaleLeftWrapped(scaleLeft.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ protected void scaleRight_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setScaleRightWrapped(scaleRight.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void viewBoxesMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setShowBoxes(viewBoxesMenuItem.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void viewTextMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setShowText(viewTextMenuItem.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ protected void renderGapsMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setRenderGaps(renderGapsMenuItem.isSelected());\r
+ alignPanel.repaint();\r
+ }\r
+\r
+\r
+ FeatureSettings featureSettings;\r
+ public void featureSettings_actionPerformed(ActionEvent e)\r
+ {\r
+ if(featureSettings !=null )\r
+ {\r
+ featureSettings.close();\r
+ featureSettings = null;\r
+ }\r
+ featureSettings = new FeatureSettings(this);\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param evt DOCUMENT ME!\r
+ */\r
+ public void showSeqFeatures_actionPerformed(ActionEvent evt)\r
+ {\r
+ viewport.setShowSequenceFeatures(showSeqFeatures.isSelected());\r
+ alignPanel.repaint();\r
+ if (alignPanel.getOverviewPanel() != null)\r
+ {\r
+ alignPanel.getOverviewPanel().updateOverviewImage();\r
+ }\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void annotationPanelMenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setShowAnnotation(annotationPanelMenuItem.isSelected());\r
+ alignPanel.setAnnotationVisible(annotationPanelMenuItem.isSelected());\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\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
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ protected void noColourmenuItem_actionPerformed(ActionEvent e)\r
+ {\r
+ changeColour(null);\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void clustalColour_actionPerformed(ActionEvent e)\r
+ {\r
+ changeColour(new ClustalxColourScheme(\r
+ viewport.alignment.getSequences(), viewport.alignment.getWidth()));\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void zappoColour_actionPerformed(ActionEvent e)\r
+ {\r
+ changeColour(new ZappoColourScheme());\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void taylorColour_actionPerformed(ActionEvent e)\r
+ {\r
+ changeColour(new TaylorColourScheme());\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void hydrophobicityColour_actionPerformed(ActionEvent e)\r
+ {\r
+ changeColour(new HydrophobicColourScheme());\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void helixColour_actionPerformed(ActionEvent e)\r
+ {\r
+ changeColour(new HelixColourScheme());\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void strandColour_actionPerformed(ActionEvent e)\r
+ {\r
+ changeColour(new StrandColourScheme());\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void turnColour_actionPerformed(ActionEvent e)\r
+ {\r
+ changeColour(new TurnColourScheme());\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void buriedColour_actionPerformed(ActionEvent e)\r
+ {\r
+ changeColour(new BuriedColourScheme());\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ public void nucleotideColour_actionPerformed(ActionEvent e)\r
+ {\r
+ changeColour(new NucleotideColourScheme());\r
+ }\r
+\r
+ public void annotationColour_actionPerformed(ActionEvent e)\r
+ {\r
+ new AnnotationColourChooser(viewport, alignPanel);\r
+ }\r
+\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param e DOCUMENT ME!\r
+ */\r
+ protected void applyToAllGroups_actionPerformed(ActionEvent e)\r
+ {\r
+ viewport.setColourAppliesToAllGroups(applyToAllGroups.isSelected());\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param cs DOCUMENT ME!\r
+ */\r
+ public void changeColour(ColourSchemeI cs)\r
+ {\r
+ int threshold = 0;\r
+\r
+ if(cs!=null)\r
+ {\r
+ if (viewport.getAbovePIDThreshold())\r
+ {\r
+ threshold = SliderPanel.setPIDSliderSource(alignPanel, cs,\r
+ "Background");\r