X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FOverviewPanel.java;h=0bb939230217c52932d03ee5becfd469e8670468;hb=2a1ff16b273585d8cefe5d799a8c1e1cee20404f;hp=743d217fb10508d7b98de06e91473040b40a3156;hpb=aa6643d51133a8541dcbe30191b344aa09907a5f;p=jalview.git diff --git a/src/jalview/appletgui/OverviewPanel.java b/src/jalview/appletgui/OverviewPanel.java index 743d217..0bb9392 100755 --- a/src/jalview/appletgui/OverviewPanel.java +++ b/src/jalview/appletgui/OverviewPanel.java @@ -75,7 +75,15 @@ public class OverviewPanel extends Panel implements Runnable, sr.forOverview = true; fr = new FeatureRenderer(av); - od = new OverviewDimensions(av); + boolean showAnnotation = false; + // TODO: in applet this was getSequenceConsensusHash() + // check if it makes any functional difference: hconsensus or conservation + if (av.getAlignmentConservationAnnotation() == null) + { + showAnnotation = true; + } + + od = new OverviewDimensions(av, showAnnotation); setSize(new Dimension(od.getWidth(), od.getHeight())); addComponentListener(new ComponentAdapter() @@ -123,33 +131,24 @@ public class OverviewPanel extends Panel implements Runnable, @Override public void mousePressed(MouseEvent evt) { - od.setBoxX(evt.getX()); - od.setBoxY(evt.getY()); - checkValid(); + mouseAction(evt); } @Override public void mouseReleased(MouseEvent evt) { - od.setBoxX(evt.getX()); - od.setBoxY(evt.getY()); - checkValid(); + mouseAction(evt); } @Override public void mouseDragged(MouseEvent evt) { - od.setBoxX(evt.getX()); - od.setBoxY(evt.getY()); - checkValid(); + mouseAction(evt); } - /** - * Check box dimensions and scroll positions and correct if necessary - */ - private void checkValid() + private void mouseAction(MouseEvent evt) { - od.checkValid(); + od.updateViewportFromMouse(evt.getX(), evt.getY()); ap.setScrollValues(od.getScrollCol(), od.getScrollRow()); ap.paintAlignment(false); } @@ -207,11 +206,10 @@ public class OverviewPanel extends Panel implements Runnable, Graphics mg = miniMe.getGraphics(); - od.updateScales(); + // od.updateScales(); int alwidth = av.getAlignment().getWidth(); - int alheight = av.getAlignment().getHeight() - + av.getAlignment().getHiddenSequences().getSize(); + int alheight = av.getAlignment().getAbsoluteHeight(); float sampleCol = alwidth / (float) od.getWidth(); float sampleRow = alheight / (float) od.getSequencesHeight(); @@ -254,7 +252,7 @@ public class OverviewPanel extends Panel implements Runnable, int sameCol = 0; jalview.datamodel.SequenceI seq = null; - final boolean hasHiddenRows = av.hasHiddenRows(); + final boolean hasHiddenCols = av.hasHiddenColumns(); boolean hiddenRow = false; @@ -263,33 +261,13 @@ public class OverviewPanel extends Panel implements Runnable, if ((int) (row * sampleRow) == lastrow) { sameRow++; - continue; } else { - // this should largely be a method in Alignment - hiddenRow = false; - if (hasHiddenRows) - { - seq = av.getAlignment().getHiddenSequences() - .getHiddenSequence(lastrow); - if (seq == null) - { - int index = av.getAlignment().getHiddenSequences() - .findIndexWithoutHiddenSeqs(lastrow); - - seq = av.getAlignment().getSequenceAt(index); - } - else - { - hiddenRow = true; - } - } - else - { - seq = av.getAlignment().getSequenceAt(lastrow); - } - // end of Alignment method + // get the sequence which would be at alignment index 'lastrow' if no + // columns were hidden, and determine whether it is hidden or not + hiddenRow = av.getAlignment().isHidden(lastrow); + seq = av.getAlignment().getSequenceAtAbsoluteIndex(lastrow); for (int col = 0; col < od.getWidth(); col++) { @@ -383,10 +361,7 @@ public class OverviewPanel extends Panel implements Runnable, { og.drawImage(miniMe, 0, 0, this); og.setColor(Color.red); - og.drawRect(od.getBoxX(), od.getBoxY(), od.getBoxWidth(), - od.getBoxHeight()); - og.drawRect(od.getBoxX() + 1, od.getBoxY() + 1, od.getBoxWidth() - 2, - od.getBoxHeight() - 2); + od.drawBox(og); g.drawImage(offscreen, 0, 0, this); } }