git://source.jalview.org
/
jalview.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
17db615
)
fixed column selection cut/paste and self paste.
author
jprocter
<Jim Procter>
Thu, 19 Apr 2007 15:23:18 +0000
(15:23 +0000)
committer
jprocter
<Jim Procter>
Thu, 19 Apr 2007 15:23:18 +0000
(15:23 +0000)
src/jalview/gui/AlignFrame.java
patch
|
blob
|
history
diff --git
a/src/jalview/gui/AlignFrame.java
b/src/jalview/gui/AlignFrame.java
index
c9819a2
..
a185e2a
100755
(executable)
--- a/
src/jalview/gui/AlignFrame.java
+++ b/
src/jalview/gui/AlignFrame.java
@@
-1309,8
+1309,8
@@
public class AlignFrame
{
return;
}
{
return;
}
-
- SequenceI [] seqs = viewport.getSelectionAsNewSequence();
+ // TODO: preserve the ordering of displayed alignment annotation in any internal paste (particularly sequence associated annotation)
+ SequenceI [] seqs = viewport.getSelectionAsNewSequence();
String[] omitHidden = null;
if (viewport.hasHiddenColumns)
String[] omitHidden = null;
if (viewport.hasHiddenColumns)
@@
-1473,10
+1473,11
@@
public class AlignFrame
sequences = alignment.getSequencesArray();
}
sequences = alignment.getSequencesArray();
}
+ int alwidth=0;
if (newAlignment)
{
if (newAlignment)
{
-
+
if (Desktop.jalviewClipboard != null)
{
// dataset is inherited
if (Desktop.jalviewClipboard != null)
{
// dataset is inherited
@@
-1487,12
+1488,14
@@
public class AlignFrame
// new dataset is constructed
alignment.setDataset(null);
}
// new dataset is constructed
alignment.setDataset(null);
}
+ alwidth = alignment.getWidth()+1;
}
else
{
AlignmentI pastedal = alignment; // preserve pasted alignment object
// Add pasted sequences and dataset into existing alignment.
alignment = viewport.getAlignment();
}
else
{
AlignmentI pastedal = alignment; // preserve pasted alignment object
// Add pasted sequences and dataset into existing alignment.
alignment = viewport.getAlignment();
+ alwidth = alignment.getWidth()+1;
// decide if we need to import sequences from an existing dataset
boolean importDs = Desktop.jalviewClipboard != null
&& Desktop.jalviewClipboard[1] != alignment.getDataset();
// decide if we need to import sequences from an existing dataset
boolean importDs = Desktop.jalviewClipboard != null
&& Desktop.jalviewClipboard[1] != alignment.getDataset();
@@
-1500,10
+1503,10
@@
public class AlignFrame
// an existing alignment
Vector newDs = (importDs) ? new Vector() : null; // used to create
// minimum dataset set
// an existing alignment
Vector newDs = (importDs) ? new Vector() : null; // used to create
// minimum dataset set
-
+
for (int i = 0; i < sequences.length; i++)
{
for (int i = 0; i < sequences.length; i++)
{
- if (importDs)
+ if (importDs)
{
newDs.addElement(null);
}
{
newDs.addElement(null);
}
@@
-1513,7
+1516,7
@@
public class AlignFrame
{
if (!newDs.contains(ds))
{
{
if (!newDs.contains(ds))
{
- newDs.setElementAt(ds, i);
+ newDs.setElementAt(ds, i);
ds = new Sequence(ds);
// update with new dataset sequence
sequences[i].setDatasetSequence(ds);
ds = new Sequence(ds);
// update with new dataset sequence
sequences[i].setDatasetSequence(ds);
@@
-1544,7
+1547,9
@@
public class AlignFrame
{
annotationAdded=true;
if (alann[i].sequenceRef==null && !alann[i].autoCalculated) {
{
annotationAdded=true;
if (alann[i].sequenceRef==null && !alann[i].autoCalculated) {
- alignment.addAnnotation(new AlignmentAnnotation(alann[i]));
+ AlignmentAnnotation newann = new AlignmentAnnotation(alann[i]);
+ newann.padAnnotation(alwidth);
+ alignment.addAnnotation(newann);
}
}
}
}
}
}
@@
-1571,11
+1576,12
@@
public class AlignFrame
{
annotationAdded=true;
sequences[i].getAnnotation()[a].adjustForAlignment();
{
annotationAdded=true;
sequences[i].getAnnotation()[a].adjustForAlignment();
+ sequences[i].getAnnotation()[a].padAnnotation(alwidth);
alignment.addAnnotation(sequences[i].getAnnotation()[a]); // annotation was duplicated earlier
alignment.setAnnotationIndex(sequences[i].getAnnotation()[a], a);
}
alignment.addAnnotation(sequences[i].getAnnotation()[a]); // annotation was duplicated earlier
alignment.setAnnotationIndex(sequences[i].getAnnotation()[a], a);
}
-
+
}
}
if (!newAlignment) {
}
}
if (!newAlignment) {
@@
-1604,7
+1610,7
@@
public class AlignFrame
//>>>This is a fix for the moment, until a better solution is found!!<<<
af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().transferSettings(
alignPanel.seqPanel.seqCanvas.getFeatureRenderer());
//>>>This is a fix for the moment, until a better solution is found!!<<<
af.alignPanel.seqPanel.seqCanvas.getFeatureRenderer().transferSettings(
alignPanel.seqPanel.seqCanvas.getFeatureRenderer());
-
+
// TODO: maintain provenance of an alignment, rather than just make the title a concatenation of operations.
if (!externalPaste) {
if (title.startsWith("Copied sequences"))
// TODO: maintain provenance of an alignment, rather than just make the title a concatenation of operations.
if (!externalPaste) {
if (title.startsWith("Copied sequences"))