minor formatting of tooltip
[jalview.git] / src / jalview / gui / SeqPanel.java
index 0b9af01..aaad2ae 100755 (executable)
@@ -86,20 +86,20 @@ public class SeqPanel
    * @param avp DOCUMENT ME!\r
    * @param p DOCUMENT ME!\r
    */\r
-  public SeqPanel(AlignViewport avp, AlignmentPanel p)\r
+  public SeqPanel(AlignViewport av, AlignmentPanel ap)\r
   {\r
     linkImageURL = getClass().getResource("/images/link.gif");\r
     ToolTipManager.sharedInstance().registerComponent(this);\r
     ToolTipManager.sharedInstance().setInitialDelay(0);\r
     ToolTipManager.sharedInstance().setDismissDelay(10000);\r
-    this.av = avp;\r
+    this.av = av;\r
     setBackground(Color.white);\r
 \r
-    seqCanvas = new SeqCanvas(avp);\r
+    seqCanvas = new SeqCanvas(ap);\r
     setLayout(new BorderLayout());\r
     add(seqCanvas, BorderLayout.CENTER);\r
 \r
-    ap = p;\r
+    this.ap = ap;\r
 \r
     if (!av.isDataset())\r
     {\r
@@ -204,6 +204,13 @@ public class SeqPanel
           continue;\r
         }\r
 \r
+        if (features[i].featureGroup != null\r
+           && seqCanvas.fr.featureGroups!=null\r
+            && seqCanvas.fr.featureGroups.containsKey(features[i].featureGroup)\r
+            && !((Boolean)seqCanvas.fr.featureGroups.get(features[i].featureGroup)).booleanValue())\r
+          continue;\r
+\r
+\r
         if ( (features[i].getBegin() <= res) &&\r
             (features[i].getEnd() >= res))\r
         {\r
@@ -213,36 +220,11 @@ public class SeqPanel
     }\r
 \r
     features = new SequenceFeature[tmp.size()];\r
-    for (int i = 0; i < tmp.size(); i++)\r
-    {\r
-      features[i] = (SequenceFeature) tmp.elementAt(i);\r
-    }\r
+    tmp.copyInto(features);\r
 \r
     return features;\r
   }\r
 \r
-  Vector getAllFeaturesAtRes(SequenceI seq, int res)\r
-  {\r
-    Vector allFeatures = new Vector();\r
-    int index = 0;\r
-    if (seq.getSequenceFeatures() != null && av.featuresDisplayed != null)\r
-    {\r
-      while (index < seq.getSequenceFeatures().length)\r
-      {\r
-        SequenceFeature sf = seq.getSequenceFeatures()[index];\r
-        if (sf.getBegin() <= res &&\r
-            sf.getEnd() >= res)\r
-        {\r
-          if (av.featuresDisplayed.containsKey(sf.getType()))\r
-          {\r
-            allFeatures.addElement(sf);\r
-          }\r
-        }\r
-        index++;\r
-      }\r
-    }\r
-    return allFeatures;\r
-  }\r
 \r
   void endEditing()\r
   {\r
@@ -534,8 +516,6 @@ public class SeqPanel
     }\r
 \r
     endEditing();\r
-\r
-    ap.paintAlignment(true);\r
   }\r
 \r
   /**\r
@@ -1486,17 +1466,16 @@ public class SeqPanel
 \r
     if (javax.swing.SwingUtilities.isRightMouseButton(evt))\r
     {\r
-      Vector allFeatures = getAllFeaturesAtRes(sequence.getDatasetSequence(),\r
+      SequenceFeature [] allFeatures = findFeaturesAtRes(sequence.getDatasetSequence(),\r
                                                sequence.findPosition(res));\r
       Vector links = new Vector();\r
-      for (int i = 0; i < allFeatures.size(); i++)\r
+      for (int i = 0; i < allFeatures.length; i++)\r
       {\r
-        SequenceFeature sf = (SequenceFeature) allFeatures.elementAt(i);\r
-        if (sf.links != null)\r
+        if (allFeatures[i].links != null)\r
         {\r
-          for (int j = 0; j < sf.links.size(); j++)\r
+          for (int j = 0; j < allFeatures[i].links.size(); j++)\r
           {\r
-            links.addElement(sf.links.elementAt(j));\r
+            links.addElement(allFeatures[i].links.elementAt(j));\r
           }\r
         }\r
       }\r
@@ -1594,13 +1573,14 @@ public class SeqPanel
         SliderPanel.setPIDSliderSource(ap, stretchGroup.cs,\r
                                        stretchGroup.getName());\r
       }\r
+      PaintRefresher.Refresh(this, av.getSequenceSetId());\r
+      ap.paintAlignment(true);\r
     }\r
+\r
     changeEndRes = false;\r
     changeStartRes = false;\r
     stretchGroup = null;\r
 \r
-    PaintRefresher.Refresh(this, av.getSequenceSetId());\r
-    ap.paintAlignment(true);\r
   }\r
 \r
   /**\r