15f914c08ac9ec2b6eb6f2971596929909e2a815 kate Tue Mar 13 16:06:26 2018 -0700 Add filter activated info to track label. refs #17512 diff --git src/hg/hgTracks/interactTrack.c src/hg/hgTracks/interactTrack.c index cda8b05..45b7026 100644 --- src/hg/hgTracks/interactTrack.c +++ src/hg/hgTracks/interactTrack.c @@ -49,44 +49,47 @@ // TODO BRANEY: make this behavior generic for bigBeds // (bigBedSelectRange) tg->drawItems = bigDrawWarning; tg->networkErrMsg = "Too many items in display (zoom in)"; tg->totalHeight = bigWarnTotalHeight; return; } // filter and grayscale adjustment on score char buf[1024]; safef(buf, sizeof buf, "%s.%s", tg->tdb->track, INTERACT_MINSCORE); int minScore = cartUsualInt(cart, buf, INTERACT_DEFMINSCORE); int scoreMin = atoi(trackDbSettingClosestToHomeOrDefault(tg->tdb, "scoreMin", "0")); int scoreMax = atoi(trackDbSettingClosestToHomeOrDefault(tg->tdb, "scoreMax", "1000")); struct interact *inter, *next, *filteredItems = NULL; +int count = slCount(tg->items); for (inter = tg->items; inter; inter = next) { next = inter->next; if (inter->score < minScore) continue; if (tg->colorShades) { struct bed *bed = (struct bed *)inter; adjustBedScoreGrayLevel(tg->tdb, bed, scoreMin, scoreMax); } slAddHead(&filteredItems, inter); } slReverse(&filteredItems); // consider sorting by score/value so highest scored items draw last (on top) +if (slCount(filteredItems) != count) + labelTrackAsFiltered(tg); tg->items = filteredItems; } static void interactDrawItems(struct track *tg, int seqStart, int seqEnd, struct hvGfx *hvg, int xOff, int yOff, int width, MgFont *font, Color color, enum trackVisibility vis) /* Draw a list of interact structures. */ { #define DRAW_LINE 0 #define DRAW_CURVE 1 #define DRAW_ELLIPSE 2 int draw = DRAW_LINE; if (vis != tvDense) {