bd69e1cc71b97c282db26088b8d1e59981a3b7d5
tdreszer
  Tue Mar 8 14:37:41 2011 -0800
Added support for showing downloadsOnly tracks in hgTracks (but only if they are part of a superTrack with other visible tracks).  Also standardized links for downloadsOnly tacks between hgTracks and hgTrackUi
diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c
index c637a47..cc707b0 100644
--- src/hg/hgTrackUi/hgTrackUi.c
+++ src/hg/hgTrackUi/hgTrackUi.c
@@ -2250,38 +2250,44 @@
 }
 
 void superTrackUi(struct trackDb *superTdb)
 /* List tracks in this collection, with visibility controls and UI links */
 {
 struct trackDb *tdb;
 printf("<P><TABLE CELLPADDING=2>");
 tdbSortPrioritiesFromCart(cart, &superTdb->subtracks);
 for (tdb = superTdb->subtracks; tdb != NULL; tdb = tdb->next)
     {
     if (!hTableOrSplitExists(database, tdb->table)
     && tdb->subtracks != NULL && trackDbLocalSetting(tdb, "compositeTrack") == NULL
     && !tdbIsDownloadsOnly(tdb))
 	// NOTE: tdb if composite, is not yet populated with it's own subtracks!
         continue;
-    printf("<TR>");
-    printf("<TD NOWRAP><A HREF=\"%s?%s=%u&c=%s&g=%s\">%s</A>&nbsp;</TD>",
+    printf("<TR><TD NOWRAP>");
+    if (tdbIsDownloadsOnly(tdb))
+        printf("%s&nbsp;",tdb->shortLabel);
+    else
+        printf("<A HREF='%s?%s=%u&c=%s&g=%s'>%s</A>&nbsp;",
                 (tdbIsDownloadsOnly(tdb)? hgFileUiName(): hgTrackUiName()),
                 cartSessionVarName(), cartSessionId(cart),
                 chromosome, cgiEncode(tdb->track), tdb->shortLabel);
-    printf("<TD>");
+    printf("</TD><TD>");
     if (tdbIsDownloadsOnly(tdb))
-        printf("&nbsp;");
+        {
+        printf("<A HREF='%s?%s=%u&g=%s'>Downloads</A>",
+                hgFileUiName(),cartSessionVarName(), cartSessionId(cart), cgiEncode(tdb->track));
+        }
     else
     {
         enum trackVisibility tv =
                         hTvFromString(cartUsualString(cart, tdb->track,
                                                 hStringFromTv(tdb->visibility)));
         hTvDropDownClassVisOnly(tdb->track, tv, tdb->canPack,
                                 tv == tvHide ?  "hiddenText" : "normalText",
                                 trackDbSetting(tdb, "onlyVisibility"));
     }
     printf("<TD>%s", tdb->longLabel);
     char *dataVersion = trackDbSetting(tdb, "dataVersion");
     if (dataVersion)
         printf("&nbsp&nbsp;<EM><FONT COLOR=#666666 SIZE=-1>%s</FONT></EM>", dataVersion);
     printf("</TD></TR>");
     }