29792e6f4b5efdc09e3fc37b162ac1e6b356cf75 markd Mon Mar 13 11:47:34 2017 -0700 add (filter activated) to labels for mRNA and EST tracks if filters are configured diff --git src/hg/hgTracks/pslTrack.c src/hg/hgTracks/pslTrack.c index ac7cdf6..91c11c6 100644 --- src/hg/hgTracks/pslTrack.c +++ src/hg/hgTracks/pslTrack.c @@ -59,43 +59,47 @@ /* Apply filters if any to mRNA linked features. */ { struct linkedFeatures *lf, *next, *newList = NULL, *oldList = NULL; struct mrnaUiData *mud = tg->extraUiData; struct mrnaFilter *fil; char *type; boolean anyFilter = FALSE; unsigned colorIx = 0; boolean isExclude = FALSE; boolean andLogic = TRUE; char query[256]; struct sqlResult *sr; char **row; struct sqlConnection *conn = NULL; -if (*pLfList == NULL || mud == NULL) +if (mud == NULL) return; /* First make a quick pass through to see if we actually have - * to do the filter. */ + * to do the filter. do this even if there are no items so + * track can be labeled as filtered. */ for (fil = mud->filterList; fil != NULL; fil = fil->next) { fil->pattern = cartUsualStringClosestToHome(cart, tg->tdb,FALSE,fil->suffix, ""); if (fil->pattern[0] != 0) anyFilter = TRUE; } if (!anyFilter) return; +labelTrackAsFiltered(tg); +if (*pLfList == NULL) + return; type = cartUsualStringClosestToHome(cart, tg->tdb, FALSE, mud->filterTypeSuffix, "red"); if (sameString(type, "exclude")) isExclude = TRUE; else if (sameString(type, "include")) isExclude = FALSE; else colorIx = getFilterColor(type, MG_BLACK); type = cartUsualStringClosestToHome(cart, tg->tdb, FALSE, mud->logicTypeSuffix, "and"); andLogic = sameString(type, "and"); /* Make a pass though each filter, and start setting up search for * those that have some text. */ conn = hAllocConn(database); for (fil = mud->filterList; fil != NULL; fil = fil->next)