No need for viewport or colourtext in renderer
authoramwaterhouse <Andrew Waterhouse>
Tue, 16 Nov 2004 15:21:03 +0000 (15:21 +0000)
committeramwaterhouse <Andrew Waterhouse>
Tue, 16 Nov 2004 15:21:03 +0000 (15:21 +0000)
src/jalview/gui/RendererI.java
src/jalview/gui/SeqCanvas.java

index 81c5612..6c325fa 100755 (executable)
@@ -9,6 +9,6 @@ public interface RendererI {
 \r
     public Color getResidueBoxColour(ColourSchemeI cs, SequenceI seq, int i);\r
 \r
-    public void drawSequence(Graphics g,ColourSchemeI cs,SequenceI seq,int start, int end, int x1, int y1, double width, int  height,boolean showScores, boolean displayBoxes, boolean displayText,Vector pid, int seqnum,AlignViewport av);\r
+    public void drawSequence(Graphics g,ColourSchemeI cs,SequenceI seq,int start, int end, int x1, int y1, double width, int  height,boolean showScores, boolean displayBoxes, boolean displayText,boolean colourText, Vector pid, int seqnum);\r
 \r
 }\r
index 1339988..4e287b1 100755 (executable)
@@ -29,9 +29,9 @@ public class SeqCanvas extends JPanel
     int chunkWidth;\r
 \r
     Graphics debugG;\r
-    FeatureRenderer fr = new FeatureRenderer();\r
-    BlockRenderer   br = new BlockRenderer();\r
-    CpGRenderer     cgr = new CpGRenderer();\r
+   // FeatureRenderer fr = new FeatureRenderer();\r
+  //  BlockRenderer   br = new BlockRenderer();\r
+  //  CpGRenderer     cgr = new CpGRenderer();\r
 \r
     ColourSchemeI    cs = new ZappoColourScheme();\r
 \r
@@ -114,7 +114,7 @@ public class SeqCanvas extends JPanel
     if (oldendx == -1) {\r
       fillBackground(gg,Color.WHITE,0,0,imgWidth,imgHeight);\r
 \r
-     /* if (av.getWrapAlignment() == true) {\r
+     if (av.getWrapAlignment()) {\r
          startx = (int)(offy/chunkWidth)*chunkWidth;\r
          endx   = startx + chunkWidth;\r
          starty = offy%chunkHeight;\r
@@ -178,7 +178,9 @@ public class SeqCanvas extends JPanel
              }\r
 \r
          }\r
-      } else*/ {\r
+      }\r
+      else\r
+      {\r
          drawPanel(gg,startx,endx,starty,endy,startx,starty,0);\r
 \r
          oldstartx = startx;\r
@@ -265,6 +267,11 @@ public class SeqCanvas extends JPanel
     }\r
 \r
 \r
+    gg.setColor(Color.red);\r
+    gg.drawRect( groupX, groupY, groupendX-groupX, groupendY-groupY );\r
+    gg.drawRect( groupX+1, groupY+1, groupendX-groupX-2, groupendY-groupY-2 );\r
+\r
+\r
     g.drawImage(img,0,0,this);\r
 \r
   }\r
@@ -291,15 +298,11 @@ public class SeqCanvas extends JPanel
 \r
 \r
     /*Vector    pid    = av.getConsensus(false);\r
-\r
     Vector tmpseq = new Vector();\r
-\r
     for (int i = 0; i < av.getAlignment().getHeight(); i++)\r
        if (!av.getSelection().contains(av.getAlignment().getSequenceAt(i)))\r
            tmpseq.addElement(av.getAlignment().getSequenceAt(i));\r
 \r
-\r
-\r
     if (sr instanceof SequenceRenderer)\r
        pid    = AAFrequency.calculate(tmpseq,x1,x2);\r
 \r
@@ -310,21 +313,22 @@ public class SeqCanvas extends JPanel
 \r
 */\r
 \r
-    if (y2 > starty && y1 < av.getEndSeq()) {\r
-\r
-    fillBackground(g,\r
-                   Color.white,\r
+    if (y2 > starty && y1 < av.getEndSeq())\r
+    {\r
+       fillBackground(g,\r
+                   Color.WHITE,\r
                    (int)((x1-startx)*charWidth),\r
                    offset + AlignmentUtil.getPixelHeight(starty,y1,av.getCharHeight()),\r
                    (int)((x2-x1+1)*charWidth),\r
                    offset + AlignmentUtil.getPixelHeight(y1,y2,av.getCharHeight()));\r
     }\r
 \r
-    for (int i = y1 ; i < y2 ;i++) {\r
-\r
+    SequenceI nextSeq;\r
+    SequenceGroup group;\r
+    for (int i = y1 ; i < y2 ;i++)\r
+    {\r
       RendererI r = sr;\r
-/*\r
-      if (av.getSelection().contains(av.getAlignment().getSequenceAt(i))) {\r
+    /*  if (av.getSelection().contains(av.getAlignment().getSequenceAt(i))) {\r
           r = fr;\r
           System.out.println("use feature renderer");\r
       } else if ( i == 0) {\r
@@ -334,18 +338,38 @@ public class SeqCanvas extends JPanel
           System.out.println("cg renderer");\r
       }\r
 */\r
-\r
-      r.drawSequence(g,cs,av.getAlignment().getSequenceAt(i),\r
+     nextSeq = av.getAlignment().getSequenceAt(i);\r
+     group = av.alignment.findGroup( nextSeq );\r
+     if( group!=null )\r
+     {\r
+       r.drawSequence(g, group.cs, nextSeq,\r
                       x1,\r
                       x2,\r
-                      (int)((x1-startx)*charWidth),\r
-                      offset + AlignmentUtil.getPixelHeight(starty,i,av.getCharHeight()),\r
-                      charWidth,\r
-                      charHeight,showScores,av.getShowBoxes(),av.getShowText(),null,i,av);\r
+                      (int) ( (x1 - startx) * charWidth),\r
+                      offset + AlignmentUtil.getPixelHeight(starty, i, av.getCharHeight()),\r
+                      charWidth, charHeight,\r
+                      false, group.getDisplayBoxes(), group.getDisplayText(), group.getColourText(),\r
+                      null, i);\r
+     }\r
+     else\r
+     {\r
+       r.drawSequence(g, cs, nextSeq,\r
+                      x1,\r
+                      x2,\r
+                      (int) ( (x1 - startx) * charWidth),\r
+                      offset + AlignmentUtil.getPixelHeight(starty, i, av.getCharHeight()),\r
+                      charWidth,charHeight,\r
+                      showScores, av.getShowBoxes(),  av.getShowText(), av.getColourText(),\r
+                      null, i);\r
+\r
+     }\r
+\r
 \r
     }\r
+\r
   }\r
 \r
+  public int groupX, groupY, groupendX, groupendY;\r
 \r
 \r
   public void fillBackground(Graphics g,Color c, int x1,int y1,int width,int height) {\r