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> </TD>", + printf("<TR><TD NOWRAP>"); + if (tdbIsDownloadsOnly(tdb)) + printf("%s ",tdb->shortLabel); + else + printf("<A HREF='%s?%s=%u&c=%s&g=%s'>%s</A> ", (tdbIsDownloadsOnly(tdb)? hgFileUiName(): hgTrackUiName()), cartSessionVarName(), cartSessionId(cart), chromosome, cgiEncode(tdb->track), tdb->shortLabel); - printf("<TD>"); + printf("</TD><TD>"); if (tdbIsDownloadsOnly(tdb)) - printf(" "); + { + 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("  <EM><FONT COLOR=#666666 SIZE=-1>%s</FONT></EM>", dataVersion); printf("</TD></TR>"); }