91ed276194ce25992417787117a806b8e2172c01
larrym
Tue Nov 22 15:40:32 2011 -0800
add tdbSetCartVisibility and use in hgTracks to fix #1666
diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index a609b11..a7a8ed0 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -4131,46 +4131,40 @@
/* Recursively search through track list looking for first one that matches table. */
{
struct track *track;
for (track = trackList; track != NULL; track = track->next)
{
if (sameString(tableName, track->table))
return track;
struct track *subTrack = rFindTrackWithTable(tableName, track->subtracks);
if (subTrack != NULL)
return subTrack;
}
return NULL;
}
static void setSearchedTrackToPackOrFull(struct track *trackList)
-/* Open track associated with search position if any. Also open its parents
- * if any. At the moment parents include composites but not supertracks. */
+// Open track associated with search position if any. Also open its parents if any.
{
if (NULL != hgp && NULL != hgp->tableList && NULL != hgp->tableList->name)
{
char *tableName = hgp->tableList->name;
struct track *matchTrack = rFindTrackWithTable(tableName, trackList);
if (matchTrack != NULL)
- {
- struct track *track;
- for (track = matchTrack; track != NULL; track = track->parent)
- cartSetString(cart, track->track, hCarefulTrackOpenVis(database, track->track));
+ tdbSetCartVisibility(matchTrack->tdb, cart, hCarefulTrackOpenVis(database, matchTrack->track));
}
}
-}
-
struct track *getTrackList( struct group **pGroupList, int vis)
/* Return list of all tracks, organizing by groups.
* If vis is -1, restore default groups to tracks.
* Shared by hgTracks and configure page. */
{
struct track *track, *trackList = NULL;
registerTrackHandlers();
/* Load regular tracks, blatted tracks, and custom tracks.
* Best to load custom last. */
loadFromTrackDb(&trackList);
if (pcrResultParseCart(database, cart, NULL, NULL, NULL))
slSafeAddHead(&trackList, pcrResultTg());
if (userSeqString != NULL) slSafeAddHead(&trackList, userPslTg());
slSafeAddHead(&trackList, oligoMatchTg());
@@ -4993,31 +4987,31 @@
/* Make line that says position. */
{
char buf[256];
char *survey = cfgOptionEnv("HGDB_SURVEY", "survey");
char *surveyLabel = cfgOptionEnv("HGDB_SURVEY_LABEL", "surveyLabel");
char *javascript = "onchange=\"document.location = '/cgi-bin/hgTracks?db=' + document.TrackForm.db.options[document.TrackForm.db.selectedIndex].value;\"";
if (containsStringNoCase(database, "zoo"))
{
hPuts("Organism ");
printAssemblyListHtmlExtra(database, javascript);
}
sprintf(buf, "%s:%d-%d", chromName, winStart+1, winEnd);
position = cloneString(buf);
#ifdef MERGE_GENE_SUGGEST
- hPrintf(" %s", addCommasToPos(database, position));
+ hPrintf("%s", addCommasToPos(database, position));
hPrintf("\n", buf);
sprintLongWithCommas(buf, winEnd - winStart);
hPrintf(" %s bp. ", buf);
hPrintf("\n");
hWrites(" ");
hButtonWithOnClick("hgt.jump", "go", NULL, "imageV2.jumpButtonOnClick()");
jsonHashAddBoolean(jsonForClient, "assemblySupportsGeneSuggest", assemblySupportsGeneSuggest(database));
if(assemblySupportsGeneSuggest(database))
hPrintf("\n", assemblyGeneSuggestTrack(database));
#else
hWrites("position/search ");
hTextVar("position", addCommasToPos(database, position), 30);
sprintLongWithCommas(buf, winEnd - winStart);
if(assemblySupportsGeneSuggest(database))
hPrintf(" gene "