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:
fcceccc
)
Column selection changed
author
amwaterhouse
<Andrew Waterhouse>
Wed, 15 Jun 2005 15:01:37 +0000
(15:01 +0000)
committer
amwaterhouse
<Andrew Waterhouse>
Wed, 15 Jun 2005 15:01:37 +0000
(15:01 +0000)
src/jalview/gui/ScalePanel.java
patch
|
blob
|
history
diff --git
a/src/jalview/gui/ScalePanel.java
b/src/jalview/gui/ScalePanel.java
index
551f262
..
73a9e6e
100755
(executable)
--- a/
src/jalview/gui/ScalePanel.java
+++ b/
src/jalview/gui/ScalePanel.java
@@
-33,6
+33,9
@@
public class ScalePanel
AlignmentPanel ap;
\r
boolean stretchingGroup = false;
\r
\r
AlignmentPanel ap;
\r
boolean stretchingGroup = false;
\r
\r
+ int min, max; //used by mouseDragged to see if user
\r
+ // wants to delete columns
\r
+
\r
public ScalePanel(AlignViewport av, AlignmentPanel ap)
\r
{
\r
this.av = av;
\r
public ScalePanel(AlignViewport av, AlignmentPanel ap)
\r
{
\r
this.av = av;
\r
@@
-65,14
+68,17
@@
public class ScalePanel
int res = (x / av.getCharWidth()) + av.getStartRes();
\r
SequenceGroup sg = null;
\r
\r
int res = (x / av.getCharWidth()) + av.getStartRes();
\r
SequenceGroup sg = null;
\r
\r
+ min=res;
\r
+ max=res;
\r
+
\r
if (av.getColumnSelection().contains(res))
\r
{
\r
av.getColumnSelection().removeElement(res);
\r
if (av.getColumnSelection().contains(res))
\r
{
\r
av.getColumnSelection().removeElement(res);
\r
+ ap.annotationPanel.removeEditableColumn(res);
\r
}
\r
else
\r
{
\r
av.getColumnSelection().addElement(res);
\r
}
\r
else
\r
{
\r
av.getColumnSelection().addElement(res);
\r
-
\r
sg = new SequenceGroup();
\r
\r
for (int i = 0; i < av.alignment.getSequences().size(); i++)
\r
sg = new SequenceGroup();
\r
\r
for (int i = 0; i < av.alignment.getSequences().size(); i++)
\r
@@
-83,7
+89,6
@@
public class ScalePanel
sg.setStartRes(res);
\r
sg.setEndRes(res);
\r
\r
sg.setStartRes(res);
\r
sg.setEndRes(res);
\r
\r
- ap.annotationPanel.addEditableColumn(res);
\r
}
\r
\r
av.setSelectionGroup(sg);
\r
}
\r
\r
av.setSelectionGroup(sg);
\r
@@
-92,17
+97,22
@@
public class ScalePanel
\r
public void doMouseReleased(MouseEvent evt)
\r
{
\r
\r
public void doMouseReleased(MouseEvent evt)
\r
{
\r
- if (!stretchingGroup)
\r
- {
\r
- return;
\r
- }
\r
-
\r
int x = evt.getX();
\r
int res = (x / av.getCharWidth()) + av.getStartRes();
\r
\r
int x = evt.getX();
\r
int res = (x / av.getCharWidth()) + av.getStartRes();
\r
\r
- if (!av.getColumnSelection().contains(res))
\r
+ if(av.getColumnSelection()!=null)
\r
{
\r
{
\r
- av.getColumnSelection().addElement(res);
\r
+ for(int i=0; i<av.getColumnSelection().size(); i++)
\r
+ {
\r
+ ap.annotationPanel.addEditableColumn(
\r
+ av.getColumnSelection().columnAt(i));
\r
+ }
\r
+ }
\r
+
\r
+ if (!stretchingGroup)
\r
+ {
\r
+ ap.repaint();
\r
+ return;
\r
}
\r
\r
SequenceGroup sg = av.getSelectionGroup();
\r
}
\r
\r
SequenceGroup sg = av.getSelectionGroup();
\r
@@
-125,11
+135,21
@@
public class ScalePanel
int x = evt.getX();
\r
int res = (x / av.getCharWidth()) + av.getStartRes();
\r
\r
int x = evt.getX();
\r
int res = (x / av.getCharWidth()) + av.getStartRes();
\r
\r
+ if(res < min)
\r
+ min = res;
\r
+ if(res>max)
\r
+ max = res;
\r
+
\r
SequenceGroup sg = av.getSelectionGroup();
\r
\r
if (sg != null)
\r
{
\r
stretchingGroup = true;
\r
SequenceGroup sg = av.getSelectionGroup();
\r
\r
if (sg != null)
\r
{
\r
stretchingGroup = true;
\r
+ if (!av.getColumnSelection().contains(res))
\r
+ {
\r
+ av.getColumnSelection().addElement(res);
\r
+ }
\r
+
\r
\r
if (res > sg.getStartRes())
\r
{
\r
\r
if (res > sg.getStartRes())
\r
{
\r
@@
-140,7
+160,16
@@
public class ScalePanel
sg.setStartRes(res);
\r
}
\r
\r
sg.setStartRes(res);
\r
}
\r
\r
- ap.annotationPanel.addEditableColumn(res);
\r
+ for(int i=min; i<=max; i++)
\r
+ {
\r
+ if (i < sg.getStartRes() || i > sg.getEndRes())
\r
+ {
\r
+ av.getColumnSelection().removeElement(i);
\r
+ ap.annotationPanel.removeEditableColumn(res);
\r
+ }
\r
+ else
\r
+ av.getColumnSelection().addElement(i);
\r
+ }
\r
ap.repaint();
\r
}
\r
}
\r
ap.repaint();
\r
}
\r
}
\r