ContactGeometry lastXcgeom = new ContactGeometry(forFromX,
cma.graphHeight);
ContactGeometry.contactInterval lastXci = lastXcgeom
- .mapFor(rowIndex[1], rowIndex[1] + deltaY);
+ .mapFor(rowIndex[1], rowIndex[1] - deltaY);
+
ContactGeometry cXcgeom = new ContactGeometry(forToX,
cma.graphHeight);
ContactGeometry.contactInterval cXci = cXcgeom.mapFor(rowIndex[1],
- rowIndex[1] + deltaY);
+ rowIndex[1] - deltaY);
+
// mark rectangular region formed by drag
- System.err.println("Matrix Selection from last(" + lastXci.cStart
- + "," + lastXci.cEnd + ") to cur(" + cXci.cStart + ","
- + cXci.cEnd + ")");
+ System.err.println("Matrix Selection from last(" + fromXc + ",["
+ + lastXci.cStart + "," + lastXci.cEnd + "]) to cur(" + toXc
+ + ",[" + cXci.cStart + "," + cXci.cEnd + "])");
int fr, to;
fr = Math.min(lastXci.cStart, lastXci.cEnd);
to = Math.max(lastXci.cStart, lastXci.cEnd);
System.err.println("Marking " + fr + " to " + to);
for (int c = fr; c <= to; c++)
{
- av.getColumnSelection().addElement(c);
+ if (cma.sequenceRef != null)
+ {
+ int col = cma.sequenceRef.findIndex(c);
+ av.getColumnSelection().addElement(col);
+ }
+ else
+ {
+ av.getColumnSelection().addElement(c);
+ }
}
fr = Math.min(cXci.cStart, cXci.cEnd);
to = Math.max(cXci.cStart, cXci.cEnd);
System.err.println("Marking " + fr + " to " + to);
for (int c = fr; c <= to; c++)
{
- av.getColumnSelection().addElement(c);
+ if (cma.sequenceRef != null)
+ {
+ int col = cma.sequenceRef.findIndex(c);
+ av.getColumnSelection().addElement(col);
+ }
+ else
+ {
+ av.getColumnSelection().addElement(c);
+ }
}
fr = Math.min(lastX, currentX);
to = Math.max(lastX, currentX);
static int[] getRowIndexAndOffset(int yPos, AlignmentAnnotation[] aa)
{
int[] res = new int[2];
+ res[0] = -1;
+ res[1] = 0;
if (aa == null)
{
- res[0] = -1;
- res[1] = 0;
return res;
}
int row = -1;
int height = 0, lheight = 0;
-
for (int i = 0; i < aa.length; i++)
{
if (aa[i].visible)
if (clist != null)
{
ContactGeometry cgeom = new ContactGeometry(clist, ann.graphHeight);
- ContactGeometry.contactInterval ci = cgeom.mapFor(rowAndOffset,
- rowAndOffset);
+ ContactGeometry.contactInterval ci = cgeom.mapFor(rowAndOffset);
ContactRange cr = clist.getRangeFor(ci.cStart, ci.cEnd);
- tooltip = "Contact from " + ci.cStart + " to " + ci.cEnd
- + "<br/>Mean:" + cr.getMean();
-
- // ap.getStructureSelectionManager().mouseOverSequence(ann.sequenceRef,
- // new int[] {column, ci.cStart,ci.cEnd}, -1, null)
+ tooltip = "Contact from " + clist.getPosition() + ", [" + ci.cStart
+ + " - " + ci.cEnd + "]" + "<br/>Mean:" + cr.getMean();
+ int col = ann.sequenceRef.findPosition(column);
+ ap.getStructureSelectionManager()
+ .highlightPositionsOn(ann.sequenceRef, new int[][]
+ { new int[] { col, col },
+ new int[]
+ { ci.cStart, ci.cEnd } }, null);
}
}
return tooltip;