745353d17862d620750bc43032358ba00ea320db
kate
  Tue Apr 12 13:03:14 2016 -0700
Show metadata on mouseover of wiggle in full mode when hoverMetadata setting is present.  Makes large wiggle composite viewing friendlier.  Prompted by 7000 subtrack GTEx signal hub

diff --git src/hg/hgTracks/wigTrack.c src/hg/hgTracks/wigTrack.c
index e7fb98f..24f6c7b 100644
--- src/hg/hgTracks/wigTrack.c
+++ src/hg/hgTracks/wigTrack.c
@@ -1153,32 +1153,37 @@
     {
     char *itemName;
 #ifndef GBROWSE
     if (isCustomTrack(tg->table) && tg->customPt)
 	{
 	struct customTrack *ct = tg->customPt;
 	itemName = (char *)needMem(LARGEBUF * sizeof(char));
 	safef(itemName, LARGEBUF, "%s %s", ct->wigFile, tg->track);
 	}
     else
 #endif /* GBROWSE */
     itemName = cloneString(tg->track);
 
     // Don't bother if we are imageV2 and a dense child.
     if (!theImgBox || tg->limitedVis != tvDense || !tdbIsCompositeChild(tg->tdb))
+        {
+        char *title = NULL;
+        if (trackDbSetting(tg->tdb, "hoverMetadata"))
+            title = trackDbSetting(tg->tdb, "metadata");
         mapBoxHc(hvg, seqStart, seqEnd, xOff, yOff, width, tg->height, tg->track, 
-            itemName, NULL);
+                        itemName, title);
+        }
     freeMem(itemName);
     }
 }
 
 int wigFindSpan(struct track *tg, double basesPerPixel)
 /* Return span to use at this scale */
 {
 int usingDataSpan = 1;
 int minimalSpan = 100000000;	/*	a lower limit safety check */
 struct hashEl *el, *elList;
 
 /*	Take a look through the potential spans, and given what we have
  *	here for basesPerPixel, pick the largest usingDataSpan that is
  *	not greater than the basesPerPixel
  */