Merge remote-tracking branch 'origin/develop' into features/JAL-2388hiddencolumnschanges
authorkiramt <k.mourao@dundee.ac.uk>
Mon, 24 Apr 2017 13:00:31 +0000 (14:00 +0100)
committerkiramt <k.mourao@dundee.ac.uk>
Mon, 24 Apr 2017 13:00:31 +0000 (14:00 +0100)
1  2 
src/jalview/appletgui/SeqCanvas.java
src/jalview/gui/SeqCanvas.java

@@@ -21,7 -21,6 +21,7 @@@
  package jalview.appletgui;
  
  import jalview.datamodel.AlignmentI;
 +import jalview.datamodel.HiddenColumns;
  import jalview.datamodel.SearchResultsI;
  import jalview.datamodel.SequenceGroup;
  import jalview.datamodel.SequenceI;
@@@ -124,17 -123,14 +124,17 @@@ public class SeqCanvas extends Pane
      ypos += avcharHeight;
      if (av.hasHiddenColumns())
      {
 -      startx = av.getColumnSelection().adjustForHiddenColumns(startx);
 -      endx = av.getColumnSelection().adjustForHiddenColumns(endx);
 +      startx = av.getAlignment().getHiddenColumns()
 +              .adjustForHiddenColumns(startx);
 +      endx = av.getAlignment().getHiddenColumns()
 +              .adjustForHiddenColumns(endx);
      }
  
      int maxwidth = av.getAlignment().getWidth();
      if (av.hasHiddenColumns())
      {
 -      maxwidth = av.getColumnSelection().findColumnPosition(maxwidth) - 1;
 +      maxwidth = av.getAlignment().getHiddenColumns()
 +              .findColumnPosition(maxwidth) - 1;
      }
  
      // WEST SCALE
  
      if (av.hasHiddenColumns())
      {
 -      endx = av.getColumnSelection().adjustForHiddenColumns(endx);
 +      endx = av.getAlignment().getHiddenColumns()
 +              .adjustForHiddenColumns(endx);
      }
  
      SequenceI seq;
  
      if (av.hasHiddenColumns())
      {
 -      maxwidth = av.getColumnSelection().findColumnPosition(maxwidth) - 1;
 +      maxwidth = av.getAlignment().getHiddenColumns()
 +              .findColumnPosition(maxwidth) - 1;
      }
  
      while ((ypos <= canvasHeight) && (startRes < maxwidth))
        }
        if (av.hasHiddenColumns() && av.getShowHiddenMarkers())
        {
 +        HiddenColumns hidden = av.getAlignment().getHiddenColumns();
          g.setColor(Color.blue);
          int res;
 -        for (int i = 0; i < av.getColumnSelection().getHiddenColumns()
 +        for (int i = 0; i < hidden.getListOfCols()
                  .size(); i++)
          {
 -          res = av.getColumnSelection().findHiddenRegionPosition(i)
 +          res = hidden.findHiddenRegionPosition(i)
                    - startRes;
  
            if (res < 0 || res > endx - startRes)
          g.setClip(0, 0, cWidth * avcharWidth, canvasHeight);
        }
  
-       drawPanel(g, startRes, endx, 0, al.getHeight(), ypos);
+       drawPanel(g, startRes, endx, 0, al.getHeight() - 1, ypos);
        g.setClip(null);
  
        if (av.isShowAnnotation())
  
        if (av.hasHiddenColumns())
        {
 -        for (int[] region : av.getColumnSelection().getHiddenColumns())
 +        HiddenColumns hidden = av.getAlignment().getHiddenColumns();
 +        for (int[] region : hidden.getListOfCols())
          {
            int hideStart = region[0];
            int hideEnd = region[1];
              g1.setColor(Color.blue);
              g1.drawLine((blockEnd - blockStart + 1) * avcharWidth - 1,
                      0 + offset, (blockEnd - blockStart + 1) * avcharWidth
-                             - 1, (endSeq - startSeq) * avcharHeight
+                             - 1, (endSeq - startSeq + 1) * avcharHeight
                              + offset);
            }
  
@@@ -21,7 -21,6 +21,7 @@@
  package jalview.gui;
  
  import jalview.datamodel.AlignmentI;
 +import jalview.datamodel.HiddenColumns;
  import jalview.datamodel.SearchResultsI;
  import jalview.datamodel.SequenceGroup;
  import jalview.datamodel.SequenceI;
@@@ -166,17 -165,14 +166,17 @@@ public class SeqCanvas extends JCompone
  
      if (av.hasHiddenColumns())
      {
 -      startx = av.getColumnSelection().adjustForHiddenColumns(startx);
 -      endx = av.getColumnSelection().adjustForHiddenColumns(endx);
 +      startx = av.getAlignment().getHiddenColumns()
 +              .adjustForHiddenColumns(startx);
 +      endx = av.getAlignment().getHiddenColumns()
 +              .adjustForHiddenColumns(endx);
      }
  
      int maxwidth = av.getAlignment().getWidth();
      if (av.hasHiddenColumns())
      {
 -      maxwidth = av.getColumnSelection().findColumnPosition(maxwidth) - 1;
 +      maxwidth = av.getAlignment().getHiddenColumns()
 +              .findColumnPosition(maxwidth) - 1;
      }
  
      // WEST SCALE
  
      if (av.hasHiddenColumns())
      {
 -      endx = av.getColumnSelection().adjustForHiddenColumns(endx);
 +      endx = av.getAlignment().getHiddenColumns()
 +              .adjustForHiddenColumns(endx);
      }
  
      SequenceI seq;
  
      if (av.hasHiddenColumns())
      {
 -      maxwidth = av.getColumnSelection().findColumnPosition(maxwidth) - 1;
 +      maxwidth = av.getAlignment().getHiddenColumns()
 +              .findColumnPosition(maxwidth) - 1;
      }
  
      while ((ypos <= canvasHeight) && (startRes < maxwidth))
        {
          g.setColor(Color.blue);
          int res;
 -        for (int i = 0; i < av.getColumnSelection().getHiddenColumns()
 -                .size(); i++)
 +        HiddenColumns hidden = av.getAlignment().getHiddenColumns();
 +        for (int i = 0; i < hidden.getListOfCols().size(); i++)
          {
 -          res = av.getColumnSelection().findHiddenRegionPosition(i)
 -                  - startRes;
 +          res = hidden.findHiddenRegionPosition(i) - startRes;
  
            if (res < 0 || res > endx - startRes)
            {
                  (int) clip.getBounds().getHeight());
        }
  
-       drawPanel(g, startRes, endx, 0, al.getHeight(), ypos);
+       drawPanel(g, startRes, endx, 0, al.getHeight() - 1, ypos);
  
        if (av.isShowAnnotation())
        {
      }
      else
      {
 -      List<int[]> regions = av.getColumnSelection().getHiddenColumns();
 +      List<int[]> regions = av.getAlignment().getHiddenColumns()
 +              .getListOfCols();
  
        int screenY = 0;
        int blockStart = startRes;
  
            g1.drawLine((blockEnd - blockStart + 1) * charWidth - 1,
                    0 + offset, (blockEnd - blockStart + 1) * charWidth - 1,
-                   (endSeq - startSeq) * charHeight + offset);
+                   (endSeq - startSeq + 1) * charHeight + offset);
          }
  
          g1.translate(-screenY * charWidth, 0);