src/hg/hgTracks/simpleTracks.c 1.98

1.98 2009/08/27 00:10:16 tdreszer
Fixed a couple bugs and ensured ps-pdf code still works with IMAGEv2
Index: src/hg/hgTracks/simpleTracks.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTracks/simpleTracks.c,v
retrieving revision 1.97
retrieving revision 1.98
diff -b -B -U 4 -r1.97 -r1.98
--- src/hg/hgTracks/simpleTracks.c	25 Aug 2009 21:28:40 -0000	1.97
+++ src/hg/hgTracks/simpleTracks.c	27 Aug 2009 00:10:16 -0000	1.98
@@ -570,23 +570,28 @@
     start = winStart;
     end = winEnd;
     }
 #ifdef IMAGEv2_UI
-if(curMap != NULL)
+if(theImgBox && curMap)
     {
+    // FIXME: The problem with leftLabel toggle appears to be a single map area meant to cover the whole leftLabel and data!
+    // eg: COORDS="11,395,800,405" in non IMAGEv2 image covers everything left of button through to right edge of image
+    // Solution?  Either drop the toggle on side button, or make separate map areas.
     char link[512];
     safef(link,sizeof(link),"%s?%s",hgTracksName(), ui->string); // NOTE: position removed due to portal
     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",
+else
+#endif//def 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);
-if (message != NULL)
+    hPrintf("&%s\"", ui->string);
+    if (message != NULL)
     mapStatusMessage("%s", message);
-hPrintf(">\n");
-#endif//ndef IMAGEv2_UI
+    hPrintf(">\n");
+    }
 freeDyString(&ui);
 }
 
 void mapBoxToggleVis(struct hvGfx *hvg, int x, int y, int width, int height,
@@ -639,9 +644,9 @@
     char *encodedItem = cgiEncode(item);
     char *encodedTrack = cgiEncode(track);
 
     #ifdef IMAGEv2_UI
-    if(curMap != NULL)
+    if(theImgBox && curMap)
         {
         char link[512];
         if (directUrl)
             {
@@ -658,9 +663,11 @@
             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
+    else
+    #endif//def IMAGEv2_UI
+        {
     hPrintf("<AREA SHAPE=RECT COORDS=\"%d,%d,%d,%d\" ", x, y, xEnd, yEnd);
     if (directUrl)
 	{
 	hPrintf("HREF=\"");
@@ -680,9 +687,9 @@
     hPrintf("\" ");
     if (statusLine != NULL)
 	   mapStatusMessage("%s", statusLine);
     hPrintf(">\n");
-    #endif//ndef IMAGEv2_UI
+        }
     freeMem(encodedItem);
     freeMem(encodedTrack);
     }
 }