27afc5a5182ee8614bcb8ec2ef7eaaa1152040a3 kate Wed Jan 9 16:06:49 2019 -0800 Add setting to collapse empty subtracks, for Regeneron AA display, but others may find useful. refs #22739 diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index 0e4ed87..d901498 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -4786,36 +4786,38 @@ safef(buffer, sizeof buffer, "%s_imgOrd", name->name); cartRemove(cart, buffer); } } // Construct flatTracks for (track = trackList; track != NULL; track = track->next) { if (tdbIsComposite(track->tdb)) { struct track *subtrack; if (isCompositeInAggregate(track)) flatTracksAdd(&flatTracks,track,cart, orderedWiggles); else { + boolean doCollapse = trackDbSettingOn(track->tdb, "collapseEmptySubtracks"); for (subtrack = track->subtracks; subtrack != NULL; subtrack = subtrack->next) { if (!isSubtrackVisible(subtrack)) continue; - if (!isLimitedVisHiddenForAllWindows(subtrack)) + if (!isLimitedVisHiddenForAllWindows(subtrack) && + !(doCollapse && slCount(subtrack->items) == 0)) { flatTracksAdd(&flatTracks,subtrack,cart, orderedWiggles); } } } } else { if (!isLimitedVisHiddenForAllWindows(track)) { flatTracksAdd(&flatTracks,track,cart, orderedWiggles); } } } flatTracksSort(&flatTracks); // Now we should have a perfectly good flat track list!