3030import java .util .List ;
3131
3232/**
33- * Mouse Motion Listener for the {@link MultipleAligPanel}, which provides methods to obtain
34- * positions of the mouse and connect them to the sequence alignment positions using the information
35- * in {@link MultipleAlignmentCoordManager}.
33+ * Mouse Motion Listener for the {@link MultipleAligPanel},
34+ * which provides methods to obtain positions of the mouse
35+ * and connect them to the sequence alignment positions using
36+ * the information in {@link MultipleAlignmentCoordManager}.
3637 *
3738 * @author Aleix Lafita
3839 *
3940 */
40- public class MultipleAligPanelMouseMotionListener implements MouseMotionListener , MouseListener {
41+ public class MultipleAligPanelMouseMotionListener
42+ implements MouseMotionListener , MouseListener {
4143
4244 private MultipleAligPanel parent ;
4345 private List <AlignmentPositionListener > aligPosListeners ;
@@ -64,48 +66,51 @@ public void addAligPosListener(AlignmentPositionListener li){
6466
6567 @ Override
6668 public void mouseDragged (MouseEvent e ) {
67-
69+
6870 AlignedPosition pos = getCurrentAlignedPosition (e );
69-
71+
7072 if (pos == null ) return ;
7173 if (prevPos == pos .getPos1 () && isDragging ) return ;
7274
7375 if (!isDragging ) {
7476 isDragging = true ;
7577 setSelectionLock (true );
7678 }
77-
79+
7880 if (selectionStart == null ) selectionStart = pos ;
7981 if (selectionEnd == null ) selectionEnd = pos ;
8082
8183 if (pos .getPos1 () <= selectionStart .getPos1 ()) selectionStart = pos ;
8284 else selectionEnd = pos ;
83-
84- if (!keyPressed (e )) triggerRangeSelected (selectionStart , selectionEnd );
85- else triggerRangeSelected (selectionStart , selectionEnd );
86-
85+
86+ if (!keyPressed (e )) {
87+ triggerRangeSelected (selectionStart , selectionEnd );
88+ } else triggerRangeSelected (selectionStart , selectionEnd );
89+
8790 prevPos = pos .getPos1 ();
8891 }
8992
9093 private boolean keyPressed (MouseEvent e ) {
91- if (e .isShiftDown () || e .isControlDown () || e .isAltDown ()) return true ;
94+ if (e .isShiftDown () || e .isControlDown () || e .isAltDown ())
95+ return true ;
9296 return false ;
9397 }
9498
95- private void triggerRangeSelected (AlignedPosition start , AlignedPosition end ) {
99+ private void triggerRangeSelected (
100+ AlignedPosition start , AlignedPosition end ) {
96101 for (AlignmentPositionListener li : aligPosListeners ){
97102 li .rangeSelected (start , end );
98103 }
99104 }
100-
105+
101106 public void triggerSelectionLocked (boolean b ) {
102107 selectionLocked = b ;
103108 for (AlignmentPositionListener li : aligPosListeners ){
104109 if (b ) li .selectionLocked ();
105110 else li .selectionUnlocked ();
106111 }
107112 }
108-
113+
109114 @ Override
110115 public void mouseMoved (MouseEvent e ) {
111116 if ( selectionLocked ) return ;
@@ -121,18 +126,18 @@ private void triggerMouseOverPosition(AlignedPosition pos) {
121126 }
122127
123128 private AlignedPosition getCurrentAlignedPosition (MouseEvent e ) {
124-
129+
125130 MultipleAlignmentCoordManager coordManager = parent .getCoordManager ();
126131 int aligSeq = coordManager .getAligSeq (e .getPoint ());
127132
128133 //We are not over a position in the sequences
129134 if (aligSeq == -1 ) return null ;
130-
135+
131136 //Get sequence positions
132137 int seqPos = coordManager .getSeqPos (aligSeq , e .getPoint ());
133138 if (seqPos < 0 ) return null ;
134139 if (seqPos >= parent .length ) return null ;
135-
140+
136141 AlignedPosition pos = new AlignedPosition ();
137142 pos .setPos1 (seqPos );
138143
@@ -154,7 +159,7 @@ private void triggerToggleSelection(AlignedPosition pos) {
154159 for (AlignmentPositionListener li : aligPosListeners )
155160 li .toggleSelection (pos );
156161 }
157-
162+
158163 @ Override
159164 public void mouseEntered (MouseEvent e ) {}
160165
@@ -163,15 +168,15 @@ public void mouseExited(MouseEvent e) {}
163168
164169 @ Override
165170 public void mousePressed (MouseEvent e ) {
166-
171+
167172 selectionStart = null ;
168173 selectionEnd = null ;
169-
174+
170175 if (!keyPressed (e )) {
171-
176+
172177 setSelectionLock (false );
173178 triggerSelectionLocked (false );
174-
179+
175180 AlignedPosition pos = getCurrentAlignedPosition (e );
176181 if (pos != null ) prevPos = pos .getPos1 ();
177182 }
@@ -186,16 +191,16 @@ private void setSelectionLock(boolean flag){
186191 public void mouseReleased (MouseEvent e ) {
187192
188193 isDragging = false ;
189- //System.out.println("mouse released... " + e.isShiftDown() + " selection locked:" + selectionLocked);
190- if ( keyPressed (e )) {
194+
195+ if (keyPressed (e )) {
191196 boolean keepOn = false ;
192197 if (!selectionLocked ) keepOn = true ;
193198 setSelectionLock (true );
194-
199+
195200 // add to selection
196201 AlignedPosition pos = getCurrentAlignedPosition (e );
197- if ( pos == null ) return ;
198-
202+ if (pos == null ) return ;
203+
199204 if (keepOn ) triggerMouseOverPosition (pos );
200205 else triggerToggleSelection (pos );
201206 prevPos = pos .getPos1 ();
0 commit comments