Modified for wrappingAlignment
[jalview.git] / src / jalview / gui / IdCanvas.java
index 1bf5cc6..11d99d8 100755 (executable)
@@ -56,70 +56,25 @@ public class IdCanvas extends JPanel
 \r
     //Which ids are we printing\r
     int starty = av.getStartSeq();\r
-    int endy   = av.getEndSeq();\r
+    int endy   = da.getHeight();\r
 \r
     if (av.getWrapAlignment())\r
     {\r
-       starty = starty%av.getChunkHeight();\r
+          // Draw the rest of the panels\r
+          int chunkHeight =  (da.getHeight() + 2)*av.charHeight;\r
+          int row = av.getStartRes() / av.chunkWidth ;\r
+          for(int ypos=2*av.charHeight;\r
+              ypos <= getHeight() && row*av.chunkWidth<da.getWidth();\r
+              ypos += chunkHeight, row++ )\r
+          {\r
+            for (int i = starty; i < endy; i++)\r
+            {\r
+              SequenceI s = da.getSequenceAt(i);\r
+              drawIdString(gg, s, i, 0, ypos);\r
+            }\r
+          }\r
 \r
-       int ypos     = 0;\r
-       int rowstart = starty;\r
 \r
-       if (starty == 0)\r
-           ypos = 2*charHeight;\r
-       else if (starty == 1)\r
-       {\r
-           starty = 0;\r
-           ypos = charHeight;\r
-       }\r
-\r
-       endy   = starty + da.getHeight();\r
-\r
-       if (endy > da.getHeight()) {\r
-           endy = da.getHeight();\r
-       }\r
-\r
-       for (int i = starty; i < endy; i++) {\r
-         SequenceI s = da.getSequenceAt(i);\r
-         drawIdString(gg,s,i,starty,ypos);\r
-       }\r
-       if (rowstart == 0) {\r
-           ypos   = ypos +  av.getChunkHeight();\r
-       } else if (rowstart == 1) {\r
-           ypos   = ypos +  av.getChunkHeight();\r
-       } else {\r
-           ypos   = ypos +  av.getChunkHeight() - rowstart*charHeight;\r
-       }\r
-\r
-       starty = 0;\r
-\r
-       int chunkwidth = av.getChunkWidth();\r
-       int startx = (int)(av.getEndSeq()/chunkwidth)*chunkwidth;\r
-       int endx   = startx + chunkwidth;\r
-\r
-\r
-       while (ypos <= getHeight() && endx < da.getWidth()) {\r
-\r
-           for (int i = starty; i < endy; i++) {\r
-             SequenceI s = da.getSequenceAt(i);\r
-             drawIdString(gg,s,i,starty,ypos);\r
-           }\r
-\r
-           ypos   += av.getChunkHeight();\r
-           startx += chunkwidth;\r
-           endx = startx + chunkwidth;\r
-\r
-           if (endx > da.getWidth()) {\r
-               endx = da.getWidth();\r
-           }\r
-\r
-           starty = 0;\r
-\r
-           if (endy > da.getHeight()) {\r
-               endy = da.getHeight();\r
-           }\r
-\r
-       }\r
     } else\r
     {\r
 \r