Skip to content

Commit f3c02c9

Browse files
committed
Review GUI code for MultipleAlignments
1 parent 03da5f5 commit f3c02c9

13 files changed

Lines changed: 437 additions & 397 deletions

File tree

biojava-structure-gui/src/main/java/org/biojava/nbio/structure/align/gui/MultipleAlignmentDisplay.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.awt.Dimension;
44
import java.util.ArrayList;
55
import java.util.Arrays;
6-
import java.util.Collections;
76
import java.util.List;
87

98
import javax.swing.Box;
@@ -228,7 +227,8 @@ public static MultipleAlignmentJmol display(MultipleAlignment multAln)
228227
rotatedAtoms.add(rotCA);
229228
}
230229

231-
MultipleAlignmentJmol jmol = new MultipleAlignmentJmol(multAln, rotatedAtoms);
230+
MultipleAlignmentJmol jmol =
231+
new MultipleAlignmentJmol(multAln, rotatedAtoms);
232232
jmol.setTitle(jmol.getStructure().getPDBHeader().getTitle());
233233
return jmol;
234234
}

biojava-structure-gui/src/main/java/org/biojava/nbio/structure/align/gui/MyAlignmentLoadListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
* Multiple Jmol panels can be created for that purpose.
5454
*
5555
* @author Aleix Lafita
56-
* @since 4.1.1
56+
* @version 2.0 - adapted for MultipleAlignments
5757
*
5858
*/
5959
public class MyAlignmentLoadListener implements ActionListener {

biojava-structure-gui/src/main/java/org/biojava/nbio/structure/align/gui/MyExportListener.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121

2222
import org.biojava.nbio.structure.Structure;
2323
import org.biojava.nbio.structure.align.gui.jmol.AbstractAlignmentJmol;
24-
import org.biojava.nbio.structure.align.gui.jmol.StructureAlignmentJmol;
25-
2624
import javax.swing.*;
2725

2826
import java.awt.event.ActionEvent;
@@ -57,7 +55,7 @@ public void actionPerformed(ActionEvent arg0)
5755
pw.println(s.toPDB());
5856
pw.close();
5957
} catch (IOException e){
60-
JOptionPane.showMessageDialog(null,"Could not export file. Excetion: " + e.getMessage());
58+
JOptionPane.showMessageDialog(null,"Could not export file. Exception: " + e.getMessage());
6159
}
6260

6361

biojava-structure-gui/src/main/java/org/biojava/nbio/structure/align/gui/MySaveFileListener.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@
4646
* Action: from a sequence alignment a FatCat or FASTA formats are saved,
4747
* and from a Jmol view an XML format is saved.
4848
*
49+
* @author Aleix Lafita
50+
* @version 2.0 - adapted for MultipleAligments
51+
*
4952
*/
5053
public class MySaveFileListener implements ActionListener {
5154

biojava-structure-gui/src/main/java/org/biojava/nbio/structure/align/gui/aligpanel/MultipleAligPanel.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
*
6767
*/
6868
public class MultipleAligPanel extends JPrintPanel
69-
implements AlignmentPositionListener, WindowListener {
69+
implements AlignmentPositionListener, WindowListener {
7070

7171
private static final long serialVersionUID = -6892229111166263764L;
7272

@@ -124,15 +124,15 @@ public MultipleAligPanel(){
124124
*/
125125
public MultipleAligPanel(AFPChain afpChain, Atom[] ca1, Atom[] ca2,
126126
AbstractAlignmentJmol jmol) throws StructureException {
127-
127+
128128
this();
129-
129+
130130
String algorithm = afpChain.getAlgorithmName();
131131
boolean flex = false;
132132
if (algorithm != null){
133133
if (algorithm.contains("flexible")) flex = true;
134134
}
135-
135+
136136
//Convert the apfChain into a MultipleAlignment object
137137
MultipleAlignmentEnsembleImpl ensemble =
138138
new MultipleAlignmentEnsembleImpl(afpChain, ca1, ca2, flex);

biojava-structure-gui/src/main/java/org/biojava/nbio/structure/align/gui/aligpanel/MultipleAligPanelMouseMotionListener.java

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,16 @@
3030
import 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

Comments
 (0)