Reduced jar size by 20%
authoramwaterhouse <Andrew Waterhouse>
Thu, 22 Dec 2005 16:00:57 +0000 (16:00 +0000)
committeramwaterhouse <Andrew Waterhouse>
Thu, 22 Dec 2005 16:00:57 +0000 (16:00 +0000)
17 files changed:
src/jalview/appletgui/APopupMenu.java
src/jalview/appletgui/AlignFrame.java
src/jalview/appletgui/AlignViewport.java
src/jalview/appletgui/AlignmentPanel.java
src/jalview/appletgui/AnnotationLabels.java
src/jalview/appletgui/AnnotationPanel.java
src/jalview/appletgui/CutAndPasteTransfer.java
src/jalview/appletgui/Finder.java
src/jalview/appletgui/FontChooser.java
src/jalview/appletgui/OverviewPanel.java
src/jalview/appletgui/PCAPanel.java
src/jalview/appletgui/PairwiseAlignPanel.java
src/jalview/appletgui/RedundancyPanel.java
src/jalview/appletgui/SeqPanel.java
src/jalview/appletgui/SliderPanel.java
src/jalview/appletgui/TreePanel.java
src/jalview/appletgui/UserDefinedColours.java

index 8488dd8..c90af98 100755 (executable)
@@ -28,7 +28,7 @@ import jalview.datamodel.*;
 import jalview.schemes.*;\r
 \r
 public class APopupMenu\r
-    extends java.awt.PopupMenu\r
+    extends java.awt.PopupMenu implements ActionListener, ItemListener\r
 {\r
   Menu groupMenu = new Menu();\r
   protected MenuItem clustalColour = new MenuItem();\r
@@ -131,6 +131,54 @@ public class APopupMenu
     }\r
   }\r
 \r
+  public void itemStateChanged(ItemEvent evt)\r
+  {\r
+    if(evt.getSource()==abovePIDColour)\r
+      abovePIDColour_itemStateChanged();\r
+    else if(evt.getSource()==showColourText)\r
+      showColourText_itemStateChanged();\r
+    else if(evt.getSource()==showText)\r
+      showText_itemStateChanged();\r
+    else if(evt.getSource()==showBoxes)\r
+       showBoxes_itemStateChanged()   ;\r
+  }\r
+\r
+  public void actionPerformed(ActionEvent evt)\r
+  {\r
+    if(evt.getSource()==clustalColour)\r
+      clustalColour_actionPerformed();\r
+    else if(evt.getSource()==zappoColour)\r
+      zappoColour_actionPerformed();\r
+    else if(evt.getSource()==taylorColour)\r
+      taylorColour_actionPerformed();\r
+    else if(evt.getSource()==hydrophobicityColour)\r
+      hydrophobicityColour_actionPerformed();\r
+    else if(evt.getSource()==helixColour)\r
+      helixColour_actionPerformed();\r
+    else if(evt.getSource()==strandColour)\r
+      strandColour_actionPerformed();\r
+    else if(evt.getSource()==clustalColour)\r
+      turnColour_actionPerformed();\r
+    else if(evt.getSource()==buriedColour)\r
+      buriedColour_actionPerformed();\r
+    else if(evt.getSource()==nucleotideMenuItem)\r
+      nucleotideMenuItem_actionPerformed();\r
+\r
+    else if(evt.getSource()==userDefinedColour)\r
+          userDefinedColour_actionPerformed();\r
+        else if(evt.getSource()==PIDColour)\r
+       PIDColour_actionPerformed();\r
+     else if(evt.getSource()==BLOSUM62Colour)\r
+      BLOSUM62Colour_actionPerformed();\r
+    else if(evt.getSource()==noColourmenuItem)\r
+      noColourmenuItem_actionPerformed();\r
+    else if(evt.getSource()==conservationMenuItem)\r
+        conservationMenuItem_itemStateChanged();\r
+      else if(evt.getSource()==unGroupMenuItem)\r
+      unGroupMenuItem_actionPerformed();\r
+\r
+  }\r
+\r
   void addPDB(Sequence seq)\r
   {\r
     CutAndPasteTransfer cap = new CutAndPasteTransfer(true, ap.alignFrame.applet);\r
@@ -148,63 +196,21 @@ public class APopupMenu
     groupMenu.setLabel("Define");\r
 \r
     unGroupMenuItem.setLabel("Remove Group");\r
-    unGroupMenuItem.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        unGroupMenuItem_actionPerformed(e);\r
-      }\r
-    });\r
+    unGroupMenuItem.addActionListener(this);\r
 \r
     nucleotideMenuItem.setLabel("Nucleotide");\r
-    nucleotideMenuItem.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        nucleotideMenuItem_actionPerformed(e);\r
-      }\r
-    });\r
-    conservationMenuItem.addItemListener(new ItemListener()\r
-    {\r
-      public void itemStateChanged(ItemEvent itemEvent)\r
-      {\r
-        conservationMenuItem_itemStateChanged(itemEvent);\r
-      }\r
-    });\r
-    abovePIDColour.addItemListener(new ItemListener()\r
-    {\r
-      public void itemStateChanged(ItemEvent itemEvent)\r
-      {\r
-        abovePIDColour_itemStateChanged(itemEvent);\r
-      }\r
-    });\r
+    nucleotideMenuItem.addActionListener(this);\r
+    conservationMenuItem.addItemListener(this);\r
+    abovePIDColour.addItemListener(this);\r
     colourMenu.setLabel("Group Colour");\r
     showBoxes.setLabel("Boxes");\r
     showBoxes.setState(true);\r
-    showBoxes.addItemListener(new ItemListener()\r
-    {\r
-      public void itemStateChanged(ItemEvent itemEvent)\r
-      {\r
-        showBoxes_itemStateChanged(itemEvent);\r
-      }\r
-    });\r
+    showBoxes.addItemListener(this);\r
 \r
     showText.setLabel("Text");\r
-    showText.addItemListener(new ItemListener()\r
-    {\r
-      public void itemStateChanged(ItemEvent itemEvent)\r
-      {\r
-        showText_itemStateChanged(itemEvent);\r
-      }\r
-    });\r
+    showText.addItemListener(this);\r
     showColourText.setLabel("Colour Text");\r
-    showColourText.addItemListener(new ItemListener()\r
-    {\r
-      public void itemStateChanged(ItemEvent itemEvent)\r
-      {\r
-        showColourText_itemStateChanged(itemEvent);\r
-      }\r
-    });\r
+    showColourText.addItemListener(this);\r
 \r
     add(groupMenu);\r
     groupMenu.add(unGroupMenuItem);\r
@@ -231,104 +237,32 @@ public class APopupMenu
     colourMenu.add(conservationMenuItem);\r
 \r
     noColourmenuItem.setLabel("None");\r
-    noColourmenuItem.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        noColourmenuItem_actionPerformed(e);\r
-      }\r
-    });\r
+    noColourmenuItem.addActionListener(this);\r
 \r
     clustalColour.setLabel("Clustalx colours");\r
-    clustalColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        clustalColour_actionPerformed(e);\r
-      }\r
-    });\r
+    clustalColour.addActionListener(this);\r
     zappoColour.setLabel("Zappo");\r
-    zappoColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        zappoColour_actionPerformed(e);\r
-      }\r
-    });\r
+    zappoColour.addActionListener(this);\r
     taylorColour.setLabel("Taylor");\r
-    taylorColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        taylorColour_actionPerformed(e);\r
-      }\r
-    });\r
+    taylorColour.addActionListener(this);\r
     hydrophobicityColour.setLabel("Hydrophobicity");\r
-    hydrophobicityColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        hydrophobicityColour_actionPerformed(e);\r
-      }\r
-    });\r
+    hydrophobicityColour.addActionListener(this);\r
     helixColour.setLabel("Helix propensity");\r
-    helixColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        helixColour_actionPerformed(e);\r
-      }\r
-    });\r
+    helixColour.addActionListener(this);\r
     strandColour.setLabel("Strand propensity");\r
-    strandColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        strandColour_actionPerformed(e);\r
-      }\r
-    });\r
+    strandColour.addActionListener(this);\r
     turnColour.setLabel("Turn propensity");\r
-    turnColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        turnColour_actionPerformed(e);\r
-      }\r
-    });\r
+    turnColour.addActionListener(this);\r
     buriedColour.setLabel("Buried Index");\r
-    buriedColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        buriedColour_actionPerformed(e);\r
-      }\r
-    });\r
+    buriedColour.addActionListener(this);\r
     abovePIDColour.setLabel("Above % Identity");\r
 \r
     userDefinedColour.setLabel("User Defined");\r
-    userDefinedColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        userDefinedColour_actionPerformed(e);\r
-      }\r
-    });\r
+    userDefinedColour.addActionListener(this);\r
     PIDColour.setLabel("Percentage Identity");\r
-    PIDColour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        PIDColour_actionPerformed(e);\r
-      }\r
-    });\r
+    PIDColour.addActionListener(this);\r
     BLOSUM62Colour.setLabel("BLOSUM62");\r
-    BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent e)\r
-      {\r
-        BLOSUM62Colour_actionPerformed(e);\r
-      }\r
-    });\r
+    BLOSUM62Colour.addActionListener(this);\r
     conservationMenuItem.setLabel("Conservation");\r
 \r
   }\r
@@ -350,62 +284,62 @@ public class APopupMenu
       ap.overviewPanel.updateOverviewImage();\r
   }\r
 \r
-  protected void clustalColour_actionPerformed(ActionEvent e)\r
+  protected void clustalColour_actionPerformed()\r
   {\r
     SequenceGroup sg = getGroup();\r
     sg.cs = new ClustalxColourScheme(sg.sequences, ap.av.alignment.getWidth());\r
     refresh();\r
   }\r
 \r
-  protected void zappoColour_actionPerformed(ActionEvent e)\r
+  protected void zappoColour_actionPerformed()\r
   {\r
     getGroup().cs = new ZappoColourScheme();\r
     refresh();\r
   }\r
 \r
-  protected void taylorColour_actionPerformed(ActionEvent e)\r
+  protected void taylorColour_actionPerformed()\r
   {\r
     getGroup().cs = new TaylorColourScheme();\r
     refresh();\r
   }\r
 \r
-  protected void hydrophobicityColour_actionPerformed(ActionEvent e)\r
+  protected void hydrophobicityColour_actionPerformed()\r
   {\r
     getGroup().cs = new HydrophobicColourScheme();\r
     refresh();\r
   }\r
 \r
-  protected void helixColour_actionPerformed(ActionEvent e)\r
+  protected void helixColour_actionPerformed()\r
   {\r
     getGroup().cs = new HelixColourScheme();\r
     refresh();\r
   }\r
 \r
-  protected void strandColour_actionPerformed(ActionEvent e)\r
+  protected void strandColour_actionPerformed()\r
   {\r
     getGroup().cs = new StrandColourScheme();\r
     refresh();\r
   }\r
 \r
-  protected void turnColour_actionPerformed(ActionEvent e)\r
+  protected void turnColour_actionPerformed()\r
   {\r
     getGroup().cs = new TurnColourScheme();\r
     refresh();\r
   }\r
 \r
-  protected void buriedColour_actionPerformed(ActionEvent e)\r
+  protected void buriedColour_actionPerformed()\r
   {\r
     getGroup().cs = new BuriedColourScheme();\r
     refresh();\r
   }\r
 \r
-  public void nucleotideMenuItem_actionPerformed(ActionEvent e)\r
+  public void nucleotideMenuItem_actionPerformed()\r
   {\r
     getGroup().cs = new NucleotideColourScheme();\r
     refresh();\r
   }\r
 \r
-  protected void abovePIDColour_itemStateChanged(ItemEvent ie)\r
+  protected void abovePIDColour_itemStateChanged()\r
   {\r
     SequenceGroup sg = getGroup();\r
     if(sg.cs==null)\r
@@ -432,12 +366,12 @@ public class APopupMenu
 \r
   }\r
 \r
-  protected void userDefinedColour_actionPerformed(ActionEvent e)\r
+  protected void userDefinedColour_actionPerformed()\r
   {\r
     new UserDefinedColours(ap, getGroup());\r
   }\r
 \r
-  protected void PIDColour_actionPerformed(ActionEvent e)\r
+  protected void PIDColour_actionPerformed()\r
   {\r
     SequenceGroup sg = getGroup();\r
     sg.cs = new PIDColourScheme();\r
@@ -446,7 +380,7 @@ public class APopupMenu
     refresh();\r
   }\r
 \r
-  protected void BLOSUM62Colour_actionPerformed(ActionEvent e)\r
+  protected void BLOSUM62Colour_actionPerformed()\r
   {\r
     SequenceGroup sg = getGroup();\r
 \r
@@ -458,13 +392,13 @@ public class APopupMenu
     refresh();\r
   }\r
 \r
-  protected void noColourmenuItem_actionPerformed(ActionEvent e)\r
+  protected void noColourmenuItem_actionPerformed()\r
   {\r
     getGroup().cs = null;\r
     refresh();\r
   }\r
 \r
-  protected void conservationMenuItem_itemStateChanged(ItemEvent ie)\r
+  protected void conservationMenuItem_itemStateChanged()\r
   {\r
     SequenceGroup sg = getGroup();\r
     if(sg.cs==null)\r
@@ -506,7 +440,7 @@ public class APopupMenu
     return sg;\r
   }\r
 \r
-  void unGroupMenuItem_actionPerformed(ActionEvent e)\r
+  void unGroupMenuItem_actionPerformed()\r
   {\r
     SequenceGroup sg = ap.av.getSelectionGroup();\r
     ap.av.alignment.deleteGroup(sg);\r
@@ -514,19 +448,19 @@ public class APopupMenu
     ap.repaint();\r
   }\r
 \r
-  public void showColourText_itemStateChanged(ItemEvent itemEvent)\r
+  public void showColourText_itemStateChanged()\r
   {\r
     getGroup().setColourText(showColourText.getState());\r
     refresh();\r
   }\r
 \r
-  public void showText_itemStateChanged(ItemEvent itemEvent)\r
+  public void showText_itemStateChanged()\r
   {\r
     getGroup().setDisplayText(showText.getState());\r
     refresh();\r
   }\r
 \r
-  public void showBoxes_itemStateChanged(ItemEvent itemEvent)\r
+  public void showBoxes_itemStateChanged()\r
   {\r
     getGroup().setDisplayBoxes(showBoxes.getState());\r
     refresh();\r
index 0670a31..ee84bd3 100755 (executable)
@@ -31,10 +31,11 @@ import java.io.BufferedReader;
 import java.net.URL;\r
 \r
 \r
-public class AlignFrame extends Frame\r
+public class AlignFrame extends Frame implements ActionListener,\r
+    ItemListener, KeyListener, MouseListener\r
 {\r
-  final AlignmentPanel alignPanel;\r
-  public final AlignViewport viewport;\r
+  public AlignmentPanel alignPanel;\r
+  public AlignViewport viewport;\r
   int NEW_WINDOW_WIDTH = 700;\r
   int NEW_WINDOW_HEIGHT = 500;\r
   jalview.bin.JalviewLite applet;\r
@@ -52,8 +53,8 @@ public class AlignFrame extends Frame
     this.applet = applet;\r
     viewport = new AlignViewport(al, applet);\r
     alignPanel = new AlignmentPanel(this, viewport);\r
-    add(alignPanel);\r
-    alignPanel.validate();\r
+\r
+    annotationPanelMenuItem.setState(viewport.showAnnotation);\r
 \r
     if(applet!=null)\r
     {\r
@@ -61,9 +62,9 @@ public class AlignFrame extends Frame
       if (param != null)\r
       {\r
         if (param.equalsIgnoreCase("Id"))\r
-          sortIDMenuItem_actionPerformed(null);\r
+          sortIDMenuItem_actionPerformed();\r
         else if (param.equalsIgnoreCase("Pairwise Identity"))\r
-          sortPairwiseMenuItem_actionPerformed(null);\r
+          sortPairwiseMenuItem_actionPerformed();\r
       }\r
 \r
       param = applet.getParameter("wrap");\r
@@ -72,7 +73,7 @@ public class AlignFrame extends Frame
         if (param.equalsIgnoreCase("true"))\r
         {\r
           wrapMenuItem.setState(true);\r
-          wrapMenuItem_actionPerformed(null);\r
+          wrapMenuItem_actionPerformed();\r
         }\r
       }\r
 \r
@@ -96,20 +97,11 @@ public class AlignFrame extends Frame
 \r
     }\r
 \r
-   MyKeyAdapter keyAdapter = new MyKeyAdapter();\r
    //Some JVMS send keyevents to Top frame or lowest panel,\r
    //Havent worked out why yet. So add to both this frame and seqCanvas for now\r
-   this.addKeyListener(keyAdapter);\r
-   alignPanel.seqPanel.seqCanvas.addKeyListener(keyAdapter);\r
-   alignPanel.idPanel.idCanvas.addKeyListener(keyAdapter);\r
-\r
-    this.addWindowListener(new WindowAdapter()\r
-    {\r
-      public void windowClosing(WindowEvent e)\r
-          {\r
-            closeMenuItem_actionPerformed(null);\r
-          }\r
-    });\r
+   this.addKeyListener(this);\r
+   alignPanel.seqPanel.seqCanvas.addKeyListener(this);\r
+   alignPanel.idPanel.idCanvas.addKeyListener(this);\r
 \r
     viewport.addPropertyChangeListener(new java.beans.PropertyChangeListener()\r
     {\r
@@ -122,11 +114,13 @@ public class AlignFrame extends Frame
      }\r
    });\r
 \r
-   jalview.bin.JalviewLite.addFrame(this, title,\r
-                                    NEW_WINDOW_WIDTH,\r
-                                    NEW_WINDOW_HEIGHT);\r
-  }\r
 \r
+   add(alignPanel, BorderLayout.CENTER);\r
+   jalview.bin.JalviewLite.addFrame(this, title, NEW_WINDOW_WIDTH, NEW_WINDOW_HEIGHT);\r
+\r
+   alignPanel.validate();\r
+   alignPanel.repaint();\r
+  }\r
   public AlignViewport getAlignViewport()\r
   {\r
     return viewport;\r
@@ -219,64 +213,199 @@ public class AlignFrame extends Frame
     }\r
   }\r
 \r
-\r
-  class MyKeyAdapter extends KeyAdapter\r
+  public void keyPressed(KeyEvent evt)\r
   {\r
-\r
-    public void keyPressed(KeyEvent evt)\r
+    switch (evt.getKeyCode())\r
     {\r
-      switch (evt.getKeyCode())\r
-      {\r
-        case 27: // escape key\r
-          deselectAllSequenceMenuItem_actionPerformed(null);\r
-          break;\r
-        case KeyEvent.VK_X:\r
-          if (evt.isControlDown() || evt.isMetaDown())\r
-          {\r
-            cut_actionPerformed(null);\r
-          }\r
-          break;\r
-        case KeyEvent.VK_C:\r
-          if (evt.isControlDown() || evt.isMetaDown())\r
-          {\r
-            copy_actionPerformed(null);\r
-          }\r
-          break;\r
-        case KeyEvent.VK_V:\r
-          if (evt.isControlDown() || evt.isMetaDown())\r
-          {\r
-            paste(true);\r
-          }\r
-          break;\r
-        case KeyEvent.VK_A:\r
-          if (evt.isControlDown() || evt.isMetaDown())\r
-          {\r
-            selectAllSequenceMenuItem_actionPerformed(null);\r
-          }\r
-          break;\r
-        case KeyEvent.VK_DOWN:\r
-          moveSelectedSequences(false);\r
-          break;\r
-        case KeyEvent.VK_UP:\r
-          moveSelectedSequences(true);\r
-          break;\r
-        case KeyEvent.VK_F:\r
-          if (evt.isControlDown())\r
-          {\r
-            findMenuItem_actionPerformed(null);\r
-          }\r
-          break;\r
-        case KeyEvent.VK_BACK_SPACE:\r
-        case KeyEvent.VK_DELETE:\r
-          cut_actionPerformed(null);\r
-          break;\r
-\r
-      }\r
+      case 27: // escape key\r
+        deselectAllSequenceMenuItem_actionPerformed();\r
+        break;\r
+      case KeyEvent.VK_X:\r
+        if (evt.isControlDown() || evt.isMetaDown())\r
+        {\r
+          cut_actionPerformed();\r
+        }\r
+        break;\r
+      case KeyEvent.VK_C:\r
+        if (evt.isControlDown() || evt.isMetaDown())\r
+        {\r
+          copy_actionPerformed();\r
+        }\r
+        break;\r
+      case KeyEvent.VK_V:\r
+        if (evt.isControlDown() || evt.isMetaDown())\r
+        {\r
+          paste(true);\r
+        }\r
+        break;\r
+      case KeyEvent.VK_A:\r
+        if (evt.isControlDown() || evt.isMetaDown())\r
+        {\r
+          selectAllSequenceMenuItem_actionPerformed();\r
+        }\r
+        break;\r
+      case KeyEvent.VK_DOWN:\r
+        moveSelectedSequences(false);\r
+        break;\r
+      case KeyEvent.VK_UP:\r
+        moveSelectedSequences(true);\r
+        break;\r
+      case KeyEvent.VK_F:\r
+        if (evt.isControlDown())\r
+        {\r
+          findMenuItem_actionPerformed();\r
+        }\r
+        break;\r
+      case KeyEvent.VK_BACK_SPACE:\r
+      case KeyEvent.VK_DELETE:\r
+        cut_actionPerformed();\r
+        break;\r
     }\r
   }\r
-\r
-\r
-  public void inputText_actionPerformed(ActionEvent e)\r
+  public void keyReleased(KeyEvent evt)\r
+  {}\r
+  public void keyTyped(KeyEvent evt)\r
+  {}\r
+\r
+public void itemStateChanged(ItemEvent evt)\r
+  {\r
+    if(evt.getSource()==colourTextMenuItem)\r
+            colourTextMenuItem_actionPerformed();\r
+    else if(evt.getSource()==wrapMenuItem)\r
+            wrapMenuItem_actionPerformed();\r
+    else if(evt.getSource()==scaleAbove)\r
+            scaleAbove_actionPerformed();\r
+    else if(evt.getSource()==scaleLeft)\r
+            scaleLeft_actionPerformed();\r
+    else if(evt.getSource()==scaleRight)\r
+            scaleRight_actionPerformed();\r
+     else if(evt.getSource()==seqLimits)\r
+      seqLimits_itemStateChanged();\r
+    else if(evt.getSource()==viewBoxesMenuItem)\r
+            viewBoxesMenuItem_actionPerformed();\r
+    else if(evt.getSource()==viewTextMenuItem)\r
+            viewTextMenuItem_actionPerformed();\r
+    else if(evt.getSource()==renderGapsMenuItem)\r
+            renderGapsMenuItem_actionPerformed();\r
+    else if(evt.getSource()==annotationPanelMenuItem)\r
+            annotationPanelMenuItem_actionPerformed();\r
+      else if(evt.getSource()==conservationMenuItem)\r
+            conservationMenuItem_actionPerformed();\r
+      else if(evt.getSource()==abovePIDThreshold)\r
+            abovePIDThreshold_actionPerformed();\r
+          else if(evt.getSource()==applyToAllGroups)\r
+            applyToAllGroups_actionPerformed();\r
+  }\r
+ public void actionPerformed(ActionEvent evt)\r
+ {\r
+    if(evt.getSource()==inputText)\r
+      inputText_actionPerformed();\r
+    else if(evt.getSource()==closeMenuItem)\r
+      closeMenuItem_actionPerformed();\r
+    else if(evt.getSource()==copy)\r
+      copy_actionPerformed();\r
+    else if(evt.getSource()==undoMenuItem)\r
+      undoMenuItem_actionPerformed();\r
+    else if(evt.getSource()==redoMenuItem)\r
+      redoMenuItem_actionPerformed();\r
+    else if(evt.getSource()==inputText)\r
+            inputText_actionPerformed();\r
+    else if(evt.getSource()==closeMenuItem)\r
+            closeMenuItem_actionPerformed();\r
+    else if(evt.getSource()==undoMenuItem)\r
+            undoMenuItem_actionPerformed();\r
+    else if(evt.getSource()==redoMenuItem)\r
+            redoMenuItem_actionPerformed();\r
+    else if(evt.getSource()==copy)\r
+            copy_actionPerformed();\r
+    else if(evt.getSource()==pasteNew)\r
+            pasteNew_actionPerformed();\r
+    else if(evt.getSource()==pasteThis)\r
+            pasteThis_actionPerformed();\r
+    else if(evt.getSource()==cut)\r
+            cut_actionPerformed();\r
+    else if(evt.getSource()==delete)\r
+            delete_actionPerformed();\r
+    else if(evt.getSource()==deleteGroups)\r
+            deleteGroups_actionPerformed();\r
+    else if(evt.getSource()==selectAllSequenceMenuItem)\r
+            selectAllSequenceMenuItem_actionPerformed();\r
+    else if(evt.getSource()==deselectAllSequenceMenuItem)\r
+            deselectAllSequenceMenuItem_actionPerformed();\r
+    else if(evt.getSource()==invertSequenceMenuItem)\r
+            invertSequenceMenuItem_actionPerformed();\r
+    else if(evt.getSource()==remove2LeftMenuItem)\r
+            remove2LeftMenuItem_actionPerformed();\r
+    else if(evt.getSource()==remove2RightMenuItem)\r
+            remove2RightMenuItem_actionPerformed();\r
+    else if(evt.getSource()==removeGappedColumnMenuItem)\r
+            removeGappedColumnMenuItem_actionPerformed();\r
+    else if(evt.getSource()==removeAllGapsMenuItem)\r
+            removeAllGapsMenuItem_actionPerformed();\r
+    else if(evt.getSource()==findMenuItem)\r
+            findMenuItem_actionPerformed();\r
+    else if(evt.getSource()==font)\r
+            font_actionPerformed();\r
+    else if(evt.getSource()==overviewMenuItem)\r
+            overviewMenuItem_actionPerformed();\r
+    else if(evt.getSource()==noColourmenuItem)\r
+            noColourmenuItem_actionPerformed();\r
+    else if(evt.getSource()==clustalColour)\r
+            clustalColour_actionPerformed();\r
+    else if(evt.getSource()==zappoColour)\r
+            zappoColour_actionPerformed();\r
+    else if(evt.getSource()==taylorColour)\r
+            taylorColour_actionPerformed();\r
+    else if(evt.getSource()==hydrophobicityColour)\r
+            hydrophobicityColour_actionPerformed();\r
+    else if(evt.getSource()==helixColour)\r
+            helixColour_actionPerformed();\r
+    else if(evt.getSource()==strandColour)\r
+            strandColour_actionPerformed();\r
+    else if(evt.getSource()==turnColour)\r
+            turnColour_actionPerformed();\r
+    else if(evt.getSource()==buriedColour)\r
+            buriedColour_actionPerformed();\r
+    else if(evt.getSource()==nucleotideColour)\r
+            nucleotideColour_actionPerformed();\r
+    else if(evt.getSource()==modifyPID)\r
+            modifyPID_actionPerformed();\r
+    else if(evt.getSource()==modifyConservation)\r
+            modifyConservation_actionPerformed();\r
+    else if(evt.getSource()==userDefinedColour)\r
+            userDefinedColour_actionPerformed();\r
+    else if(evt.getSource()==PIDColour)\r
+            PIDColour_actionPerformed();\r
+    else if(evt.getSource()==BLOSUM62Colour)\r
+            BLOSUM62Colour_actionPerformed();\r
+    else if(evt.getSource()==sortPairwiseMenuItem)\r
+            sortPairwiseMenuItem_actionPerformed();\r
+    else if(evt.getSource()==sortIDMenuItem)\r
+            sortIDMenuItem_actionPerformed();\r
+    else if(evt.getSource()==sortGroupMenuItem)\r
+            sortGroupMenuItem_actionPerformed();\r
+    else if(evt.getSource()==removeRedundancyMenuItem)\r
+            removeRedundancyMenuItem_actionPerformed();\r
+    else if(evt.getSource()==pairwiseAlignmentMenuItem)\r
+            pairwiseAlignmentMenuItem_actionPerformed();\r
+    else if(evt.getSource()==PCAMenuItem)\r
+            PCAMenuItem_actionPerformed();\r
+    else if(evt.getSource()==averageDistanceTreeMenuItem)\r
+            averageDistanceTreeMenuItem_actionPerformed();\r
+    else if(evt.getSource()==neighbourTreeMenuItem)\r
+            neighbourTreeMenuItem_actionPerformed();\r
+    else if(evt.getSource()==njTreeBlosumMenuItem)\r
+            njTreeBlosumMenuItem_actionPerformed();\r
+    else if(evt.getSource()==avDistanceTreeBlosumMenuItem)\r
+            avTreeBlosumMenuItem_actionPerformed();\r
+    else if(evt.getSource()==documentation)\r
+            documentation_actionPerformed();\r
+    else if(evt.getSource()==about)\r
+            about_actionPerformed();\r
+\r
+ }\r
+\r
+  public void inputText_actionPerformed()\r
   {\r
     CutAndPasteTransfer cap = new CutAndPasteTransfer(true, applet);\r
     Frame frame = new Frame();\r
@@ -297,11 +426,13 @@ public class AlignFrame extends Frame
                                                       viewport.showJVSuffix));\r
   }\r
 \r
-  public void closeMenuItem_actionPerformed(ActionEvent e)\r
+  public void closeMenuItem_actionPerformed()\r
   {\r
     PaintRefresher.components.remove(viewport.alignment);\r
     if(PaintRefresher.components.size()==0 && applet==null)\r
       System.exit(0);\r
+\r
+    this.dispose();\r
   }\r
 \r
   Stack historyList = new Stack();\r
@@ -340,7 +471,7 @@ public class AlignFrame extends Frame
     updateEditMenuBar();\r
   }\r
 \r
-  protected void undoMenuItem_actionPerformed(ActionEvent e)\r
+  protected void undoMenuItem_actionPerformed()\r
   {\r
     HistoryItem hi = (HistoryItem) historyList.pop();\r
     redoList.push(new HistoryItem(hi.getDescription(), viewport.alignment,\r
@@ -349,7 +480,7 @@ public class AlignFrame extends Frame
     viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
   }\r
 \r
-  protected void redoMenuItem_actionPerformed(ActionEvent e)\r
+  protected void redoMenuItem_actionPerformed()\r
   {\r
     HistoryItem hi = (HistoryItem) redoList.pop();\r
     restoreHistoryItem(hi);\r
@@ -454,7 +585,7 @@ public class AlignFrame extends Frame
   }\r
 \r
   StringBuffer copiedSequences;\r
-  protected void copy_actionPerformed(ActionEvent e)\r
+  protected void copy_actionPerformed()\r
   {\r
     if (viewport.getSelectionGroup() == null)\r
     {\r
@@ -524,12 +655,12 @@ public class AlignFrame extends Frame
 \r
   }\r
 \r
-  protected void pasteNew_actionPerformed(ActionEvent e)\r
+  protected void pasteNew_actionPerformed()\r
   {\r
     paste(true);\r
   }\r
 \r
-  protected void pasteThis_actionPerformed(ActionEvent e)\r
+  protected void pasteThis_actionPerformed()\r
   {\r
     addHistoryItem(new HistoryItem("Paste Sequences", viewport.alignment,\r
                                    HistoryItem.PASTE));\r
@@ -599,13 +730,13 @@ public class AlignFrame extends Frame
 \r
   }\r
 \r
-  protected void cut_actionPerformed(ActionEvent e)\r
+  protected void cut_actionPerformed()\r
   {\r
-    copy_actionPerformed(null);\r
-    delete_actionPerformed(null);\r
+    copy_actionPerformed();\r
+    delete_actionPerformed();\r
   }\r
 \r
-  protected void delete_actionPerformed(ActionEvent e)\r
+  protected void delete_actionPerformed()\r
   {\r
     addHistoryItem(new HistoryItem("Delete Sequences", viewport.alignment,\r
                                    HistoryItem.HIDE));\r
@@ -660,7 +791,7 @@ public class AlignFrame extends Frame
 \r
   }\r
 \r
-  protected void deleteGroups_actionPerformed(ActionEvent e)\r
+  protected void deleteGroups_actionPerformed()\r
   {\r
     viewport.alignment.deleteAllGroups();\r
     viewport.setSelectionGroup(null);\r
@@ -668,7 +799,7 @@ public class AlignFrame extends Frame
     alignPanel.repaint();\r
   }\r
 \r
-  public void selectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
+  public void selectAllSequenceMenuItem_actionPerformed()\r
   {\r
     SequenceGroup sg = new SequenceGroup();\r
     for (int i = 0; i < viewport.getAlignment().getSequences().size(); i++)\r
@@ -681,7 +812,7 @@ public class AlignFrame extends Frame
     PaintRefresher.Refresh(null, viewport.alignment);\r
   }\r
 \r
-  public void deselectAllSequenceMenuItem_actionPerformed(ActionEvent e)\r
+  public void deselectAllSequenceMenuItem_actionPerformed()\r
   {\r
     viewport.setSelectionGroup(null);\r
     viewport.getColumnSelection().clear();\r
@@ -691,7 +822,7 @@ public class AlignFrame extends Frame
     PaintRefresher.Refresh(null, viewport.alignment);\r
   }\r
 \r
-  public void invertSequenceMenuItem_actionPerformed(ActionEvent e)\r
+  public void invertSequenceMenuItem_actionPerformed()\r
   {\r
     SequenceGroup sg = viewport.getSelectionGroup();\r
     for (int i = 0; i < viewport.getAlignment().getSequences().size(); i++)\r
@@ -702,7 +833,7 @@ public class AlignFrame extends Frame
     PaintRefresher.Refresh(null, viewport.alignment);\r
   }\r
 \r
-  public void remove2LeftMenuItem_actionPerformed(ActionEvent e)\r
+  public void remove2LeftMenuItem_actionPerformed()\r
   {\r
     ColumnSelection colSel = viewport.getColumnSelection();\r
     if (colSel.size() > 0)\r
@@ -731,7 +862,7 @@ public class AlignFrame extends Frame
     }\r
   }\r
 \r
-  public void remove2RightMenuItem_actionPerformed(ActionEvent e)\r
+  public void remove2RightMenuItem_actionPerformed()\r
   {\r
     ColumnSelection colSel = viewport.getColumnSelection();\r
     if (colSel.size() > 0)\r
@@ -759,7 +890,7 @@ public class AlignFrame extends Frame
 \r
   }\r
 \r
-  public void removeGappedColumnMenuItem_actionPerformed(ActionEvent e)\r
+  public void removeGappedColumnMenuItem_actionPerformed()\r
   {\r
     addHistoryItem(new HistoryItem("Remove Gapped Columns",\r
                                    viewport.alignment,\r
@@ -777,7 +908,7 @@ public class AlignFrame extends Frame
     viewport.firePropertyChange("alignment", null, viewport.getAlignment().getSequences());\r
   }\r
 \r
-  public void removeAllGapsMenuItem_actionPerformed(ActionEvent e)\r
+  public void removeAllGapsMenuItem_actionPerformed()\r
   {\r
     addHistoryItem(new HistoryItem("Remove Gaps", viewport.alignment,\r
                                    HistoryItem.HIDE));\r
@@ -905,18 +1036,18 @@ public class AlignFrame extends Frame
 \r
 \r
 \r
-  public void findMenuItem_actionPerformed(ActionEvent e)\r
+  public void findMenuItem_actionPerformed()\r
   {\r
     new Finder(alignPanel);\r
   }\r
 \r
-  public void font_actionPerformed(ActionEvent e)\r
+  public void font_actionPerformed()\r
   {\r
     new FontChooser(alignPanel);\r
   }\r
 \r
 \r
-  public void seqLimits_itemStateChanged(ItemEvent e)\r
+  public void seqLimits_itemStateChanged()\r
   {\r
     viewport.setShowJVSuffix(seqLimits.getState());\r
     alignPanel.fontChanged();\r
@@ -924,13 +1055,13 @@ public class AlignFrame extends Frame
   }\r
 \r
 \r
-  protected void colourTextMenuItem_actionPerformed(ActionEvent e)\r
+  protected void colourTextMenuItem_actionPerformed()\r
   {\r
     viewport.setColourText(colourTextMenuItem.getState());\r
     alignPanel.repaint();\r
   }\r
 \r
-  protected void wrapMenuItem_actionPerformed(ActionEvent e)\r
+  protected void wrapMenuItem_actionPerformed()\r
   {\r
     viewport.setWrapAlignment(wrapMenuItem.getState());\r
     alignPanel.setWrapAlignment(wrapMenuItem.getState());\r
@@ -940,49 +1071,49 @@ public class AlignFrame extends Frame
     alignPanel.repaint();\r
   }\r
 \r
-  protected void scaleAbove_actionPerformed(ActionEvent e)\r
+  protected void scaleAbove_actionPerformed()\r
   {\r
     viewport.setScaleAboveWrapped(scaleAbove.getState());\r
     alignPanel.repaint();\r
   }\r
 \r
-  protected void scaleLeft_actionPerformed(ActionEvent e)\r
+  protected void scaleLeft_actionPerformed()\r
   {\r
     viewport.setScaleLeftWrapped(scaleLeft.getState());\r
     alignPanel.repaint();\r
   }\r
 \r
-  protected void scaleRight_actionPerformed(ActionEvent e)\r
+  protected void scaleRight_actionPerformed()\r
   {\r
     viewport.setScaleRightWrapped(scaleRight.getState());\r
     alignPanel.repaint();\r
   }\r
 \r
-  public void viewBoxesMenuItem_actionPerformed(ActionEvent e)\r
+  public void viewBoxesMenuItem_actionPerformed()\r
   {\r
     viewport.setShowBoxes(viewBoxesMenuItem.getState());\r
     alignPanel.repaint();\r
   }\r
 \r
-  public void viewTextMenuItem_actionPerformed(ActionEvent e)\r
+  public void viewTextMenuItem_actionPerformed()\r
   {\r
     viewport.setShowText(viewTextMenuItem.getState());\r
     alignPanel.repaint();\r
   }\r
 \r
-  protected void renderGapsMenuItem_actionPerformed(ActionEvent e)\r
+  protected void renderGapsMenuItem_actionPerformed()\r
   {\r
     viewport.setRenderGaps(renderGapsMenuItem.getState());\r
     alignPanel.repaint();\r
   }\r
 \r
-  public void annotationPanelMenuItem_actionPerformed(ActionEvent e)\r
+  public void annotationPanelMenuItem_actionPerformed()\r
   {\r
     viewport.setShowAnnotation(annotationPanelMenuItem.getState());\r
     alignPanel.setAnnotationVisible(annotationPanelMenuItem.getState());\r
   }\r
 \r
-  public void overviewMenuItem_actionPerformed(ActionEvent e)\r
+  public void overviewMenuItem_actionPerformed()\r
   {\r
     if (alignPanel.overviewPanel != null)\r
     {\r
@@ -1010,59 +1141,59 @@ public class AlignFrame extends Frame
 \r
   }\r
 \r
-  protected void noColourmenuItem_actionPerformed(ActionEvent e)\r
+  protected void noColourmenuItem_actionPerformed()\r
   {\r
     changeColour(null);\r
   }\r
 \r
-  public void clustalColour_actionPerformed(ActionEvent e)\r
+  public void clustalColour_actionPerformed()\r
   {\r
     abovePIDThreshold.setState(false);\r
     changeColour(new ClustalxColourScheme(viewport.alignment.getSequences(),\r
                                           viewport.alignment.getWidth()));\r
   }\r
 \r
-  public void zappoColour_actionPerformed(ActionEvent e)\r
+  public void zappoColour_actionPerformed()\r
   {\r
     changeColour(new ZappoColourScheme());\r
   }\r
 \r
-  public void taylorColour_actionPerformed(ActionEvent e)\r
+  public void taylorColour_actionPerformed()\r
   {\r
     changeColour(new TaylorColourScheme());\r
   }\r
 \r
-  public void hydrophobicityColour_actionPerformed(ActionEvent e)\r
+  public void hydrophobicityColour_actionPerformed()\r
   {\r
     changeColour(new HydrophobicColourScheme());\r
   }\r
 \r
-  public void helixColour_actionPerformed(ActionEvent e)\r
+  public void helixColour_actionPerformed()\r
   {\r
     changeColour(new HelixColourScheme());\r
   }\r
 \r
-  public void strandColour_actionPerformed(ActionEvent e)\r
+  public void strandColour_actionPerformed()\r
   {\r
     changeColour(new StrandColourScheme());\r
   }\r
 \r
-  public void turnColour_actionPerformed(ActionEvent e)\r
+  public void turnColour_actionPerformed()\r
   {\r
     changeColour(new TurnColourScheme());\r
   }\r
 \r
-  public void buriedColour_actionPerformed(ActionEvent e)\r
+  public void buriedColour_actionPerformed()\r
   {\r
     changeColour(new BuriedColourScheme());\r
   }\r
 \r
-  public void nucleotideColour_actionPerformed(ActionEvent e)\r
+  public void nucleotideColour_actionPerformed()\r
   {\r
     changeColour(new NucleotideColourScheme());\r
   }\r
 \r
-  protected void applyToAllGroups_actionPerformed(ActionEvent e)\r
+  protected void applyToAllGroups_actionPerformed()\r
   {\r
     viewport.setColourAppliesToAllGroups(applyToAllGroups.getState());\r
   }\r
@@ -1183,7 +1314,7 @@ public class AlignFrame extends Frame
 \r
 \r
 \r
-  protected void modifyPID_actionPerformed(ActionEvent e)\r
+  protected void modifyPID_actionPerformed()\r
   {\r
     if (viewport.getAbovePIDThreshold() && viewport.globalColourScheme!=null)\r
     {\r
@@ -1193,7 +1324,7 @@ public class AlignFrame extends Frame
     }\r
   }\r
 \r
-  protected void modifyConservation_actionPerformed(ActionEvent e)\r
+  protected void modifyConservation_actionPerformed()\r
   {\r
     if (viewport.getConservationSelected() && viewport.globalColourScheme!=null)\r
     {\r
@@ -1203,7 +1334,7 @@ public class AlignFrame extends Frame
     }\r
   }\r
 \r
-  protected void conservationMenuItem_actionPerformed(ActionEvent e)\r
+  protected void conservationMenuItem_actionPerformed()\r
   {\r
     viewport.setConservationSelected(conservationMenuItem.getState());\r
 \r
@@ -1212,10 +1343,10 @@ public class AlignFrame extends Frame
 \r
     changeColour(viewport.getGlobalColourScheme());\r
 \r
-    modifyConservation_actionPerformed(null);\r
+    modifyConservation_actionPerformed();\r
   }\r
 \r
-  public void abovePIDThreshold_actionPerformed(ActionEvent e)\r
+  public void abovePIDThreshold_actionPerformed()\r
   {\r
     viewport.setAbovePIDThreshold(abovePIDThreshold.getState());\r
 \r
@@ -1224,25 +1355,25 @@ public class AlignFrame extends Frame
 \r
     changeColour(viewport.getGlobalColourScheme());\r
 \r
-    modifyPID_actionPerformed(null);\r
+    modifyPID_actionPerformed();\r
   }\r
 \r
-  public void userDefinedColour_actionPerformed(ActionEvent e)\r
+  public void userDefinedColour_actionPerformed()\r
   {\r
     new UserDefinedColours(alignPanel, null);\r
   }\r
 \r
-  public void PIDColour_actionPerformed(ActionEvent e)\r
+  public void PIDColour_actionPerformed()\r
   {\r
     changeColour(new PIDColourScheme());\r
   }\r
 \r
-  public void BLOSUM62Colour_actionPerformed(ActionEvent e)\r
+  public void BLOSUM62Colour_actionPerformed()\r
   {\r
     changeColour(new Blosum62ColourScheme());\r
   }\r
 \r
-  public void sortPairwiseMenuItem_actionPerformed(ActionEvent e)\r
+  public void sortPairwiseMenuItem_actionPerformed()\r
   {\r
     addHistoryItem(new HistoryItem("Pairwise Sort", viewport.alignment,\r
                                    HistoryItem.SORT));\r
@@ -1251,7 +1382,7 @@ public class AlignFrame extends Frame
     alignPanel.repaint();\r
   }\r
 \r
-  public void sortIDMenuItem_actionPerformed(ActionEvent e)\r
+  public void sortIDMenuItem_actionPerformed()\r
   {\r
     addHistoryItem(new HistoryItem("ID Sort", viewport.alignment,\r
                                    HistoryItem.SORT));\r
@@ -1259,7 +1390,7 @@ public class AlignFrame extends Frame
     alignPanel.repaint();\r
   }\r
 \r
-  public void sortGroupMenuItem_actionPerformed(ActionEvent e)\r
+  public void sortGroupMenuItem_actionPerformed()\r
   {\r
     addHistoryItem(new HistoryItem("Group Sort", viewport.alignment,\r
                                    HistoryItem.SORT));\r
@@ -1268,7 +1399,7 @@ public class AlignFrame extends Frame
 \r
   }\r
 \r
-  public void removeRedundancyMenuItem_actionPerformed(ActionEvent e)\r
+  public void removeRedundancyMenuItem_actionPerformed()\r
   {\r
     RedundancyPanel sp = new RedundancyPanel(alignPanel);\r
     Frame frame = new Frame();\r
@@ -1278,7 +1409,7 @@ public class AlignFrame extends Frame
 \r
   }\r
 \r
-  public void pairwiseAlignmentMenuItem_actionPerformed(ActionEvent e)\r
+  public void pairwiseAlignmentMenuItem_actionPerformed()\r
   {\r
     if (viewport.getSelectionGroup().getSize() > 1)\r
     {\r
@@ -1288,7 +1419,7 @@ public class AlignFrame extends Frame
     }\r
   }\r
 \r
-  public void PCAMenuItem_actionPerformed(ActionEvent e)\r
+  public void PCAMenuItem_actionPerformed()\r
   {\r
     //are the sequences aligned?\r
     if (!viewport.alignment.isAligned())\r
@@ -1327,22 +1458,22 @@ public class AlignFrame extends Frame
 \r
   }\r
 \r
-  public void averageDistanceTreeMenuItem_actionPerformed(ActionEvent e)\r
+  public void averageDistanceTreeMenuItem_actionPerformed()\r
   {\r
     NewTreePanel("AV", "PID", "Average distance tree using PID");\r
   }\r
 \r
-  public void neighbourTreeMenuItem_actionPerformed(ActionEvent e)\r
+  public void neighbourTreeMenuItem_actionPerformed()\r
   {\r
     NewTreePanel("NJ", "PID", "Neighbour joining tree using PID");\r
   }\r
 \r
-  protected void njTreeBlosumMenuItem_actionPerformed(ActionEvent e)\r
+  protected void njTreeBlosumMenuItem_actionPerformed()\r
   {\r
     NewTreePanel("NJ", "BL", "Neighbour joining tree using BLOSUM62");\r
   }\r
 \r
-  protected void avTreeBlosumMenuItem_actionPerformed(ActionEvent e)\r
+  protected void avTreeBlosumMenuItem_actionPerformed()\r
   {\r
     NewTreePanel("AV", "BL", "Average distance tree using BLOSUM62PID");\r
   }\r
@@ -1394,7 +1525,7 @@ public class AlignFrame extends Frame
     sortByTreeMenu.add(item);\r
     item.addActionListener(new java.awt.event.ActionListener()\r
     {\r
-      public void actionPerformed(ActionEvent e)\r
+      public void actionPerformed(ActionEvent evt)\r
       {\r
         addHistoryItem(new HistoryItem("Sort", viewport.alignment,\r
                                        HistoryItem.SORT));\r
@@ -1412,12 +1543,12 @@ public class AlignFrame extends Frame
     });\r
   }\r
 \r
-  protected void documentation_actionPerformed(ActionEvent e)\r
+  protected void documentation_actionPerformed()\r
   {\r
-    showURL("http://www.jalview.org/help.html");\r
+    showURL("http://www.jalview.org/help.html", "HELP");\r
   }\r
 \r
-  protected void about_actionPerformed(ActionEvent e)\r
+  protected void about_actionPerformed()\r
   {\r
 \r
     class AboutPanel extends Canvas\r
@@ -1482,17 +1613,6 @@ public class AlignFrame extends Frame
 \r
   }\r
 \r
-  /**\r
-   * Displays the given URL in a new browser window\r
-   *\r
-   * @param url URL to display in browser window.\r
-   * <br>New window will be named "HELP_WINDOW"\r
-   */\r
-  public void showURL(String url)\r
-  {\r
-    showURL(url, "HELP");\r
-  }\r
-\r
   public void showURL(String url, String target)\r
   {\r
     if (applet == null)\r
@@ -1574,7 +1694,7 @@ public class AlignFrame extends Frame
     MenuItem delete = new MenuItem();\r
     MenuItem copy = new MenuItem();\r
     MenuItem cut = new MenuItem();\r
-    Menu Menu1 = new Menu();\r
+    Menu pasteMenu = new Menu();\r
     MenuItem pasteNew = new MenuItem();\r
     MenuItem pasteThis = new MenuItem();\r
     protected CheckboxMenuItem applyToAllGroups = new CheckboxMenuItem();\r
@@ -1592,8 +1712,17 @@ public class AlignFrame extends Frame
     MenuItem documentation = new MenuItem();\r
     MenuItem about = new MenuItem();\r
     protected CheckboxMenuItem seqLimits = new CheckboxMenuItem();\r
-\r
-    private void jbInit() throws Exception {\r
+  Panel embeddedMenu;\r
+  Label embeddedEdit;\r
+  Label embeddedSearch;\r
+  Label embeddedView;\r
+  Label embeddedColour;\r
+  Label embeddedFile;\r
+  Label embeddedHelp;\r
+  Label embeddedCalculate;\r
+  FlowLayout flowLayout1;\r
+\r
+  private void jbInit() throws Exception {\r
 \r
       setMenuBar(alignFrameMenuBar);\r
 \r
@@ -1617,123 +1746,50 @@ public class AlignFrame extends Frame
         outputTextboxMenu.add(item);\r
       }\r
 \r
-\r
         fileMenu.setLabel("File");\r
         closeMenuItem.setLabel("Close");\r
-        closeMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    closeMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        closeMenuItem.addActionListener(this);\r
         editMenu.setLabel("Edit");\r
         viewMenu.setLabel("View");\r
         colourMenu.setLabel("Colour");\r
         calculateMenu.setLabel("Calculate");\r
         selectAllSequenceMenuItem.setLabel("Select all");\r
-        selectAllSequenceMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    selectAllSequenceMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        selectAllSequenceMenuItem.addActionListener(this);\r
         deselectAllSequenceMenuItem.setLabel("Deselect All");\r
-        deselectAllSequenceMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    deselectAllSequenceMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        deselectAllSequenceMenuItem.addActionListener(this);\r
         invertSequenceMenuItem.setLabel("Invert Selection");\r
-        invertSequenceMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    invertSequenceMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        invertSequenceMenuItem.addActionListener(this);\r
         remove2LeftMenuItem.setLabel("Remove Left");\r
-        remove2LeftMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    remove2LeftMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        remove2LeftMenuItem.addActionListener(this);\r
         remove2RightMenuItem.setLabel("Remove Right");\r
-        remove2RightMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    remove2RightMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        remove2RightMenuItem.addActionListener(this);\r
         removeGappedColumnMenuItem.setLabel("Remove Empty Columns");\r
-        removeGappedColumnMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    removeGappedColumnMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        removeGappedColumnMenuItem.addActionListener(this);\r
         removeAllGapsMenuItem.setLabel("Remove All Gaps");\r
-        removeAllGapsMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    removeAllGapsMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        removeAllGapsMenuItem.addActionListener(this);\r
         viewBoxesMenuItem.setLabel("Boxes");\r
         viewBoxesMenuItem.setState(true);\r
-        viewBoxesMenuItem.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(ItemEvent e) {\r
-                    viewBoxesMenuItem_actionPerformed(null);\r
-                }\r
-            });\r
+        viewBoxesMenuItem.addItemListener(this);\r
         viewTextMenuItem.setLabel("Text");\r
         viewTextMenuItem.setState(true);\r
-        viewTextMenuItem.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(ItemEvent e) {\r
-                    viewTextMenuItem_actionPerformed(null);\r
-                }\r
-            });\r
+        viewTextMenuItem.addItemListener(this);\r
         sortPairwiseMenuItem.setLabel("by Pairwise Identity");\r
-        sortPairwiseMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    sortPairwiseMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        sortPairwiseMenuItem.addActionListener(this);\r
         sortIDMenuItem.setLabel("by ID");\r
-        sortIDMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    sortIDMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        sortIDMenuItem.addActionListener(this);\r
         sortGroupMenuItem.setLabel("by Group");\r
-        sortGroupMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    sortGroupMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        sortGroupMenuItem.addActionListener(this);\r
         removeRedundancyMenuItem.setLabel("Remove Redundancy...");\r
-        removeRedundancyMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    removeRedundancyMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        removeRedundancyMenuItem.addActionListener(this);\r
         pairwiseAlignmentMenuItem.setLabel("Pairwise Alignments...");\r
-        pairwiseAlignmentMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    pairwiseAlignmentMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        pairwiseAlignmentMenuItem.addActionListener(this);\r
         PCAMenuItem.setLabel("Principal Component Analysis");\r
-        PCAMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    PCAMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        PCAMenuItem.addActionListener(this);\r
         averageDistanceTreeMenuItem.setLabel(\r
             "Average Distance Using % Identity");\r
-        averageDistanceTreeMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    averageDistanceTreeMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        averageDistanceTreeMenuItem.addActionListener(this);\r
         neighbourTreeMenuItem.setLabel("Neighbour Joining Using % Identity");\r
-        neighbourTreeMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    neighbourTreeMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        neighbourTreeMenuItem.addActionListener(this);\r
         alignFrameMenuBar.setFont(new java.awt.Font("Verdana", 0, 11));\r
         statusBar.setBackground(Color.white);\r
         statusBar.setFont(new java.awt.Font("Verdana", 0, 11));\r
@@ -1741,281 +1797,109 @@ public class AlignFrame extends Frame
         outputTextboxMenu.setLabel("Output to Textbox");\r
         clustalColour.setLabel("Clustalx");\r
 \r
-        clustalColour.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    clustalColour_actionPerformed(e);\r
-                }\r
-            });\r
+        clustalColour.addActionListener(this);\r
         zappoColour.setLabel("Zappo");\r
-        zappoColour.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    zappoColour_actionPerformed(e);\r
-                }\r
-            });\r
+        zappoColour.addActionListener(this);\r
         taylorColour.setLabel("Taylor");\r
-        taylorColour.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    taylorColour_actionPerformed(e);\r
-                }\r
-            });\r
+        taylorColour.addActionListener(this);\r
         hydrophobicityColour.setLabel("Hydrophobicity");\r
-        hydrophobicityColour.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    hydrophobicityColour_actionPerformed(e);\r
-                }\r
-            });\r
+        hydrophobicityColour.addActionListener(this);\r
         helixColour.setLabel("Helix Propensity");\r
-        helixColour.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    helixColour_actionPerformed(e);\r
-                }\r
-            });\r
+        helixColour.addActionListener(this);\r
         strandColour.setLabel("Strand Propensity");\r
-        strandColour.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    strandColour_actionPerformed(e);\r
-                }\r
-            });\r
+        strandColour.addActionListener(this);\r
         turnColour.setLabel("Turn Propensity");\r
-        turnColour.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    turnColour_actionPerformed(e);\r
-                }\r
-            });\r
+        turnColour.addActionListener(this);\r
         buriedColour.setLabel("Buried Index");\r
-        buriedColour.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    buriedColour_actionPerformed(e);\r
-                }\r
-            });\r
+        buriedColour.addActionListener(this);\r
         userDefinedColour.setLabel("User Defined...");\r
-        userDefinedColour.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    userDefinedColour_actionPerformed(e);\r
-                }\r
-            });\r
+        userDefinedColour.addActionListener(this);\r
         PIDColour.setLabel("Percentage Identity");\r
-        PIDColour.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    PIDColour_actionPerformed(e);\r
-                }\r
-            });\r
+        PIDColour.addActionListener(this);\r
         BLOSUM62Colour.setLabel("BLOSUM62 Score");\r
-        BLOSUM62Colour.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    BLOSUM62Colour_actionPerformed(e);\r
-                }\r
-            });\r
+        BLOSUM62Colour.addActionListener(this);\r
         avDistanceTreeBlosumMenuItem.setLabel(\r
             "Average Distance Using BLOSUM62");\r
-        avDistanceTreeBlosumMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    avTreeBlosumMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        avDistanceTreeBlosumMenuItem.addActionListener(this);\r
         njTreeBlosumMenuItem.setLabel("Neighbour Joining Using BLOSUM62");\r
-        njTreeBlosumMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    njTreeBlosumMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
-        annotationPanelMenuItem.setActionCommand("");\r
-        annotationPanelMenuItem.setState(true);\r
+        njTreeBlosumMenuItem.addActionListener(this);\r
         annotationPanelMenuItem.setLabel("Show Annotations");\r
-        annotationPanelMenuItem.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(ItemEvent e) {\r
-                    annotationPanelMenuItem_actionPerformed(null);\r
-                }\r
-            });\r
+        annotationPanelMenuItem.addItemListener(this);\r
         colourTextMenuItem.setLabel("Colour Text");\r
-        colourTextMenuItem.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(ItemEvent e) {\r
-                    colourTextMenuItem_actionPerformed(null);\r
-                }\r
-            });\r
+        colourTextMenuItem.addItemListener(this);\r
         overviewMenuItem.setLabel("Overview Window");\r
-        overviewMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    overviewMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        overviewMenuItem.addActionListener(this);\r
         undoMenuItem.setEnabled(false);\r
         undoMenuItem.setLabel("Undo");\r
-        undoMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    undoMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        undoMenuItem.addActionListener(this);\r
         redoMenuItem.setEnabled(false);\r
         redoMenuItem.setLabel("Redo");\r
-        redoMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    redoMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        redoMenuItem.addActionListener(this);\r
         conservationMenuItem.setLabel("by Conservation");\r
-        conservationMenuItem.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(ItemEvent e) {\r
-                    conservationMenuItem_actionPerformed(null);\r
-                }\r
-            });\r
+        conservationMenuItem.addItemListener(this);\r
         noColourmenuItem.setLabel("None");\r
-        noColourmenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    noColourmenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        noColourmenuItem.addActionListener(this);\r
         wrapMenuItem.setLabel("Wrap");\r
-        wrapMenuItem.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(ItemEvent e) {\r
-                    wrapMenuItem_actionPerformed(null);\r
-                }\r
-            });\r
+        wrapMenuItem.addItemListener(this);\r
         renderGapsMenuItem.setLabel("Show Gaps");\r
         renderGapsMenuItem.setState(true);\r
-        renderGapsMenuItem.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(ItemEvent e) {\r
-                    renderGapsMenuItem_actionPerformed(null);\r
-                }\r
-            });\r
+        renderGapsMenuItem.addItemListener(this);\r
         findMenuItem.setLabel("Find...");\r
-        findMenuItem.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    findMenuItem_actionPerformed(e);\r
-                }\r
-            });\r
+        findMenuItem.addActionListener(this);\r
         searchMenu.setLabel("Search");\r
 \r
         abovePIDThreshold.setLabel("Above Identity Threshold");\r
-        abovePIDThreshold.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(ItemEvent e) {\r
-                    abovePIDThreshold_actionPerformed(null);\r
-                }\r
-            });\r
+        abovePIDThreshold.addItemListener(this);\r
         nucleotideColour.setLabel("Nucleotide");\r
-        nucleotideColour.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    nucleotideColour_actionPerformed(e);\r
-                }\r
-            });\r
+        nucleotideColour.addActionListener(this);\r
         deleteGroups.setLabel("Undefine Groups");\r
-        deleteGroups.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    deleteGroups_actionPerformed(e);\r
-                }\r
-            });\r
+        deleteGroups.addActionListener(this);\r
         copy.setLabel("Copy");\r
-        copy.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    copy_actionPerformed(e);\r
-                }\r
-            });\r
+        copy.addActionListener(this);\r
         cut.setLabel("Cut");\r
-        cut.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    cut_actionPerformed(e);\r
-                }\r
-            });\r
+        cut.addActionListener(this);\r
         delete.setLabel("Delete");\r
-        delete.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    delete_actionPerformed(e);\r
-                }\r
-            });\r
-        Menu1.setLabel("Paste");\r
+        delete.addActionListener(this);\r
+        pasteMenu.setLabel("Paste");\r
         pasteNew.setLabel("To New Alignment");\r
-        pasteNew.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    pasteNew_actionPerformed(e);\r
-                }\r
-            });\r
+        pasteNew.addActionListener(this);\r
         pasteThis.setLabel("Add To This Alignment");\r
-        pasteThis.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    pasteThis_actionPerformed(e);\r
-                }\r
-            });\r
+        pasteThis.addActionListener(this);\r
         applyToAllGroups.setLabel("Apply Colour To All Groups");\r
         applyToAllGroups.setState(true);\r
-        applyToAllGroups.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(ItemEvent e) {\r
-                    applyToAllGroups_actionPerformed(null);\r
-                }\r
-            });\r
+        applyToAllGroups.addItemListener(this);\r
         font.setLabel("Font...");\r
-        font.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    font_actionPerformed(e);\r
-                }\r
-            });\r
+        font.addActionListener(this);\r
         scaleAbove.setLabel("Scale Above");\r
         scaleAbove.setState(true);\r
-        scaleAbove.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(ItemEvent e) {\r
-                    scaleAbove_actionPerformed(null);\r
-                }\r
-            });\r
+        scaleAbove.addItemListener(this);\r
         scaleLeft.setEnabled(false);\r
         scaleLeft.setState(true);\r
         scaleLeft.setLabel("Scale Left");\r
-        scaleLeft.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(ItemEvent e) {\r
-                    scaleLeft_actionPerformed(null);\r
-                }\r
-            });\r
+        scaleLeft.addItemListener(this);\r
         scaleRight.setEnabled(false);\r
         scaleRight.setState(true);\r
         scaleRight.setLabel("Scale Right");\r
-        scaleRight.addItemListener(new java.awt.event.ItemListener() {\r
-                public void itemStateChanged(ItemEvent e) {\r
-                    scaleRight_actionPerformed(null);\r
-                }\r
-            });\r
+        scaleRight.addItemListener(this);\r
         modifyPID.setLabel("Modify Identity Threshold...");\r
-        modifyPID.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    modifyPID_actionPerformed(e);\r
-                }\r
-            });\r
+        modifyPID.addActionListener(this);\r
         modifyConservation.setLabel("Modify Conservation Threshold...");\r
-        modifyConservation.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    modifyConservation_actionPerformed(e);\r
-                }\r
-            });\r
+        modifyConservation.addActionListener(this);\r
         sortByTreeMenu.setLabel("By Tree Order");\r
         sort.setLabel("Sort");\r
         calculate.setLabel("Calculate Tree");\r
         inputText.setLabel("Input from textbox");\r
-        inputText.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    inputText_actionPerformed(e);\r
-                }\r
-            });\r
+        inputText.addActionListener(this);\r
 \r
         helpMenu.setLabel("Help");\r
         documentation.setLabel("Documentation");\r
-        documentation.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    documentation_actionPerformed(e);\r
-                }\r
-            });\r
+        documentation.addActionListener(this);\r
 \r
         about.setLabel("About...");\r
-        about.addActionListener(new java.awt.event.ActionListener() {\r
-                public void actionPerformed(ActionEvent e) {\r
-                    about_actionPerformed(e);\r
-                }\r
-            });\r
+        about.addActionListener(this);\r
           seqLimits.setState(true);\r
     seqLimits.setLabel("Show Sequence Limits");\r
-    seqLimits.addItemListener(new ItemListener()\r
-    {\r
-      public void itemStateChanged(ItemEvent e)\r
-      {\r
-        seqLimits_itemStateChanged(e);\r
-      }\r
-    });\r
+    seqLimits.addItemListener(this);\r
 \r
     alignFrameMenuBar.add(fileMenu);\r
         alignFrameMenuBar.add(editMenu);\r
@@ -2032,7 +1916,7 @@ public class AlignFrame extends Frame
         editMenu.add(redoMenuItem);\r
         editMenu.add(cut);\r
         editMenu.add(copy);\r
-        editMenu.add(Menu1);\r
+        editMenu.add(pasteMenu);\r
         editMenu.add(delete);\r
         editMenu.addSeparator();\r
         editMenu.add(selectAllSequenceMenuItem);\r
@@ -2088,8 +1972,8 @@ public class AlignFrame extends Frame
         calculateMenu.add(pairwiseAlignmentMenuItem);\r
         calculateMenu.add(PCAMenuItem);\r
         this.add(statusBar, BorderLayout.SOUTH);\r
-        Menu1.add(pasteNew);\r
-        Menu1.add(pasteThis);\r
+        pasteMenu.add(pasteNew);\r
+        pasteMenu.add(pasteThis);\r
         sort.add(sortIDMenuItem);\r
         sort.add(sortByTreeMenu);\r
         sort.add(sortGroupMenuItem);\r
@@ -2100,6 +1984,147 @@ public class AlignFrame extends Frame
         calculate.add(njTreeBlosumMenuItem);\r
         helpMenu.add(documentation);\r
         helpMenu.add(about);\r
+  }\r
+\r
+  public void setEmbedded()\r
+  {\r
+\r
+    embeddedMenu = new Panel();\r
+    embeddedEdit = new Label();\r
+    embeddedSearch = new Label();\r
+    embeddedView = new Label();\r
+    embeddedColour = new Label();\r
+    embeddedFile = new Label();\r
+    embeddedHelp = new Label();\r
+    embeddedCalculate = new Label();\r
+    flowLayout1 = new FlowLayout();\r
+    embeddedMenu.setBackground(Color.lightGray);\r
+    embeddedMenu.setLayout(flowLayout1);\r
+    embeddedEdit.setText("Edit");\r
+    embeddedEdit.setAlignment(Label.CENTER);\r
+    embeddedEdit.setFont(new java.awt.Font("Arial", Font.PLAIN, 10));\r
+    embeddedSearch.setText("Search");\r
+    embeddedSearch.setAlignment(Label.CENTER);\r
+    embeddedSearch.setFont(new java.awt.Font("Arial", Font.PLAIN, 10));\r
+    embeddedView.setText("View");\r
+    embeddedView.setAlignment(Label.CENTER);\r
+    embeddedView.setFont(new java.awt.Font("Arial", Font.PLAIN, 10));\r
+    embeddedColour.setText("Colour");\r
+    embeddedColour.setAlignment(Label.CENTER);\r
+    embeddedColour.setFont(new java.awt.Font("Arial", Font.PLAIN, 10));\r
+    embeddedFile.setAlignment(Label.CENTER);\r
+    embeddedFile.setFont(new java.awt.Font("Arial", Font.PLAIN, 10));\r
+    embeddedFile.setText("File");\r
+    embeddedHelp.setAlignment(Label.CENTER);\r
+    embeddedHelp.setFont(new java.awt.Font("Arial", Font.PLAIN, 10));\r
+    embeddedHelp.setText("Help");\r
+    embeddedCalculate.setAlignment(Label.CENTER);\r
+    embeddedCalculate.setFont(new java.awt.Font("Arial", Font.PLAIN, 10));\r
+    embeddedCalculate.setText("Calculate");\r
+    embeddedMenu.add(embeddedFile);\r
+    embeddedMenu.add(embeddedEdit);\r
+    embeddedMenu.add(embeddedSearch);\r
+    embeddedMenu.add(embeddedView);\r
+    embeddedMenu.add(embeddedColour);\r
+    embeddedMenu.add(embeddedCalculate);\r
+    embeddedMenu.add(embeddedHelp);\r
+    flowLayout1.setAlignment(FlowLayout.LEFT);\r
+    flowLayout1.setHgap(0);\r
+    flowLayout1.setVgap(0);\r
+    embeddedFile.addMouseListener(this);\r
+    embeddedEdit.addMouseListener(this);\r
+    embeddedSearch.addMouseListener(this);\r
+    embeddedView.addMouseListener(this);\r
+    embeddedColour.addMouseListener(this);\r
+    embeddedCalculate.addMouseListener(this);\r
+    embeddedHelp.addMouseListener(this);\r
+\r
+    setVisible(false);\r
+    fileMenu.remove(closeMenuItem);\r
+    fileMenu.remove(2); // Seperator\r
+\r
+    applet.setLayout(new BorderLayout());\r
+    applet.add(embeddedMenu, BorderLayout.NORTH);\r
+    applet.add(statusBar, BorderLayout.SOUTH);\r
+    applet.validate();\r
+\r
+\r
+    alignPanel.setSize(applet.size().width, applet.size().height\r
+                       - embeddedMenu.HEIGHT - statusBar.HEIGHT);\r
+\r
+     applet.add(alignPanel, BorderLayout.CENTER);\r
+     applet.validate();\r
+  }\r
+\r
+\r
+\r
+  PopupMenu filePopup, editPopup, searchPopup,\r
+      viewPopup, colourPopup, calculatePopup, helpPopup;\r
+\r
+  public void mousePressed(MouseEvent evt)\r
+  {\r
+    PopupMenu popup = null;\r
+    Label source = (Label)evt.getSource();\r
+    if(source==embeddedFile)\r
+    {\r
+      popup = filePopup = genPopupMenu(filePopup, fileMenu);\r
+    }\r
+    else if(source==embeddedEdit)\r
+    {\r
+      popup = editPopup = genPopupMenu(editPopup, editMenu);\r
+    }\r
+    else if(source==embeddedSearch)\r
+    {\r
+      popup = searchPopup = genPopupMenu(searchPopup, searchMenu);\r
     }\r
+    else if(source==embeddedView)\r
+    {\r
+      popup = viewPopup = genPopupMenu(viewPopup, viewMenu);\r
+    }\r
+    else if(source==embeddedColour)\r
+    {\r
+      popup = colourPopup = genPopupMenu(colourPopup, colourMenu);\r
+    }\r
+    else if(source==embeddedCalculate)\r
+    {\r
+      popup = calculatePopup = genPopupMenu(calculatePopup, calculateMenu);\r
+    }\r
+    else if(source==embeddedHelp)\r
+    {\r
+      popup = helpPopup = genPopupMenu(helpPopup, helpMenu);\r
+    }\r
+\r
+    embeddedMenu.add(popup);\r
+    popup.show(embeddedMenu,\r
+               source.getBounds().x,\r
+               source.getBounds().y + source.getBounds().getSize().height);\r
+  }\r
+\r
+  PopupMenu genPopupMenu(PopupMenu popup, Menu original)\r
+  {\r
+    if(popup!=null)\r
+    {\r
+      return popup;\r
+    }\r
+    popup = new PopupMenu();\r
+    int m, mSize = original.getItemCount();\r
+    for(m=0; m<mSize; m++)\r
+    {\r
+      popup.add(original.getItem(m));\r
+      mSize--;\r
+      m--;\r
+    }\r
+\r
+    return popup;\r
+  }\r
+  public void mouseClicked(MouseEvent evt)\r
+  {}\r
+  public void mouseReleased(MouseEvent evt)\r
+  {}\r
+  public void mouseEntered(MouseEvent evt)\r
+  {}\r
+  public void mouseExited(MouseEvent evt)\r
+  {}\r
+\r
 }\r
 \r
index 2e0c1cb..e9078dd 100755 (executable)
@@ -221,7 +221,7 @@ public class AlignViewport
                                              annotations,\r
                                              0f, // cons.qualityRange[0].floatValue(),\r
                                              11f, // cons.qualityRange[1].floatValue()\r
-                                             1);\r
+                                             AlignmentAnnotation.LINE_GRAPH);\r
       if (showConservation)\r
       {\r
         alignment.addAnnotation(conservation);\r
@@ -231,7 +231,7 @@ public class AlignViewport
                                         qannotations,\r
                                         cons.qualityRange[0].floatValue(),\r
                                         cons.qualityRange[1].floatValue(),\r
-                                        1);\r
+                                        AlignmentAnnotation.LINE_GRAPH);\r
       if (showQuality)\r
       {\r
         alignment.addAnnotation(quality);\r
@@ -294,7 +294,7 @@ public class AlignViewport
     if (consensus == null)\r
     {\r
       consensus = new AlignmentAnnotation("Consensus",\r
-                                          "PID", annotations, 0f, 100f, 1);\r
+                                          "PID", annotations, 0f, 100f, AlignmentAnnotation.LINE_GRAPH);\r
       if (showConsensus)\r
       {\r
         alignment.addAnnotation(consensus);\r
index b2f73ed..bece508 100755 (executable)
@@ -44,14 +44,6 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
 \r
   public AlignmentPanel(AlignFrame af, final AlignViewport av)\r
   {\r
-    this.addKeyListener(new KeyAdapter()\r
-    {\r
-      public void keyPressed(KeyEvent ke)\r
-      {\r
-        System.out.println("Align Panel "+ke);\r
-      }\r
-    });\r
-\r
     try\r
     {\r
       jbInit();\r
@@ -73,6 +65,8 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
     annotationPanel = new AnnotationPanel(this);\r
     alabels = new AnnotationLabels(this);\r
 \r
+    setAnnotationVisible(av.showAnnotation);\r
+\r
     idPanelHolder.add(idPanel, BorderLayout.CENTER);\r
     idSpaceFillerPanel1.add(idwidthAdjuster, BorderLayout.CENTER);\r
     annotationScroller.add(annotationPanel);\r
@@ -113,6 +107,7 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
   {\r
     // set idCanvas bufferedImage to null\r
     // to prevent drawing old image\r
+    idPanel.idCanvas.image =null;\r
     FontMetrics fm = getFontMetrics(av.getFont());\r
 \r
     scalePanel.setSize(new Dimension(10, av.charHeight + fm.getDescent()));\r
@@ -125,7 +120,8 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
     idPanel.idCanvas.setSize(d);\r
     hscrollFillerPanel.setSize(d);\r
 \r
-    alignFrame.pack();\r
+    validate();\r
+    repaint();\r
 \r
     if(overviewPanel!=null)\r
           overviewPanel.updateOverviewImage();\r
@@ -198,15 +194,42 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
       SequenceI seq = av.alignment.getSequenceAt(results[0]);\r
       int start = seq.findIndex(results[1]) - 1;\r
       int end = seq.findIndex(results[2]) - 1;\r
-      if (av.getStartRes() > start\r
-          || av.getEndRes() < end\r
-          || (av.getStartSeq() > results[0]\r
-              || av.getEndSeq() < results[0]))\r
+\r
+      if(!av.wrapAlignment)\r
       {\r
-        setScrollValues(start, results[0]);\r
+        if ( (av.getStartRes() > start) || (av.getEndRes() < end) ||\r
+            ( (av.getStartSeq() > results[0]) ||\r
+             (av.getEndSeq() < results[0])))\r
+        {\r
+          int newy = results[0];\r
+          if(start > av.alignment.getWidth() - hextent)\r
+          {\r
+            start = av.alignment.getWidth() - hextent;\r
+            if(start<0)\r
+              start = 0;\r
+          }\r
+          if(newy > av.alignment.getHeight() - vextent)\r
+          {\r
+            newy = av.alignment.getHeight() - vextent;\r
+            if(newy<0)\r
+              newy = 0;\r
+          }\r
+          setScrollValues(start, newy);\r
+        }\r
+      }\r
+      else\r
+      {\r
+        int cwidth = seqPanel.seqCanvas.getWrappedCanvasWidth(seqPanel.seqCanvas.getSize().width);\r
+        if( start<av.getStartRes() || start>(av.getStartRes()+cwidth) )\r
+        {\r
+\r
+          vscroll.setValue(start / cwidth);\r
+          av.startRes = vscroll.getValue() * cwidth;\r
+        }\r
       }\r
     }\r
 \r
+    repaint();\r
   }\r
 \r
   public OverviewPanel getOverviewPanel()\r
@@ -234,6 +257,8 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
   {\r
     av.startSeq = 0;\r
     scalePanelHolder.setVisible(!wrap);\r
+\r
+\r
     hscroll.setVisible(!wrap);\r
     idwidthAdjuster.setVisible(!wrap);\r
 \r
@@ -248,8 +273,11 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
       annotationSpaceFillerHolder.setVisible(true);\r
     }\r
 \r
+\r
     idSpaceFillerPanel1.setVisible(!wrap);\r
 \r
+    fontChanged();//This is so that the scalePanel is resized correctly\r
+\r
     validate();\r
     repaint();\r
 \r
@@ -365,7 +393,7 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
     int oldX = av.getStartRes();\r
     int oldY = av.getStartSeq();\r
 \r
-    if (evt.getSource() == hscroll)\r
+    if (evt==null || evt.getSource() == hscroll)\r
     {\r
       int x = hscroll.getValue();\r
       av.setStartRes(x);\r
@@ -373,7 +401,7 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
                    1);\r
     }\r
 \r
-    if (evt.getSource() == vscroll)\r
+    if (evt==null || evt.getSource() == vscroll)\r
     {\r
       int offy = vscroll.getValue();\r
       if (av.getWrapAlignment())\r
@@ -409,6 +437,7 @@ public class AlignmentPanel extends Panel implements AdjustmentListener
       scalePanel.repaint();\r
       if (av.getShowAnnotation())\r
       {\r
+\r
         annotationPanel.fastPaint(av.getStartRes() - oldX);\r
       }\r
     }\r
index 1df7455..3ef61e6 100755 (executable)
@@ -181,14 +181,14 @@ public class AnnotationLabels
 \r
         x = width - fm.stringWidth(aa[i].label) - 3;\r
 \r
-        if (aa[i].isGraph)\r
+        if (aa[i].graph>0)\r
         {\r
           y += (aa[i].height / 3);\r
         }\r
 \r
         g.drawString(aa[i].label, x, y);\r
 \r
-        if (aa[i].isGraph)\r
+        if (aa[i].graph>0)\r
         {\r
           y += (2 * aa[i].height / 3);\r
         }\r
index a1597f8..a71e439 100755 (executable)
@@ -108,7 +108,7 @@ public class AnnotationPanel
           aa[i].height += 16;\r
         }\r
 \r
-        if (aa[i].isGraph)\r
+        if (aa[i].graph>0)\r
         {\r
           aa[i].height += GRAPH_HEIGHT;\r
         }\r
@@ -307,7 +307,7 @@ public class AnnotationPanel
           }\r
 \r
 \r
-          if (row.isGraph)\r
+          if (row.graph>0)\r
           {\r
               // this is so that we draw the characters below the graph\r
               y += row.height;\r
@@ -351,7 +351,7 @@ public class AnnotationPanel
                               0))) / 2;\r
                   g.setColor(row.annotations[j].colour);\r
 \r
-                  if (j == 0 || row.isGraph)\r
+                  if (j == 0 || row.graph>0)\r
                   {\r
                       g.drawString(row.annotations[j].displayCharacter, x+charOffset,\r
                           y + iconOffset + 3);\r
@@ -416,31 +416,12 @@ public class AnnotationPanel
                   }\r
               }\r
 \r
-              if (validRes && row.isGraph)\r
+              if (validRes && row.graph>0)\r
               {\r
                   g.setColor(new Color(0, 0, 180));\r
 \r
                   int height = (int) ((row.annotations[j].value / row.graphMax) * GRAPH_HEIGHT);\r
 \r
-                  if (row.windowLength > 1)\r
-                  {\r
-                      int total = 0;\r
-\r
-                      for (int i2 = j - (row.windowLength / 2);\r
-                              i2 < (j + (row.windowLength / 2)); i2++)\r
-                      {\r
-                          if ((i2 < 0) || (i2 >= av.alignment.getWidth()))\r
-                          {\r
-                              continue;\r
-                          }\r
-\r
-                          total += row.annotations[i2].value;\r
-                      }\r
-\r
-                      total /= row.windowLength;\r
-                      height = (int) ((total / row.graphMax) * GRAPH_HEIGHT);\r
-                  }\r
-\r
                   g.setColor(row.annotations[j].colour);\r
                   g.fillRect(x, y - height, av.charWidth, height);\r
               }\r
@@ -483,12 +464,12 @@ public class AnnotationPanel
               }\r
           }\r
 \r
-          if (row.isGraph && row.hasText)\r
+          if (row.graph>0 && row.hasText)\r
           {\r
               y += av.charHeight;\r
           }\r
 \r
-          if (!row.isGraph)\r
+          if (row.graph==0)\r
           {\r
               y += aa[i].height;\r
           }\r
index ea9a8aa..4fb8ec1 100755 (executable)
@@ -25,7 +25,7 @@ import java.awt.event.*;
 import jalview.datamodel.*;\r
 import jalview.io.*;\r
 \r
-public class CutAndPasteTransfer extends Panel\r
+public class CutAndPasteTransfer extends Panel implements ActionListener, MouseListener\r
 {\r
   jalview.bin.JalviewLite applet;\r
 \r
@@ -67,7 +67,15 @@ public class CutAndPasteTransfer extends Panel
     textarea.setText(text);\r
   }\r
 \r
-  protected void ok_actionPerformed(ActionEvent e)\r
+  public void actionPerformed(ActionEvent evt)\r
+  {\r
+    if(evt.getSource()==ok)\r
+      ok_actionPerformed();\r
+    else if(evt.getSource()==cancel)\r
+      cancel_actionPerformed();\r
+  }\r
+\r
+  protected void ok_actionPerformed()\r
   {\r
     String text = getText();\r
     int length = text.length();\r
@@ -108,7 +116,7 @@ public class CutAndPasteTransfer extends Panel
     ((Frame)this.getParent()).setVisible(false);\r
   }\r
 \r
-  protected void cancel_actionPerformed(ActionEvent e)\r
+  protected void cancel_actionPerformed()\r
   {\r
     ((Frame)this.getParent()).setVisible(false);\r
   }\r
@@ -123,33 +131,25 @@ public class CutAndPasteTransfer extends Panel
   private void jbInit() throws Exception {\r
       textarea.setFont(new java.awt.Font("Monospaced", Font.PLAIN, 10));\r
       textarea.setText("Paste your alignment file here");\r
-      textarea.addMouseListener(new java.awt.event.MouseAdapter() {\r
-              public void mousePressed(MouseEvent e) {\r
-                  textarea_mousePressed(e);\r
-              }\r
-          });\r
+      textarea.addMouseListener(this);\r
       this.setLayout(borderLayout1);\r
       ok.setLabel("OK");\r
-      ok.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  ok_actionPerformed(e);\r
-              }\r
-          });\r
+      ok.addActionListener(this);\r
       cancel.setLabel("Cancel");\r
-      cancel.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  cancel_actionPerformed(e);\r
-              }\r
-          });\r
+      cancel.addActionListener(this);\r
       this.add(buttonPanel, BorderLayout.SOUTH);\r
       buttonPanel.add(ok, null);\r
       buttonPanel.add(cancel, null);\r
       this.add(textarea, java.awt.BorderLayout.CENTER);\r
   }\r
 \r
-  void textarea_mousePressed(MouseEvent e) {\r
+  public void mousePressed(MouseEvent evt) {\r
       if (textarea.getText().startsWith("Paste your")) {\r
           textarea.setText("");\r
-      }\r
+     }\r
   }\r
+  public void mouseReleased(MouseEvent evt){}\r
+  public void mouseClicked(MouseEvent evt){}\r
+  public void mouseEntered(MouseEvent evt){}\r
+  public void mouseExited(MouseEvent evt){}\r
 }\r
index fcca0c1..f59216f 100755 (executable)
@@ -26,7 +26,7 @@ import java.awt.event.*;
 \r
 import jalview.datamodel.*;\r
 \r
-public class Finder extends Panel\r
+public class Finder extends Panel implements ActionListener\r
 {\r
   AlignViewport av;\r
   AlignmentPanel ap;\r
@@ -62,37 +62,26 @@ public class Finder extends Panel
     });\r
   }\r
 \r
-  public void textfield_actionPerformed(ActionEvent e)\r
+  public void actionPerformed(ActionEvent evt)\r
   {\r
-    doSearch(false);\r
-  }\r
+    if (evt.getSource() == textfield)\r
+      doSearch(false);\r
 \r
-  public void findNext_actionPerformed(ActionEvent e)\r
-  {\r
-    doSearch(false);\r
-  }\r
-\r
-  public void findAll_actionPerformed(ActionEvent e)\r
-  {\r
-    resIndex = 0;\r
-    seqIndex = 0;\r
-    doSearch(true);\r
-  }\r
+    else if (evt.getSource() == findNext)\r
+      doSearch(false);\r
 \r
-  public void cancel_actionPerformed(ActionEvent e)\r
-  {\r
-    try\r
+    else if (evt.getSource() == findAll)\r
     {\r
-      // if allResults is null, this effectively switches displaySearch flag in seqCanvas\r
-      ap.highlightSearchResults(null);\r
-      ap.idPanel.highlightSearchResults(null);\r
-      // frame.setClosed(true);\r
+      resIndex = 0;\r
+      seqIndex = 0;\r
+      doSearch(true);\r
     }\r
-    catch (Exception ex)\r
-    {}\r
+    else if(evt.getSource() == createNewGroup)\r
+      createNewGroup_actionPerformed();\r
   }\r
 \r
-  public void createNewGroup_actionPerformed(ActionEvent e)\r
+\r
+  public void createNewGroup_actionPerformed()\r
   {\r
     Color[] newColors = new Color[24];\r
     for (int i = 0; i < 24; i++)\r
@@ -326,26 +315,14 @@ public class Finder extends Panel
                   textfield_keyTyped(e);\r
               }\r
           });\r
-      textfield.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  textfield_actionPerformed(e);\r
-              }\r
-          });\r
+      textfield.addActionListener(this);\r
       findAll.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
       findAll.setLabel("Find all");\r
-      findAll.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  findAll_actionPerformed(e);\r
-              }\r
-          });\r
+      findAll.addActionListener(this);\r
       findNext.setEnabled(false);\r
       findNext.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
       findNext.setLabel("Find Next");\r
-      findNext.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  findNext_actionPerformed(e);\r
-              }\r
-          });\r
+      findNext.addActionListener(this);\r
       jPanel1.setBounds(new Rectangle(180, 5, 141, 64));\r
       jPanel1.setLayout(gridLayout1);\r
       gridLayout1.setHgap(0);\r
@@ -354,11 +331,7 @@ public class Finder extends Panel
       createNewGroup.setEnabled(false);\r
       createNewGroup.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));\r
       createNewGroup.setLabel("Create new group");\r
-      createNewGroup.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  createNewGroup_actionPerformed(e);\r
-              }\r
-          });\r
+      createNewGroup.addActionListener(this);\r
       jPanel1.add(findNext, null);\r
       jPanel1.add(findAll, null);\r
       jPanel1.add(createNewGroup, null);\r
index 5f44b39..843ffe7 100755 (executable)
@@ -21,11 +21,10 @@ package jalview.appletgui;
 \r
 import java.awt.*;\r
 \r
-import java.awt.event.ActionEvent;\r
-import java.awt.event.ItemEvent;\r
+import java.awt.event.*;\r
 \r
 public class FontChooser\r
-    extends Panel\r
+    extends Panel implements ActionListener, ItemListener\r
 {\r
   AlignmentPanel ap;\r
   TreePanel tp;\r
@@ -89,11 +88,30 @@ public class FontChooser
     Frame frame = new Frame();\r
     this.frame = frame;\r
     frame.add(this);\r
-    jalview.bin.JalviewLite.addFrame(frame, "Change Font", 440, 100);\r
+    jalview.bin.JalviewLite.addFrame(frame, "Change Font", 440, 115);\r
 \r
     init = false;\r
   }\r
 \r
+  public void actionPerformed(ActionEvent evt)\r
+  {\r
+    if(evt.getSource()==ok)\r
+      ok_actionPerformed();\r
+    else if(evt.getSource()==cancel)\r
+      cancel_actionPerformed();\r
+  }\r
+\r
+  public void itemStateChanged(ItemEvent evt)\r
+  {\r
+    if(evt.getSource()==fontName)\r
+      fontName_actionPerformed();\r
+    else if(evt.getSource()==fontSize)\r
+      fontSize_actionPerformed();\r
+    else if(evt.getSource()==fontStyle)\r
+      fontStyle_actionPerformed();\r
+  }\r
+\r
+\r
   protected void ok_actionPerformed()\r
   {\r
     frame.setVisible(false);\r
@@ -196,17 +214,9 @@ public class FontChooser
       label1.setText("Font: ");\r
       this.setLayout(borderLayout4);\r
       fontSize.setFont(new java.awt.Font("Verdana", 0, 11));\r
-      fontSize.addItemListener(new java.awt.event.ItemListener() {\r
-              public void itemStateChanged(ItemEvent e) {\r
-                  fontSize_actionPerformed();\r
-              }\r
-          });\r
+      fontSize.addItemListener(this);\r
       fontStyle.setFont(new java.awt.Font("Verdana", 0, 11));\r
-      fontStyle.addItemListener(new java.awt.event.ItemListener() {\r
-              public void itemStateChanged(ItemEvent e) {\r
-                  fontStyle_actionPerformed();\r
-              }\r
-          });\r
+      fontStyle.addItemListener(this);\r
       label2.setAlignment(Label.RIGHT);\r
       label2.setFont(new java.awt.Font("Verdana", 0, 11));\r
       label2.setText("Size: ");\r
@@ -214,25 +224,13 @@ public class FontChooser
       label3.setFont(new java.awt.Font("Verdana", 0, 11));\r
       label3.setText("Style: ");\r
       fontName.setFont(new java.awt.Font("Verdana", 0, 11));\r
-      fontName.addItemListener(new java.awt.event.ItemListener() {\r
-              public void itemStateChanged(ItemEvent e) {\r
-                  fontName_actionPerformed();\r
-              }\r
-          });\r
+      fontName.addItemListener(this);\r
       ok.setFont(new java.awt.Font("Verdana", 0, 11));\r
       ok.setLabel("OK");\r
-      ok.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  ok_actionPerformed();\r
-              }\r
-          });\r
+      ok.addActionListener(this);\r
       cancel.setFont(new java.awt.Font("Verdana", 0, 11));\r
       cancel.setLabel("Cancel");\r
-      cancel.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  cancel_actionPerformed();\r
-              }\r
-          });\r
+      cancel.addActionListener(this);\r
       this.setBackground(Color.white);\r
       panel1.setLayout(borderLayout1);\r
       panel2.setLayout(borderLayout3);\r
index 23bfd09..c5789fe 100755 (executable)
@@ -23,7 +23,7 @@ import java.awt.*;
 import java.awt.event.*;\r
 \r
 public class OverviewPanel\r
-    extends Panel implements Runnable\r
+    extends Panel implements Runnable, MouseMotionListener, MouseListener\r
 {\r
   Image miniMe;\r
   AlignViewport av;\r
@@ -103,32 +103,24 @@ public class OverviewPanel
       }\r
     });\r
 \r
-    addMouseMotionListener(new MouseMotionAdapter()\r
-    {\r
-      public void mouseDragged(MouseEvent evt)\r
-      {\r
-        doMouseDragged(evt);\r
-      }\r
-    });\r
-\r
-    addMouseListener(new MouseAdapter()\r
-    {\r
-      public void mousePressed(MouseEvent evt)\r
-      {\r
-        doMousePressed(evt);\r
-      }\r
+    addMouseMotionListener(this);\r
 \r
-      public void mouseReleased(MouseEvent evt)\r
-      {\r
-        doMouseReleased(evt);\r
-      }\r
-    });\r
+    addMouseListener(this);\r
 \r
     updateOverviewImage();\r
 \r
   }\r
 \r
-  public void doMousePressed(MouseEvent evt)\r
+\r
+  public void mouseEntered(MouseEvent evt)\r
+  {}\r
+  public void mouseExited(MouseEvent evt)\r
+  {}\r
+  public void mouseClicked(MouseEvent evt)\r
+  {}\r
+  public void mouseMoved(MouseEvent evt)\r
+  {}\r
+  public void mousePressed(MouseEvent evt)\r
   {\r
     boxX = evt.getX();\r
     boxY = evt.getY();\r
@@ -137,7 +129,7 @@ public class OverviewPanel
     repaint();\r
   }\r
 \r
-  public void doMouseReleased(MouseEvent evt)\r
+  public void mouseReleased(MouseEvent evt)\r
   {\r
     boxX = evt.getX();\r
     boxY = evt.getY();\r
@@ -146,7 +138,7 @@ public class OverviewPanel
                          (int) (boxY / scaleh / av.getCharHeight()));\r
   }\r
 \r
-  public void doMouseDragged(MouseEvent evt)\r
+  public void mouseDragged(MouseEvent evt)\r
   {\r
     boxX = evt.getX();\r
     boxY = evt.getY();\r
index 0368d2a..a75de06 100755 (executable)
@@ -29,7 +29,7 @@ import jalview.datamodel.*;
 \r
 \r
 public class PCAPanel\r
-    extends Frame implements Runnable\r
+    extends Frame implements Runnable, ActionListener, ItemListener\r
 {\r
   PCA pca;\r
   int top;\r
@@ -156,22 +156,38 @@ public class PCAPanel
     rc.paint(rc.getGraphics());\r
   }\r
 \r
-  protected void xCombobox_actionPerformed(ActionEvent e)\r
+  public void actionPerformed(ActionEvent evt)\r
+  {\r
+    values_actionPerformed();\r
+  }\r
+\r
+  public void itemStateChanged(ItemEvent evt)\r
+  {\r
+    if(evt.getSource()==xCombobox)\r
+      xCombobox_actionPerformed();\r
+    else if(evt.getSource()==yCombobox)\r
+      yCombobox_actionPerformed();\r
+    else if(evt.getSource()==zCombobox)\r
+      zCombobox_actionPerformed();\r
+  }\r
+\r
+\r
+  protected void xCombobox_actionPerformed()\r
   {\r
     doDimensionChange();\r
   }\r
 \r
-  protected void yCombobox_actionPerformed(ActionEvent e)\r
+  protected void yCombobox_actionPerformed()\r
   {\r
     doDimensionChange();\r
   }\r
 \r
-  protected void zCombobox_actionPerformed(ActionEvent e)\r
+  protected void zCombobox_actionPerformed()\r
   {\r
     doDimensionChange();\r
   }\r
 \r
-  public void values_actionPerformed(ActionEvent actionEvent)\r
+  public void values_actionPerformed()\r
   {\r
 \r
     CutAndPasteTransfer cap = new CutAndPasteTransfer(false, null);\r
@@ -214,48 +230,18 @@ public class PCAPanel
     jLabel3.setText("z=");\r
     jPanel2.setBackground(Color.white);\r
     zCombobox.setFont(new java.awt.Font("Verdana", 0, 12));\r
-    zCombobox.addItemListener(new java.awt.event.ItemListener()\r
-    {\r
-      public void itemStateChanged(ItemEvent e)\r
-      {\r
-        zCombobox_actionPerformed(null);\r
-      }\r
-    });\r
+    zCombobox.addItemListener(this);\r
     yCombobox.setFont(new java.awt.Font("Verdana", 0, 12));\r
-    yCombobox.addItemListener(new java.awt.event.ItemListener()\r
-    {\r
-      public void itemStateChanged(ItemEvent e)\r
-      {\r
-        yCombobox_actionPerformed(null);\r
-      }\r
-    });\r
+    yCombobox.addItemListener(this);\r
     xCombobox.setFont(new java.awt.Font("Verdana", 0, 12));\r
-    xCombobox.addItemListener(new java.awt.event.ItemListener()\r
-    {\r
-      public void itemStateChanged(ItemEvent e)\r
-      {\r
-        xCombobox_actionPerformed(null);\r
-      }\r
-    });\r
+    xCombobox.addItemListener(this);\r
     this.setMenuBar(menuBar1);\r
     menu1.setLabel("File");\r
     menu2.setLabel("View");\r
     labels.setLabel("Labels");\r
-    labels.addItemListener(new ItemListener()\r
-    {\r
-      public void itemStateChanged(ItemEvent itemEvent)\r
-      {\r
-        labels_itemStateChanged(itemEvent);\r
-      }\r
-    });\r
+    labels.addItemListener(this);\r
     values.setLabel("Output Values...");\r
-    values.addActionListener(new ActionListener()\r
-    {\r
-      public void actionPerformed(ActionEvent actionEvent)\r
-      {\r
-        values_actionPerformed(actionEvent);\r
-      }\r
-    });\r
+    values.addActionListener(this);\r
     this.add(jPanel2, BorderLayout.SOUTH);\r
     jPanel2.add(jLabel1, null);\r
     jPanel2.add(xCombobox, null);\r
index 910a206..26836cd 100755 (executable)
@@ -28,7 +28,7 @@ import jalview.datamodel.*;
 import java.awt.*;\r
 \r
 public class PairwiseAlignPanel\r
-    extends Panel\r
+    extends Panel implements ActionListener\r
 {\r
   Vector sequences = new Vector();\r
   AlignmentPanel ap;\r
@@ -85,7 +85,13 @@ public class PairwiseAlignPanel
     }\r
   }\r
 \r
-  protected void viewInEditorButton_actionPerformed(ActionEvent e)\r
+  public void actionPerformed(ActionEvent evt)\r
+  {\r
+    if(evt.getSource()==viewInEditorButton)\r
+      viewInEditorButton_actionPerformed();\r
+  }\r
+\r
+  protected void viewInEditorButton_actionPerformed()\r
   {\r
 \r
     Sequence[] seq = new Sequence[sequences.size()];\r
@@ -112,11 +118,7 @@ public class PairwiseAlignPanel
       textarea.setText("");\r
       viewInEditorButton.setFont(new java.awt.Font("Verdana", 0, 12));\r
       viewInEditorButton.setLabel("View in alignment editor");\r
-      viewInEditorButton.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  viewInEditorButton_actionPerformed(e);\r
-              }\r
-          });\r
+      viewInEditorButton.addActionListener(this);\r
       this.add(scrollPane, BorderLayout.CENTER);\r
       scrollPane.add(textarea);\r
       this.add(jPanel1, BorderLayout.SOUTH);\r
index 3e3691b..504338a 100755 (executable)
@@ -53,7 +53,7 @@ public class RedundancyPanel extends SliderPanel
 \r
   }\r
 \r
-  public void applyButton_actionPerformed(ActionEvent e)\r
+  public void applyButton_actionPerformed()\r
   {\r
     float threshold = slider.getValue();\r
     Vector del;\r
@@ -106,7 +106,7 @@ public class RedundancyPanel extends SliderPanel
 \r
   }\r
 \r
-  public void undoButton_actionPerformed(ActionEvent e)\r
+  public void undoButton_actionPerformed()\r
   {\r
     undoButton.setEnabled(false);\r
     ap.av.setAlignment(new Alignment(oldAlignment));\r
index 9030341..2f06d64 100755 (executable)
@@ -28,7 +28,7 @@ import jalview.datamodel.*;
 import jalview.schemes.*;\r
 \r
 public class SeqPanel\r
-    extends Panel\r
+    extends Panel implements MouseMotionListener, MouseListener\r
 {\r
 \r
   public SeqCanvas seqCanvas;\r
@@ -60,84 +60,42 @@ public class SeqPanel
 \r
     ap = p;\r
 \r
-    seqCanvas.addMouseMotionListener(new MouseMotionAdapter()\r
-    {\r
-      public void mouseMoved(MouseEvent evt)\r
-      {\r
-        doMouseMoved(evt);\r
-      }\r
-\r
-      public void mouseDragged(MouseEvent evt)\r
-      {\r
-        if (editingSeqs)\r
-        {\r
-          doMouseDragged(evt);\r
-        }\r
-        else\r
-        {\r
-          doMouseDraggedDefineMode(evt);\r
-        }\r
-      }\r
-    });\r
-\r
-    seqCanvas.addMouseListener(new MouseAdapter()\r
-    {\r
-      public void mouseReleased(MouseEvent evt)\r
-      {\r
-        if (editingSeqs)\r
-        {\r
-          doMouseReleased(evt);\r
-        }\r
-        else\r
-        {\r
-          doMouseReleasedDefineMode(evt);\r
-        }\r
+    seqCanvas.addMouseMotionListener(this);\r
+    seqCanvas.addMouseListener(this);\r
 \r
-      }\r
-\r
-      public void mousePressed(MouseEvent evt)\r
-      {\r
-        if (evt.isShiftDown() || evt.isAltDown() || evt.isControlDown())\r
-        {\r
-          if (evt.isAltDown() || evt.isControlDown())\r
-          {\r
-            groupEditing = true;\r
-          }\r
-\r
-          editingSeqs = true;\r
-          doMousePressed(evt);\r
-        }\r
-        else\r
-        {\r
-          doMousePressedDefineMode(evt);\r
-        }\r
-      }\r
+    seqCanvas.repaint();\r
+  }\r
 \r
-      public void mouseExited(MouseEvent evt)\r
-      {\r
-        if (editingSeqs)\r
-        {\r
-          return;\r
-        }\r
-        doMouseExitedDefineMode(evt);\r
 \r
-      }\r
+     public void mousePressed(MouseEvent evt)\r
+     {\r
+       if (evt.isShiftDown() || evt.isAltDown() || evt.isControlDown())\r
+       {\r
+         if (evt.isAltDown() || evt.isControlDown())\r
+         {\r
+           groupEditing = true;\r
+         }\r
+\r
+         editingSeqs = true;\r
+         doMousePressed(evt);\r
+       }\r
+       else\r
+       {\r
+         doMousePressedDefineMode(evt);\r
+       }\r
+     }\r
 \r
-      public void mouseEntered(MouseEvent evt)\r
-      {\r
-        if (editingSeqs)\r
-        {\r
-          return;\r
-        }\r
-        doMouseEnteredDefineMode(evt);\r
-      }\r
+     public void mouseClicked(MouseEvent evt){}\r
 \r
-    });\r
-    seqCanvas.repaint();\r
-  }\r
 \r
-  public void doMouseReleased(MouseEvent evt)\r
+  public void mouseReleased(MouseEvent evt)\r
   {\r
+    if (!editingSeqs)\r
+    {\r
+      doMouseReleasedDefineMode(evt);\r
+      return;\r
+    }\r
+\r
 \r
     if (seqEditOccurred > -1)\r
     {\r
@@ -246,7 +204,7 @@ public class SeqPanel
     return;\r
   }\r
 \r
-  public void doMouseMoved(MouseEvent evt)\r
+  public void mouseMoved(MouseEvent evt)\r
   {\r
     int res = findRes(evt);\r
     int seq = findSeq(evt);\r
@@ -301,14 +259,19 @@ public class SeqPanel
     {\r
       Vector features = sequence.getSequenceFeatures();\r
       Enumeration e = features.elements();\r
-      text.append(" Sequence Feature: ");\r
-\r
+      boolean first = true;\r
       while (e.hasMoreElements())\r
       {\r
         SequenceFeature sf = (SequenceFeature) e.nextElement();\r
         if (sf.getBegin() <= sequence.findPosition(res) &&\r
             sf.getEnd() >= sequence.findPosition(res))\r
         {\r
+          if(first)\r
+          {\r
+            text.append(" Sequence Feature: ");\r
+            first = false;\r
+          }\r
+\r
           text.append(sf.getDescription());\r
           if (sf.getStatus().length() > 0)\r
           {\r
@@ -324,8 +287,13 @@ public class SeqPanel
 \r
   }\r
 \r
-  public void doMouseDragged(MouseEvent evt)\r
+  public void mouseDragged(MouseEvent evt)\r
   {\r
+    if (!editingSeqs)\r
+    {\r
+      doMouseDraggedDefineMode(evt);\r
+      return;\r
+    }\r
 \r
     // If we're dragging we're editing\r
     int res = findRes(evt);\r
@@ -741,15 +709,15 @@ public class SeqPanel
     seqCanvas.repaint();\r
   }\r
 \r
-  public void doMouseEnteredDefineMode(MouseEvent e)\r
+  public void mouseEntered(MouseEvent e)\r
   {\r
-    if (scrollThread != null)\r
+    if (editingSeqs && scrollThread != null)\r
     {\r
       scrollThread.running = false;\r
     }\r
   }\r
 \r
-  public void doMouseExitedDefineMode(MouseEvent e)\r
+  public void mouseExited(MouseEvent e)\r
   {\r
     if (mouseDragging)\r
     {\r
index a53e9dd..c343df9 100755 (executable)
@@ -27,7 +27,7 @@ import java.awt.event.*;
 import jalview.datamodel.*;\r
 import jalview.schemes.*;\r
 \r
-public class SliderPanel extends Panel\r
+public class SliderPanel extends Panel implements ActionListener, AdjustmentListener\r
 {\r
   AlignmentPanel ap;\r
   boolean forConservation = true;\r
@@ -176,14 +176,7 @@ public class SliderPanel extends Panel
       slider.setBlockIncrement(1);\r
     }\r
 \r
-    slider.addAdjustmentListener(new AdjustmentListener()\r
-    {\r
-      public void adjustmentValueChanged(AdjustmentEvent evt)\r
-      {\r
-        valueField.setText(slider.getValue() + "");\r
-        valueChanged(slider.getValue());\r
-      }\r
-    });\r
+    slider.addAdjustmentListener(this);\r
 \r
     slider.setValue(value);\r
     valueField.setText(value + "");\r
@@ -238,7 +231,24 @@ public class SliderPanel extends Panel
     allGroupsCheck.setEnabled(b);\r
   }\r
 \r
-  public void valueField_actionPerformed(ActionEvent e)\r
+  public void actionPerformed(ActionEvent evt)\r
+  {\r
+    if(evt.getSource()==applyButton)\r
+      applyButton_actionPerformed();\r
+    else if(evt.getSource()==undoButton)\r
+      undoButton_actionPerformed();\r
+    else if(evt.getSource()==valueField)\r
+      valueField_actionPerformed();\r
+  }\r
+\r
+  public void adjustmentValueChanged(AdjustmentEvent evt)\r
+  {\r
+    valueField.setText(slider.getValue() + "");\r
+    valueChanged(slider.getValue());\r
+  }\r
+\r
+\r
+  public void valueField_actionPerformed()\r
   {\r
     try\r
     {\r
@@ -286,30 +296,18 @@ public class SliderPanel extends Panel
       slider.setOrientation(0);\r
       valueField.setFont(new java.awt.Font("Verdana", 0, 11));\r
       valueField.setText("      ");\r
-      valueField.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  valueField_actionPerformed(e);\r
-              }\r
-          });\r
+      valueField.addActionListener(this);\r
       label.setFont(new java.awt.Font("Verdana", 0, 11));\r
       label.setText("set this label text");\r
       jPanel1.setLayout(borderLayout1);\r
       jPanel2.setLayout(flowLayout1);\r
       applyButton.setFont(new java.awt.Font("Verdana", 0, 11));\r
       applyButton.setLabel("Apply");\r
-      applyButton.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  applyButton_actionPerformed(e);\r
-              }\r
-          });\r
+      applyButton.addActionListener(this);\r
       undoButton.setEnabled(false);\r
       undoButton.setFont(new java.awt.Font("Verdana", 0, 11));\r
       undoButton.setLabel("Undo");\r
-      undoButton.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  undoButton_actionPerformed(e);\r
-              }\r
-          });\r
+      undoButton.addActionListener(this);\r
       allGroupsCheck.setEnabled(false);\r
       allGroupsCheck.setFont(new java.awt.Font("Verdana", 0, 11));\r
       allGroupsCheck.setLabel("Apply threshold to all groups");\r
@@ -326,11 +324,11 @@ public class SliderPanel extends Panel
       this.add(jPanel2, java.awt.BorderLayout.CENTER);\r
   }\r
 \r
-  protected void applyButton_actionPerformed(ActionEvent e)\r
+  protected void applyButton_actionPerformed()\r
   {\r
   }\r
 \r
-  protected void undoButton_actionPerformed(ActionEvent e)\r
+  protected void undoButton_actionPerformed()\r
   {\r
   }\r
 }\r
index 99ad412..61b0546 100755 (executable)
@@ -28,7 +28,7 @@ import jalview.analysis.*;
 import jalview.datamodel.*;\r
 import jalview.io.*;\r
 \r
-public class TreePanel extends Frame\r
+public class TreePanel extends Frame implements ActionListener, ItemListener\r
 {\r
   SequenceI[] seq;\r
   String type;\r
@@ -152,18 +152,33 @@ public class TreePanel extends Frame
     }\r
   }\r
 \r
-  public String getText(String format)\r
+  public void actionPerformed(ActionEvent evt)\r
   {\r
-    return null;\r
+    if(evt.getSource()==newickOutput)\r
+      newickOutput_actionPerformed();\r
+    else if(evt.getSource()==fontSize)\r
+      fontSize_actionPerformed();\r
   }\r
 \r
-  protected void fitToWindow_actionPerformed(ActionEvent e)\r
+  public void itemStateChanged(ItemEvent evt)\r
   {\r
-    treeCanvas.fitToWindow = fitToWindow.getState();\r
+    if(evt.getSource()==fitToWindow)\r
+      treeCanvas.fitToWindow = fitToWindow.getState();\r
+\r
+    else if(evt.getSource()==distanceMenu)\r
+      treeCanvas.setShowDistances(distanceMenu.getState());\r
+\r
+    else if(evt.getSource()==bootstrapMenu)\r
+      treeCanvas.setShowBootstrap(bootstrapMenu.getState());\r
+\r
+    else if(evt.getSource()==placeholdersMenu)\r
+      treeCanvas.setMarkPlaceholders(placeholdersMenu.getState());\r
+\r
     treeCanvas.repaint();\r
   }\r
 \r
-  public void newickOutput_actionPerformed(ActionEvent actionEvent)\r
+\r
+  public void newickOutput_actionPerformed()\r
   {\r
     jalview.io.NewickFile fout = new jalview.io.NewickFile(tree.getTopNode());\r
     String output = fout.print(false, true);\r
@@ -185,7 +200,7 @@ public class TreePanel extends Frame
     treeCanvas.repaint();\r
   }\r
 \r
-  protected void fontSize_actionPerformed(ActionEvent e)\r
+  protected void fontSize_actionPerformed()\r
   {\r
      if( treeCanvas==null )\r
         return;\r
@@ -193,20 +208,6 @@ public class TreePanel extends Frame
     new FontChooser(this);\r
   }\r
 \r
-  protected void distanceMenu_actionPerformed(ActionEvent e)\r
-  {\r
-    treeCanvas.setShowDistances(distanceMenu.getState());\r
-  }\r
-\r
-  protected void bootstrapMenu_actionPerformed(ActionEvent e)\r
-  {\r
-    treeCanvas.setShowBootstrap(bootstrapMenu.getState());\r
-  }\r
-\r
-  protected void placeholdersMenu_actionPerformed(ActionEvent e)\r
-  {\r
-    treeCanvas.setMarkPlaceholders(placeholdersMenu.getState());\r
-  }\r
 \r
   BorderLayout borderLayout1 = new BorderLayout();\r
   protected ScrollPane scrollPane = new ScrollPane();\r
@@ -226,43 +227,19 @@ public class TreePanel extends Frame
       this.setFont(new java.awt.Font("Verdana", 0, 12));\r
       jMenu2.setLabel("View");\r
       fontSize.setLabel("Font...");\r
-      fontSize.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  fontSize_actionPerformed(e);\r
-              }\r
-          });\r
+      fontSize.addActionListener(this);\r
       bootstrapMenu.setLabel("Show Bootstrap Values");\r
-      bootstrapMenu.addItemListener(new java.awt.event.ItemListener() {\r
-              public void itemStateChanged(ItemEvent e) {\r
-                  bootstrapMenu_actionPerformed(null);\r
-              }\r
-          });\r
+      bootstrapMenu.addItemListener(this);\r
       distanceMenu.setLabel("Show Distances");\r
-      distanceMenu.addItemListener(new java.awt.event.ItemListener() {\r
-              public void itemStateChanged(ItemEvent e) {\r
-                  distanceMenu_actionPerformed(null);\r
-              }\r
-          });\r
+      distanceMenu.addItemListener(this);\r
       placeholdersMenu.setLabel("Mark Unassociated Leaves");\r
-      placeholdersMenu.addItemListener(new java.awt.event.ItemListener() {\r
-              public void itemStateChanged(ItemEvent e) {\r
-                  placeholdersMenu_actionPerformed(null);\r
-              }\r
-          });\r
+      placeholdersMenu.addItemListener(this);\r
       fitToWindow.setState(true);\r
       fitToWindow.setLabel("Fit To Window");\r
-      fitToWindow.addItemListener(new java.awt.event.ItemListener() {\r
-              public void itemStateChanged(ItemEvent e) {\r
-                  fitToWindow_actionPerformed(null);\r
-              }\r
-          });\r
+      fitToWindow.addItemListener(this);\r
       fileMenu.setLabel("File");\r
       newickOutput.setLabel("Newick Format");\r
-      newickOutput.addActionListener(new ActionListener() {\r
-              public void actionPerformed(ActionEvent actionEvent) {\r
-                  newickOutput_actionPerformed(actionEvent);\r
-              }\r
-          });\r
+      newickOutput.addActionListener(this);\r
 \r
     add(scrollPane, BorderLayout.CENTER);\r
       jMenuBar1.add(fileMenu);\r
index 71bcaca..b092601 100755 (executable)
@@ -28,7 +28,7 @@ import jalview.datamodel.*;
 import jalview.schemes.*;\r
 \r
 public class UserDefinedColours\r
-    extends Panel\r
+    extends Panel implements ActionListener, AdjustmentListener\r
 {\r
 \r
   AlignmentPanel ap;\r
@@ -70,6 +70,32 @@ public class UserDefinedColours
     init();\r
   }\r
 \r
+  public void actionPerformed(ActionEvent evt)\r
+  {\r
+    if(evt.getSource()==okButton)\r
+     okButton_actionPerformed();\r
+   else if(evt.getSource()==applyButton)\r
+      applyButton_actionPerformed();\r
+   else if(evt.getSource()==cancelButton)\r
+     cancelButton_actionPerformed();\r
+   else if(evt.getSource()==rText)\r
+     rText_actionPerformed();\r
+   else if (evt.getSource() == gText)\r
+     gText_actionPerformed();\r
+   else if (evt.getSource() == bText)\r
+     bText_actionPerformed();\r
+}\r
+\r
+  public void adjustmentValueChanged(AdjustmentEvent evt)\r
+  {\r
+    if(evt.getSource()==rScroller)\r
+    rScroller_adjustmentValueChanged();\r
+  else if(evt.getSource()==gScroller)\r
+    gScroller_adjustmentValueChanged();\r
+  else if(evt.getSource()==bScroller)\r
+    bScroller_adjustmentValueChanged();\r
+}\r
+\r
   void init()\r
   {\r
     try\r
@@ -102,59 +128,59 @@ public class UserDefinedColours
 \r
     validate();\r
   }\r
-  protected void rText_actionPerformed(ActionEvent e)\r
+  protected void rText_actionPerformed()\r
   {\r
     try\r
     {\r
       int i = Integer.parseInt(rText.getText());\r
       rScroller.setValue(i);\r
-      rScroller_adjustmentValueChanged(null);\r
+      rScroller_adjustmentValueChanged();\r
     }\r
     catch (NumberFormatException ex)\r
     {}\r
   }\r
 \r
-  protected void gText_actionPerformed(ActionEvent e)\r
+  protected void gText_actionPerformed()\r
   {\r
     try\r
     {\r
       int i = Integer.parseInt(gText.getText());\r
       gScroller.setValue(i);\r
-      gScroller_adjustmentValueChanged(null);\r
+      gScroller_adjustmentValueChanged();\r
     }\r
     catch (NumberFormatException ex)\r
     {}\r
 \r
   }\r
 \r
-  protected void bText_actionPerformed(ActionEvent e)\r
+  protected void bText_actionPerformed()\r
   {\r
     try\r
     {\r
       int i = Integer.parseInt(bText.getText());\r
       bScroller.setValue(i);\r
-      bScroller_adjustmentValueChanged(null);\r
+      bScroller_adjustmentValueChanged();\r
     }\r
     catch (NumberFormatException ex)\r
     {}\r
 \r
   }\r
 \r
-  protected void rScroller_adjustmentValueChanged(AdjustmentEvent e)\r
+  protected void rScroller_adjustmentValueChanged()\r
   {\r
     R = rScroller.getValue();\r
     rText.setText(R + "");\r
     colourChanged();\r
   }\r
 \r
-  protected void gScroller_adjustmentValueChanged(AdjustmentEvent e)\r
+  protected void gScroller_adjustmentValueChanged()\r
   {\r
     G = gScroller.getValue();\r
     gText.setText(G + "");\r
     colourChanged();\r
   }\r
 \r
-  protected void bScroller_adjustmentValueChanged(AdjustmentEvent e)\r
+  protected void bScroller_adjustmentValueChanged()\r
   {\r
     B = bScroller.getValue();\r
     bText.setText(B + "");\r
@@ -219,13 +245,13 @@ public class UserDefinedColours
     buttonPanel.add(button, null);\r
   }\r
 \r
-  protected void okButton_actionPerformed(ActionEvent e)\r
+  protected void okButton_actionPerformed()\r
   {\r
-    applyButton_actionPerformed(null);\r
+    applyButton_actionPerformed();\r
     frame.setVisible(false);\r
   }\r
 \r
-  protected void applyButton_actionPerformed(ActionEvent e)\r
+  protected void applyButton_actionPerformed()\r
   {\r
     Color[] newColours = new Color[24];\r
     for (int i = 0; i < 24; i++)\r
@@ -259,7 +285,7 @@ public class UserDefinedColours
   }\r
 \r
 \r
-  protected void cancelButton_actionPerformed(ActionEvent e)\r
+  protected void cancelButton_actionPerformed()\r
   {\r
 \r
     Color[] newColours = new Color[24];\r
@@ -316,25 +342,13 @@ public class UserDefinedColours
       gridLayout.setRows(4);\r
       okButton.setFont(new java.awt.Font("Verdana", 0, 11));\r
       okButton.setLabel("OK");\r
-      okButton.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  okButton_actionPerformed(e);\r
-              }\r
-          });\r
+      okButton.addActionListener(this);\r
       applyButton.setFont(new java.awt.Font("Verdana", 0, 11));\r
       applyButton.setLabel("Apply");\r
-      applyButton.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  applyButton_actionPerformed(e);\r
-              }\r
-          });\r
+      applyButton.addActionListener(this);\r
       cancelButton.setFont(new java.awt.Font("Verdana", 0, 11));\r
       cancelButton.setLabel("Cancel");\r
-      cancelButton.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  cancelButton_actionPerformed(e);\r
-              }\r
-          });\r
+      cancelButton.addActionListener(this);\r
       this.setBackground(new Color(212, 208, 223));\r
       jPanel2.setBounds(new Rectangle(0, 265, 400, 35));\r
       buttonPanel.setBounds(new Rectangle(0, 123, 400, 142));\r
@@ -344,22 +358,14 @@ public class UserDefinedColours
       rScroller.setUnitIncrement(1);\r
   rScroller.setVisibleAmount(1);\r
   rScroller.setBounds(new Rectangle(36, 27, 119, 19));\r
-  rScroller.addAdjustmentListener(new java.awt.event.AdjustmentListener() {\r
-              public void adjustmentValueChanged(AdjustmentEvent e) {\r
-                  rScroller_adjustmentValueChanged(e);\r
-              }\r
-          });\r
+  rScroller.addAdjustmentListener(this);\r
   label1.setAlignment(Label.RIGHT);\r
   label1.setText("R");\r
   label1.setBounds(new Rectangle(19, 30, 16, 15));\r
   rText.setFont(new java.awt.Font("Dialog", Font.PLAIN, 10));\r
   rText.setText("0        ");\r
   rText.setBounds(new Rectangle(156, 27, 53, 19));\r
-  rText.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  rText_actionPerformed(e);\r
-              }\r
-          });\r
+  rText.addActionListener(this);\r
   label4.setAlignment(Label.RIGHT);\r
   label4.setText("G");\r
   label4.setBounds(new Rectangle(15, 56, 20, 15));\r
@@ -369,19 +375,11 @@ public class UserDefinedColours
       gScroller.setUnitIncrement(1);\r
   gScroller.setVisibleAmount(1);\r
   gScroller.setBounds(new Rectangle(35, 52, 120, 20));\r
-  gScroller.addAdjustmentListener(new java.awt.event.AdjustmentListener() {\r
-              public void adjustmentValueChanged(AdjustmentEvent e) {\r
-                  gScroller_adjustmentValueChanged(e);\r
-              }\r
-          });\r
+  gScroller.addAdjustmentListener(this);\r
   gText.setFont(new java.awt.Font("Dialog", Font.PLAIN, 10));\r
   gText.setText("0        ");\r
   gText.setBounds(new Rectangle(156, 52, 53, 20));\r
-  gText.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  gText_actionPerformed(e);\r
-              }\r
-          });\r
+  gText.addActionListener(this);\r
   label5.setAlignment(Label.RIGHT);\r
   label5.setText("B");\r
   label5.setBounds(new Rectangle(14, 82, 20, 15));\r
@@ -391,19 +389,11 @@ public class UserDefinedColours
       bScroller.setUnitIncrement(1);\r
   bScroller.setVisibleAmount(1);\r
   bScroller.setBounds(new Rectangle(35, 78, 120, 20));\r
-  bScroller.addAdjustmentListener(new java.awt.event.AdjustmentListener() {\r
-              public void adjustmentValueChanged(AdjustmentEvent e) {\r
-                  bScroller_adjustmentValueChanged(e);\r
-              }\r
-          });\r
+  bScroller.addAdjustmentListener(this);\r
   bText.setFont(new java.awt.Font("Dialog", Font.PLAIN, 10));\r
   bText.setText("0        ");\r
   bText.setBounds(new Rectangle(157, 78, 52, 20));\r
-  bText.addActionListener(new java.awt.event.ActionListener() {\r
-              public void actionPerformed(ActionEvent e) {\r
-                  bText_actionPerformed(e);\r
-              }\r
-          });\r
+  bText.addActionListener(this);\r
   target.setBackground(Color.black);\r
       target.setBounds(new Rectangle(229, 26, 134, 79));\r
       this.add(jPanel2, null);\r