src/hg/hgTracks/simpleTracks.c 1.88

1.88 2009/06/26 20:14:45 tdreszer
Inital checkin of imageV2, but ifdef'd out.
Index: src/hg/hgTracks/simpleTracks.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTracks/simpleTracks.c,v
retrieving revision 1.87
retrieving revision 1.88
diff -b -B -U 4 -r1.87 -r1.88
--- src/hg/hgTracks/simpleTracks.c	25 Jun 2009 00:09:32 -0000	1.87
+++ src/hg/hgTracks/simpleTracks.c	26 Jun 2009 20:14:45 -0000	1.88
@@ -27,8 +27,9 @@
 #include "cds.h"
 #include "mafTrack.h"
 #include "wigCommon.h"
 #include "hui.h"
+#include "imageV2.h"
 
 #ifndef GBROWSE
 #include "encode.h"
 #include "expRatioTracks.h"
@@ -512,22 +513,33 @@
     {
     dyStringAppend(ui, "&");
     dyStringAppend(ui, extra);
     }
-hPrintf("<AREA SHAPE=RECT COORDS=\"%d,%d,%d,%d\" ", x, y, x+width, y+height);
 if (chrom == NULL)
     {
     chrom = chromName;
     start = winStart;
     end = winEnd;
     }
+#ifdef IMAGEv2_UI
+if(curMap != NULL)
+    {
+    char link[512];
+    safef(link,sizeof(link),"%s?position=%s:%d-%d&%s",
+        hgTracksName(), chrom, start+1, end,ui->string);
+    // Add map item to currnent map (TODO: pass in map)
+    mapSetItemAdd(curMap,link,(char *)(message != NULL?message:NULL),x, y, x+width, y+height);
+    }
+#else//ndef IMAGEv2_UI
+hPrintf("<AREA SHAPE=RECT COORDS=\"%d,%d,%d,%d\" ", x, y, x+width, y+height);
 hPrintf("HREF=\"%s?position=%s:%d-%d",
 	hgTracksName(), chrom, start+1, end);
 hPrintf("&%s\"", ui->string);
-freeDyString(&ui);
 if (message != NULL)
     mapStatusMessage("%s", message);
 hPrintf(">\n");
+#endif//ndef IMAGEv2_UI
+freeDyString(&ui);
 }
 
 void mapBoxToggleVis(struct hvGfx *hvg, int x, int y, int width, int height,
 	struct track *curGroup)
@@ -578,8 +590,31 @@
     {
     char *encodedItem = cgiEncode(item);
     char *encodedTrack = cgiEncode(track);
 
+    #ifdef IMAGEv2_UI
+    if(curMap != NULL)
+        {
+        char link[512];
+        if (directUrl)
+            {
+        	safef(link,sizeof(link),directUrl, item, chromName, start, end, encodedTrack, database);
+            if (withHgsid)
+                safef(link+strlen(link),sizeof(link)-strlen(link),"&%s", cartSidUrlString(cart));
+            }
+        else
+            {
+            safef(link,sizeof(link),"%s&o=%d&t=%d&g=%s&i=%s&c=%s&l=%d&r=%d&db=%s&pix=%d",
+                hgcNameAndSettings(), start, end, encodedTrack, encodedItem,
+                chromName, winStart, winEnd,
+                database, tl.picWidth);
+            }
+        if (extra != NULL)
+            safef(link+strlen(link),sizeof(link)-strlen(link),"&%s", extra);
+        // Add map item to currnent map (TODO: pass in map)
+        mapSetItemAdd(curMap,link,(char *)(statusLine!=NULL?statusLine:NULL),x, y, xEnd, yEnd);
+        }
+    #else//ifndef IMAGEv2_UI
     hPrintf("<AREA SHAPE=RECT COORDS=\"%d,%d,%d,%d\" ", x, y, xEnd, yEnd);
     if (directUrl)
 	{
 	hPrintf("HREF=\"");
@@ -599,8 +634,9 @@
     hPrintf("\" ");
     if (statusLine != NULL)
 	mapStatusMessage("%s", statusLine);
     hPrintf(">\n");
+    #endif//ndef IMAGEv2_UI
     freeMem(encodedItem);
     freeMem(encodedTrack);
     }
 }