git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
historyitem added
[jalview.git]
/
src
/
jalview
/
gui
/
SeqPanel.java
diff --git
a/src/jalview/gui/SeqPanel.java
b/src/jalview/gui/SeqPanel.java
index
c43acf9
..
ca09c97
100755
(executable)
--- a/
src/jalview/gui/SeqPanel.java
+++ b/
src/jalview/gui/SeqPanel.java
@@
-15,6
+15,8
@@
public class SeqPanel extends JPanel
\r
protected int lastres;
\r
protected int startseq;
\r
\r
protected int lastres;
\r
protected int startseq;
\r
+ int startEdit=-1;
\r
+ int endEdit=-1;
\r
\r
protected AlignViewport av;
\r
\r
\r
protected AlignViewport av;
\r
\r
@@
-24,6
+26,9
@@
public class SeqPanel extends JPanel
ScrollThread scrollThread = null;
\r
boolean mouseDragging = false;
\r
\r
ScrollThread scrollThread = null;
\r
boolean mouseDragging = false;
\r
\r
+ boolean editingSeqs = false;
\r
+ boolean groupEditing = false;
\r
+
\r
\r
public SeqPanel(AlignViewport avp, AlignmentPanel p) {
\r
this.av = avp;
\r
\r
public SeqPanel(AlignViewport avp, AlignmentPanel p) {
\r
this.av = avp;
\r
@@
-46,7
+51,7
@@
public class SeqPanel extends JPanel
{
\r
if(av.getWrapAlignment())
\r
return;
\r
{
\r
if(av.getWrapAlignment())
\r
return;
\r
- if(evt.isShiftDown() || evt.isAltDown() || evt.isControlDown())
\r
+ if( editingSeqs )
\r
doMouseDragged(evt);
\r
else
\r
doMouseDraggedDefineMode(evt);
\r
doMouseDragged(evt);
\r
else
\r
doMouseDraggedDefineMode(evt);
\r
@@
-59,32
+64,37
@@
public class SeqPanel extends JPanel
{
\r
if(av.getWrapAlignment())
\r
return;
\r
{
\r
if(av.getWrapAlignment())
\r
return;
\r
- if(evt.isShiftDown() || evt.isAltDown() || evt.isControlDown())
\r
+ if(editingSeqs)
\r
doMouseReleased(evt);
\r
else
\r
doMouseReleasedDefineMode(evt);
\r
doMouseReleased(evt);
\r
else
\r
doMouseReleasedDefineMode(evt);
\r
+
\r
}
\r
public void mousePressed(MouseEvent evt)
\r
{
\r
if(av.getWrapAlignment())
\r
return;
\r
if(evt.isShiftDown() || evt.isAltDown() || evt.isControlDown())
\r
}
\r
public void mousePressed(MouseEvent evt)
\r
{
\r
if(av.getWrapAlignment())
\r
return;
\r
if(evt.isShiftDown() || evt.isAltDown() || evt.isControlDown())
\r
+ {
\r
+ if(evt.isAltDown() || evt.isControlDown())
\r
+ groupEditing = true;
\r
+
\r
+ editingSeqs = true;
\r
doMousePressed(evt);
\r
doMousePressed(evt);
\r
+ }
\r
else
\r
doMousePressedDefineMode(evt);
\r
}
\r
public void mouseExited(MouseEvent evt)
\r
{
\r
else
\r
doMousePressedDefineMode(evt);
\r
}
\r
public void mouseExited(MouseEvent evt)
\r
{
\r
- if (av.getWrapAlignment() || evt.isShiftDown() || evt.isAltDown() ||
\r
- evt.isControlDown())
\r
+ if (av.getWrapAlignment() || editingSeqs)
\r
return;
\r
doMouseExitedDefineMode(evt);
\r
\r
}
\r
public void mouseEntered(MouseEvent evt)
\r
{
\r
return;
\r
doMouseExitedDefineMode(evt);
\r
\r
}
\r
public void mouseEntered(MouseEvent evt)
\r
{
\r
- if (av.getWrapAlignment() || evt.isShiftDown() || evt.isAltDown() ||
\r
- evt.isControlDown())
\r
+ if (av.getWrapAlignment() || editingSeqs)
\r
return;
\r
doMouseEnteredDefineMode(evt);
\r
}
\r
return;
\r
doMouseEnteredDefineMode(evt);
\r
}
\r
@@
-96,18
+106,23
@@
public class SeqPanel extends JPanel
\r
public void doMouseReleased(MouseEvent evt) {
\r
\r
\r
public void doMouseReleased(MouseEvent evt) {
\r
\r
- startseq = -1;
\r
- lastres = -1;
\r
if(seqEditOccurred>-1)
\r
if(seqEditOccurred>-1)
\r
- updateConservation(seqEditOccurred);
\r
+ editOccurred(seqEditOccurred);
\r
\r
\r
+ startseq = -1;
\r
+ lastres = -1;
\r
seqEditOccurred = -1;
\r
seqEditOccurred = -1;
\r
+ editingSeqs = false;
\r
+ groupEditing = false;
\r
\r
ap.repaint();
\r
}
\r
\r
public void doMousePressed(MouseEvent evt) {
\r
\r
ap.repaint();
\r
}
\r
\r
public void doMousePressed(MouseEvent evt) {
\r
- ap.alignFrame.addHistoryItem("sequence edit");
\r
+
\r
+ ap.alignFrame.addHistoryItem( new HistoryItem(
\r
+ "Edit Sequence",av.alignment, HistoryItem.EDIT));
\r
+
\r
int seq;
\r
int res;
\r
\r
int seq;
\r
int res;
\r
\r
@@
-120,14
+135,8
@@
public class SeqPanel extends JPanel
if (seq < av.getAlignment().getHeight() &&
\r
res < av.getAlignment().getSequenceAt(seq).getLength())
\r
{
\r
if (seq < av.getAlignment().getHeight() &&
\r
res < av.getAlignment().getSequenceAt(seq).getLength())
\r
{
\r
- //char resstr = align.getSequenceAt(seq).getSequence().charAt(res);
\r
- // Find the residue's position in the sequence (res is the position
\r
- // in the alignment
\r
-
\r
startseq = seq;
\r
startseq = seq;
\r
-
\r
lastres = res;
\r
lastres = res;
\r
-
\r
}
\r
else
\r
{
\r
}
\r
else
\r
{
\r
@@
-135,6
+144,9
@@
public class SeqPanel extends JPanel
lastres = -1;
\r
}
\r
\r
lastres = -1;
\r
}
\r
\r
+ startEdit = lastres;
\r
+ endEdit = lastres;
\r
+
\r
return;
\r
}
\r
\r
return;
\r
}
\r
\r
@@
-227,10
+239,10
@@
public class SeqPanel extends JPanel
\r
if (res != lastres)
\r
{
\r
\r
if (res != lastres)
\r
{
\r
- // Group editing
\r
- if (evt.isAltDown() || evt.isControlDown())
\r
+ // Group editing
\r
+ if (groupEditing)
\r
{
\r
{
\r
- SequenceGroup sg = av.getSelectionGroup();
\r
+ SequenceGroup sg = av.getSelectionGroup();
\r
if(sg==null)
\r
{
\r
lastres=-1;
\r
if(sg==null)
\r
{
\r
lastres=-1;
\r
@@
-310,13
+322,22
@@
public class SeqPanel extends JPanel
// dragging to the left
\r
for (int j = lastres; j > res; j--)
\r
{
\r
// dragging to the left
\r
for (int j = lastres; j > res; j--)
\r
{
\r
+ if( jalview.util.Comparison.isGap(
\r
+ av.alignment.getSequenceAt(startseq).getSequence().charAt(res)))
\r
+
\r
deleteChar(res, startseq);
\r
deleteChar(res, startseq);
\r
+ else
\r
+ {
\r
+
\r
+ break;
\r
+ }
\r
}
\r
}
\r
- }
\r
+ }
\r
\r
\r
- }
\r
+ }
\r
}
\r
\r
}
\r
\r
+ endEdit = res;
\r
lastres = res;
\r
repaint();
\r
}
\r
lastres = res;
\r
repaint();
\r
}
\r
@@
-334,21
+355,22
@@
public class SeqPanel extends JPanel
\r
public void deleteChar(int j, int seq)
\r
{
\r
\r
public void deleteChar(int j, int seq)
\r
{
\r
+ av.alignment.getSequenceAt(seq).deleteCharAt(j);
\r
+ seqEditOccurred=seq;
\r
\r
\r
- if ( jalview.util.Comparison.isGap( av.alignment.getSequenceAt(seq).getSequence().charAt(j)))
\r
- { av.alignment.getSequenceAt(seq).deleteCharAt(j);
\r
-
\r
- }
\r
- else System.out.println("err "+seq+" "+j);
\r
av.alignment.getWidth();
\r
repaint();
\r
av.alignment.getWidth();
\r
repaint();
\r
- seqEditOccurred=seq;
\r
-
\r
}
\r
\r
\r
}
\r
\r
\r
- void updateConservation(int i)
\r
+ void editOccurred(int i)
\r
{
\r
{
\r
+ if(endEdit==startEdit)
\r
+ {
\r
+ ap.alignFrame.historyList.pop();
\r
+ ap.alignFrame.updateEditMenuBar();
\r
+ }
\r
+
\r
av.updateConservation();
\r
av.updateConsensus();
\r
\r
av.updateConservation();
\r
av.updateConsensus();
\r
\r
@@
-440,6
+462,7
@@
public class SeqPanel extends JPanel
// Edit end res position of selected group
\r
changeStartRes = true;
\r
\r
// Edit end res position of selected group
\r
changeStartRes = true;
\r
\r
+ stretchGroup.getWidth();
\r
\r
repaint();
\r
\r
\r
repaint();
\r
\r