X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FOverviewPanel.java;h=fd3c334ccb62b91e5a2e6004e275b3f6d05a5f58;hb=0a1d49ccc421184b23bcb45cee901f5313913aa1;hp=d3f513b3e263b8123469eb8da564457621af91e1;hpb=9cb18cb0f33b8c4cd8e907bf7dea7eea7f1c3394;p=jalview.git diff --git a/src/jalview/gui/OverviewPanel.java b/src/jalview/gui/OverviewPanel.java index d3f513b..fd3c334 100755 --- a/src/jalview/gui/OverviewPanel.java +++ b/src/jalview/gui/OverviewPanel.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -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 ); + } /** @@ -331,11 +281,9 @@ public class OverviewPanel extends JPanel implements Runnable seq = av.alignment.getHiddenSequences().getHiddenSequence(lastrow); if (seq == null) { - int index = av.alignment.getHiddenSequences().findIndexWithoutHiddenSeqs(lastrow); - seq = av.alignment.getSequenceAt(index); } else @@ -369,7 +317,7 @@ public class OverviewPanel extends JPanel implements Runnable seq, lastcol).getRGB(); if (av.showSequenceFeatures) - color = fr.findFeatureColour(color, lastrow, lastcol); + color = fr.findFeatureColour(color, seq, lastcol); } else { @@ -436,20 +384,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(); }