ace7d6c2a03c2ad76c14134546785b8c3fa61ac2 kate Tue Jan 8 11:39:09 2019 -0800 Implement 'packDense' setting (tentative name) to support Regeneron 2nd contract amino acide display. This setting will pack items on a single line if they are adjacent (suppresses padding between packed items). refs #22739 diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c index 5b44bb9..61e653b 100644 --- src/hg/hgTracks/simpleTracks.c +++ src/hg/hgTracks/simpleTracks.c @@ -651,32 +651,33 @@ slReverse(&rangeList); slReverse(&nodeList); // non-proportional fixed-width handling (e.g. GTEX) if (tg->nonPropPixelWidth) { int npWidth = tg->nonPropPixelWidth(tg, item); npWidth += leftLabelSize; if (npWidth > rangeWidth) { // keep the first range but extend it range = rangeList; range->end = range->start + npWidth; range->next = NULL; // do not need the rest of the ranges } } - - if (spaceSaverAddOverflowMulti(ss, rangeList, nodeList, allowOverflow) == NULL) + boolean doPadding = !cartOrTdbBoolean(cart, tg->tdb, "packDense", FALSE); + if (spaceSaverAddOverflowMultiOptionalPadding( + ss, rangeList, nodeList, allowOverflow, doPadding) == NULL) break; } } spaceSaverFinish(tg->ss); } // must assign at end to get final row count for(tg=tgSave; tg; tg=tg->nextWindow) { tg->ss->rowCount = ss->rowCount; } tg = tgSave; spaceSaverFree(&ss); return tg->ss->rowCount;