int x = (int)((float)(sp.coord[0] - centre[0])*scale) + halfwidth;\r
int y = (int)((float)(sp.coord[1] - centre[1])*scale) + halfheight;\r
float z = sp.coord[1] - centre[2];\r
- if (sp.sequence instanceof DrawableSequence) {\r
- if (((DrawableSequence)sp.sequence).color == Color.black) {\r
+\r
+\r
+\r
+\r
+ if (sp.sequence.getColor() == Color.black)\r
g.setColor(Color.white);\r
- } else {\r
- g.setColor(((DrawableSequence)sp.sequence).color);\r
- }\r
- } else {\r
- g.setColor(Color.red);\r
- }\r
- if (av != null) {\r
- if (av.getSelection().contains(((SequencePoint)points.elementAt(i)).sequence)) {\r
+ else\r
+ g.setColor(sp.sequence.getColor());\r
+\r
+\r
+ if (av.getSelectionGroup() != null)\r
+ {\r
+ if (av.getSelectionGroup().sequences.contains(((SequencePoint)points.elementAt(i)).sequence))\r
g.setColor(Color.gray);\r
- }\r
}\r
- if (z < 0) {\r
+ if (z < 0)\r
g.setColor(g.getColor().darker());\r
- }\r
+\r
\r
g.fillRect(x-3,y-3,6,6);\r
g.setColor(Color.red);\r
scalefactor = (float)(scalefactor * 0.9);\r
scale = findScale();\r
} else if (evt.getKeyChar() == 's') {\r
- System.out.println("Rectangle selection");\r
+ System.err.println("DEBUG: Rectangle selection"); // log.debug\r
if (rectx2 != -1 && recty2 != -1) {\r
rectSelect(rectx1,recty1,rectx2,recty2);\r
\r
\r
SequenceI found = findPoint(x,y);\r
\r
- if (found != null) {\r
- if (av != null) {\r
-\r
- if (av.getSelection().contains(found)) {\r
- av.getSelection().removeElement(found);\r
- } else {\r
- av.getSelection().addElement(found);\r
- }\r
+ if (found != null)\r
+ {\r
+ if (av.getSelectionGroup() != null)\r
+ {\r
+ av.getSelectionGroup().addOrRemove(found);\r
PaintRefresher.Refresh(this);\r
}\r
+ else\r
+ {\r
+ av.setSelectionGroup(new SequenceGroup());\r
+ av.getSelectionGroup().addOrRemove(found);\r
+ av.getSelectionGroup().setEndRes(av.alignment.getWidth());\r
+\r
+ }\r
}\r
repaint();\r
}\r
\r
if (tmp1 > x1 && tmp1 < x2 && tmp2 > y1 && tmp2 < y2) {\r
if (av != null) {\r
- if (!av.getSelection().contains(sp.sequence)) {\r
+ if (!av.getSelectionGroup().sequences.contains(sp.sequence))\r
+ {\r
changedSel = true;\r
- av.getSelection().addElement(sp.sequence);\r
+ av.getSelectionGroup().addSequence(sp.sequence);\r
}\r
}\r
}\r