X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FSeqPanel.java;h=a4d924073bbc11d04364c081b3d5e5b8f00135c6;hb=76b6b31c53b099a3034e0622ec78d4c2b455a309;hp=4135cb0152ff39b0df12ae5a5e3aca9543e6fd85;hpb=df9b85c1cf39894039018499fe802406cc37f209;p=jalview.git diff --git a/src/jalview/gui/SeqPanel.java b/src/jalview/gui/SeqPanel.java index 4135cb0..a4d9240 100755 --- a/src/jalview/gui/SeqPanel.java +++ b/src/jalview/gui/SeqPanel.java @@ -147,7 +147,6 @@ public class SeqPanel extends JPanel implements MouseListener, int findSeq(MouseEvent evt) { - int seq = 0; int y = evt.getY(); @@ -162,11 +161,13 @@ public class SeqPanel extends JPanel implements MouseListener, y -= hgap; - seq = ( (y % cHeight) / av.getCharHeight()); + seq = Math.min( (y % cHeight) / av.getCharHeight(), + av.alignment.getHeight() -1); } else { - seq = (y / av.getCharHeight()) + av.getStartSeq(); + seq = Math.min( (y / av.getCharHeight()) + av.getStartSeq(), + av.alignment.getHeight() -1); } return seq; @@ -820,12 +821,10 @@ public class SeqPanel extends JPanel implements MouseListener, { if(startres>=y2) { - System.out.println("left of line"); fixedLeft = y2; } else - { - System.out.println("right of line"); + { fixedRight = y2 - 1; } } @@ -876,12 +875,26 @@ public class SeqPanel extends JPanel implements MouseListener, if (!blank) { - if(sg.getSize(false) == av.alignment.getHeight()) + if(sg.getSize(false) == av.alignment.getHeight() ) { + if((av.hasHiddenColumns + && startresalWidth) + alWidth = hwidth; + } //We can still insert gaps if the selectionGroup //contains all the sequences sg.setEndRes(sg.getEndRes()+startres-lastres); - fixedRight = av.alignment.getWidth()+startres-lastres; + fixedRight = alWidth+startres-lastres; } else { @@ -964,19 +977,6 @@ public class SeqPanel extends JPanel implements MouseListener, { if (fixedColumns && fixedRight != -1) { - /*if (sg!=null && - sg.getStartRes() == 0 - && sg.getEndRes() == fixedRight - && !jalview.util.Comparison.isGap(seq.getCharAt(fixedRight))) - { - System.out.println("still here"); - //Single sequence edit, whole sequence selected, - //extend the selection group - sg.setEndRes(av.alignment.getWidth() -1 + startres - lastres); - fixedColumns = false; - insertChar(j, seq); - } - else*/ insertChar(j, seq, fixedRight); } else @@ -1033,6 +1033,7 @@ public class SeqPanel extends JPanel implements MouseListener, if (blankColumn <= j) { + blankColumn = fixedColumn; endEditing(); return; } @@ -1242,14 +1243,6 @@ public class SeqPanel extends JPanel implements MouseListener, } - if (av.cursorMode) - { - seqCanvas.cursorX = findRes(evt); - seqCanvas.cursorY = findSeq(evt); - seqCanvas.repaint(); - return; - } - if (javax.swing.SwingUtilities.isRightMouseButton(evt)) { @@ -1270,9 +1263,18 @@ public class SeqPanel extends JPanel implements MouseListener, jalview.gui.PopupMenu pop = new jalview.gui.PopupMenu(ap, null, links); pop.show(this, evt.getX(), evt.getY()); + return; + } + if (av.cursorMode) + { + seqCanvas.cursorX = findRes(evt); + seqCanvas.cursorY = findSeq(evt); + seqCanvas.repaint(); + return; } - else if (stretchGroup == null) + + if (stretchGroup == null) { //Only if left mouse button do we want to change group sizes @@ -1371,11 +1373,6 @@ public class SeqPanel extends JPanel implements MouseListener, return; } - - if(y > av.alignment.getHeight()) - { - y = av.alignment.getHeight() -1; - } if(res> av.alignment.getWidth()) { res = av.alignment.getWidth()-1;