show non-positional features with same code as positonal features using SeqPanel...
authorjprocter <Jim Procter>
Tue, 9 Sep 2008 11:14:08 +0000 (11:14 +0000)
committerjprocter <Jim Procter>
Tue, 9 Sep 2008 11:14:08 +0000 (11:14 +0000)
src/jalview/gui/IdPanel.java

index a325618..3e48a14 100755 (executable)
@@ -43,7 +43,8 @@ public class IdPanel extends JPanel implements MouseListener,
   protected AlignmentPanel alignPanel;
 
   ScrollThread scrollThread = null;
-
+  String linkImageURL;
+  
   int offy;
 
   // int width;
@@ -64,6 +65,7 @@ public class IdPanel extends JPanel implements MouseListener,
     this.av = av;
     alignPanel = parent;
     idCanvas = new IdCanvas(av);
+    linkImageURL = getClass().getResource("/images/link.gif").toString();
     setLayout(new BorderLayout());
     add(idCanvas, BorderLayout.CENTER);
     addMouseListener(this);
@@ -111,25 +113,18 @@ public class IdPanel extends JPanel implements MouseListener,
       // ADD NON POSITIONAL SEQUENCE INFO
       SequenceFeature[] features = sequence.getDatasetSequence()
               .getSequenceFeatures();
+      SequenceFeature[] tfeat = new SequenceFeature[1];
       if (av.isShowNpFeats() && features != null)
       {
         for (int i = 0; i < features.length; i++)
         {
           if (features[i].begin == 0 && features[i].end == 0)
           {
-            tip.append("<br>");
             int sz = -tip.length();
-            boolean nl=false;
-            if (features[i].getFeatureGroup()!=null) { tip.append(features[i].getFeatureGroup()); nl=true;};
-            if (features[i].getType()!=null) { tip.append(" "); tip.append(features[i].getType()); nl=true;};
-            if (features[i].getDescription()!=null) { tip.append(" "); tip.append(features[i].getDescription()); nl=true;};
-            if (features[i].getScore()!=Float.NaN && features[i].getScore()!=0f) { tip.append(" Score = "); tip.append(features[i].getScore()); nl=true;};
-            if (features[i].getStatus()!=null && features[i].getStatus().length()>0) { tip.append(" ("); tip.append(features[i].getStatus()); tip.append(")");nl=true;};
-            if (nl) {
-              sz+=tip.length();
-              tip.append("<br>");
-              maxWidth = Math.max(maxWidth, sz);
-            }
+            tfeat[0] = features[i];
+            SeqPanel.appendFeatures(tip, linkImageURL, 0, tfeat);
+            sz+=tip.length();
+            maxWidth = Math.max(maxWidth, sz);
           }
         }
       }