eb712f3c5bc68c3875bebcd554ea523c26461c82 angie Wed Aug 18 13:17:15 2010 -0700 Added support for new trackDb setting 'tableBrowser off' which prevents hgTables from displaying a track (if related tables need to be excluded from All Tables, they go after 'off', space-sep. diff --git src/hg/hgTables/hgTables.c src/hg/hgTables/hgTables.c index f5ccac3..cf6c68e 100644 --- src/hg/hgTables/hgTables.c +++ src/hg/hgTables/hgTables.c @@ -53,6 +53,7 @@ struct grp *curGroup; /* Currently selected group. */ struct trackDb *fullTrackList; /* List of all tracks in database. */ struct hash *fullTrackHash; /* Hash of all tracks in fullTrackList keyed by ->track field. */ +struct trackDb *forbiddenTrackList; /* List of tracks with 'tableBrowser off' setting. */ struct trackDb *curTrack; /* Currently selected track. */ char *curTable; /* Currently selected table. */ struct joiner *allJoiner; /* Info on how to join tables. */ @@ -231,6 +232,20 @@ struct trackDb *list = hTrackDb(database, NULL); struct customTrack *ctList, *ct; +/* exclude any track with a 'tableBrowser off' setting */ +struct trackDb *tdb, *nextTdb, *newList = NULL; +for (tdb = list; tdb != NULL; tdb = nextTdb) + { + nextTdb = tdb->next; + char *tbOff = trackDbSetting(tdb, "tableBrowser"); + if (tbOff != NULL && startsWithWord("off", tbOff)) + slAddHead(&forbiddenTrackList, tdb); + else + slAddHead(&newList, tdb); + } +slReverse(&newList); +list = newList; + /* add wikiTrack if enabled */ if (wikiTrackEnabled(database, NULL)) wikiTrackDb(&list);