From 1c5dc1d944711fe6b6fdf5ddee60806ac364f638 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Fri, 7 Jul 2006 13:07:04 +0000 Subject: [PATCH 1/1] Corrected for hidden rows --- src/jalview/gui/OverviewPanel.java | 137 ++++++++++++++---------------------- 1 file changed, 52 insertions(+), 85 deletions(-) diff --git a/src/jalview/gui/OverviewPanel.java b/src/jalview/gui/OverviewPanel.java index d3f513b..714eec6 100755 --- a/src/jalview/gui/OverviewPanel.java +++ b/src/jalview/gui/OverviewPanel.java @@ -111,8 +111,12 @@ public class OverviewPanel extends JPanel implements Runnable { public void mouseDragged(MouseEvent evt) { - if(!av.wrapAlignment) - doMouseDragged(evt); + if (!av.wrapAlignment) + { + boxX = evt.getX(); + boxY = evt.getY(); + checkValid(); + } } }); @@ -121,91 +125,17 @@ public class OverviewPanel extends JPanel implements Runnable public void mousePressed(MouseEvent evt) { if(!av.wrapAlignment) - doMousePressed(evt); - } - - public void mouseReleased(MouseEvent evt) - { - if(!av.wrapAlignment) - doMouseReleased(evt); + { + boxX = evt.getX(); + boxY = evt.getY(); + checkValid(); + } } }); updateOverviewImage(); } - /** - * DOCUMENT ME! - * - * @param evt DOCUMENT ME! - */ - public void doMousePressed(MouseEvent evt) - { - boxX = evt.getX(); - boxY = evt.getY(); - - checkValid(); - repaint(); - } - - /** - * DOCUMENT ME! - * - * @param evt DOCUMENT ME! - */ - public void doMouseReleased(MouseEvent evt) - { - boxX = evt.getX(); - boxY = evt.getY(); - checkValid(); - - if(av.hasHiddenColumns) - { - int col = (int) ( boxX / scalew / av.getCharWidth()); - - if(av.getColumnSelection().isVisible(col)) - { - ap.setScrollValues( - av.getColumnSelection().findColumnPosition(col), - (int) (boxY / scaleh / av.getCharHeight())); - } - else - System.out.println(col +" not visible"); - } - else - ap.setScrollValues( (int) (boxX / scalew / av.getCharWidth()), - (int) (boxY / scaleh / av.getCharHeight())); - } - - /** - * DOCUMENT ME! - * - * @param evt DOCUMENT ME! - */ - public void doMouseDragged(MouseEvent evt) - { - boxX = evt.getX(); - boxY = evt.getY(); - checkValid(); - - if(av.hasHiddenColumns) - { - int col = (int) ( boxX / scalew / av.getCharWidth()); - - if(!av.getColumnSelection().isVisible(col)) - { - return; - } - - ap.setScrollValues( - av.getColumnSelection().findColumnPosition( col ), - (int) (boxY / scaleh / av.getCharHeight())); - } - else - ap.setScrollValues( (int) (boxX / scalew / av.getCharWidth()), - (int) (boxY / scaleh / av.getCharHeight())); - repaint(); - } /** * DOCUMENT ME! @@ -235,9 +165,29 @@ public class OverviewPanel extends JPanel implements Runnable boxWidth = (int) ( (av.endRes - av.startRes + 1) * av.getCharWidth() * scalew); } - boxX = width - boxWidth; } + + int col = (int) (boxX / scalew / av.getCharWidth()); + int row = (int) (boxY / scaleh / av.getCharHeight()); + + if (av.hasHiddenColumns) + { + if (!av.getColumnSelection().isVisible(col)) + { + return; + } + + col = av.getColumnSelection().findColumnPosition(col); + } + + if( av.hasHiddenRows ) + { + row = av.alignment.getHiddenSequences().findIndexWithoutHiddenSeqs(row); + } + + ap.setScrollValues( col, row ); + } /** @@ -436,20 +386,37 @@ public class OverviewPanel extends JPanel implements Runnable endRes = av.getColumnSelection().adjustForHiddenColumns(endRes); } + int startSeq = av.startSeq; + int endSeq = av.endSeq; + + if (av.hasHiddenRows) + { + startSeq = + av.alignment.getHiddenSequences().adjustForHiddenSeqs(startSeq); + + endSeq = + av.alignment.getHiddenSequences().adjustForHiddenSeqs(endSeq); + + } + scalew = (float) width / (float) fullsizeWidth; scaleh = (float) sequencesHeight / (float) fullsizeHeight; boxX = (int) (startRes * av.getCharWidth() * scalew); - boxY = (int) (av.getStartSeq() * av.getCharHeight() * scaleh); + boxY = (int) (startSeq * av.getCharHeight() * scaleh); + + if(av.hasHiddenColumns) boxWidth = (int) ((endRes - startRes + 1) * av.getCharWidth() * scalew); else boxWidth = (int) ((endRes - startRes + 1) * av.getCharWidth() * scalew); - boxHeight = (int) (av.getEndSeq() * av.getCharHeight() * scaleh) - - boxY; + + boxHeight = (int) ((endSeq - startSeq) * av.getCharHeight() * scaleh); + + repaint(); } -- 1.7.10.2