src/hg/hgTracks/simpleTracks.c 1.115
1.115 2009/12/05 01:29:01 larrym
CONTEXT_MENU stuff; mostly turned off, except map area id's are live
Index: src/hg/hgTracks/simpleTracks.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTracks/simpleTracks.c,v
retrieving revision 1.114
retrieving revision 1.115
diff -b -B -U 4 -r1.114 -r1.115
--- src/hg/hgTracks/simpleTracks.c 1 Dec 2009 05:49:36 -0000 1.114
+++ src/hg/hgTracks/simpleTracks.c 5 Dec 2009 01:29:01 -0000 1.115
@@ -553,8 +553,13 @@
* If chrom is non-null then jump to chrom:start-end.
* Add extra string to the URL if it's not NULL */
{
struct dyString *ui = uiStateUrlPart(toggleGroup);
+struct dyString *id = dyStringNew(0);
+if(toggleGroup)
+ {
+ dyStringPrintf(id, " id='%s'", toggleGroup->mapName);
+ }
x = hvGfxAdjXW(hvg, x, width);
if (extra != NULL)
{
@@ -574,9 +579,9 @@
//#ifdef IMAGEv2_SHORT_MAPITEMS
// if(x < insideX && x+width > insideX)
// warn("mapBoxReinvoke(%s) map item spanning slices. LX:%d TY:%d RX:%d BY:%d link:[%s]",hStringFromTv(toggleGroup->visibility),x, y, x+width, y+height, link);
//#endif//def IMAGEv2_SHORT_MAPITEMS
- imgTrackAddMapItem(curImgTrack,link,(char *)(message != NULL?message:NULL),x, y, x+width, y+height);
+ imgTrackAddMapItem(curImgTrack,link,(char *)(message != NULL?message:NULL),x, y, x+width, y+height, toggleGroup != NULL ? toggleGroup->mapName : NULL);
}
else
{
hPrintf("<AREA SHAPE=RECT COORDS=\"%d,%d,%d,%d\" ", x, y, x+width, y+height);
@@ -584,11 +589,12 @@
hgTracksName(), chrom, start+1, end);
hPrintf("&%s\"", ui->string);
if (message != NULL)
mapStatusMessage("%s", message);
- hPrintf(">\n");
+ hPrintf("%s>\n", dyStringContents(id));
}
freeDyString(&ui);
+freeDyString(&id);
}
void mapBoxToggleVis(struct hvGfx *hvg, int x, int y, int width, int height,
struct track *curGroup)
@@ -634,12 +640,14 @@
char *extra)
/* Print out image map rectangle that would invoke the hgc (human genome click)
* program. */
{
+struct dyString *id = dyStringNew(0);
if (x < 0) x = 0;
x = hvGfxAdjXW(hvg, x, width);
int xEnd = x+width;
int yEnd = y+height;
+dyStringPrintf(id, " id='%s'", track);
if (x < xEnd)
{
char *encodedItem = cgiEncode(item);
@@ -665,9 +673,9 @@
#ifdef IMAGEv2_SHORT_MAPITEMS
if(x < insideX && xEnd > insideX)
warn("mapBoxHgcOrHgGene(%s) map item spanning slices. LX:%d TY:%d RX:%d BY:%d link:[%s]",track,x, y, xEnd, yEnd, link);
#endif//def IMAGEv2_SHORT_MAPITEMS
- imgTrackAddMapItem(curImgTrack,link,(char *)(statusLine!=NULL?statusLine:NULL),x, y, xEnd, yEnd);
+ imgTrackAddMapItem(curImgTrack,link,(char *)(statusLine!=NULL?statusLine:NULL),x, y, xEnd, yEnd, track);
}
else
{
hPrintf("<AREA SHAPE=RECT COORDS=\"%d,%d,%d,%d\" ", x, y, xEnd, yEnd);
@@ -689,13 +697,14 @@
hPrintf("&%s", extra);
hPrintf("\" ");
if (statusLine != NULL)
mapStatusMessage("%s", statusLine);
- hPrintf(">\n");
+ hPrintf("%s>\n", dyStringContents(id));
}
freeMem(encodedItem);
freeMem(encodedTrack);
}
+freeDyString(&id);
}
void mapBoxHc(struct hvGfx *hvg, int start, int end, int x, int y, int width, int height,
char *track, char *item, char *statusLine)