58502ff9a4db966bdad267df1bc713fcc1b660b3 kate Wed Feb 6 17:47:52 2019 -0800 Cleanup regeneron features. refs #22739 diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c index 692cf3b..1189eca 100644 --- src/hg/hgTracks/simpleTracks.c +++ src/hg/hgTracks/simpleTracks.c @@ -651,31 +651,31 @@ 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 } } - boolean doPadding = !cartOrTdbBoolean(cart, tg->tdb, "packDense", FALSE); + boolean doPadding = !cartOrTdbBoolean(cart, tg->tdb, "bedPackDense", 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); @@ -785,37 +785,32 @@ rows = packCountRowsOverflow(tg, floor(maxHeight/tg->lineHeight)+1, FALSE, FALSE, vis); } else { rows = slCount(tg->items); } break; case tvPack: { if(allowOverflow && itemCount < maxItemsToUseOverflow) rows = packCountRowsOverflow(tg, floor(maxHeight/tg->lineHeight), TRUE, allowOverflow, vis); else rows = packCountRowsOverflow(tg, floor(maxHeight/tg->lineHeight)+1, TRUE, FALSE, vis); if (tdbIsCompositeChild(tg->tdb)) { - char *centerLabelsPackOff = trackDbSetting(tg->tdb, "centerLabelsPack"); - char *collapseEmptySubtracks = trackDbSetting(tg->tdb, "collapseEmptySubtracks"); - boolean collapseEmpty = FALSE; - if (collapseEmptySubtracks && sameWord(collapseEmptySubtracks, "on")) - collapseEmpty = TRUE; - if (centerLabelsPackOff) - if (sameWord(centerLabelsPackOff, "off") && !collapseEmpty) + boolean doCollapse = doCollapseEmptySubtracks(tg); + if (isCenterLabelsPackOff(tg) && !doCollapse) if (rows == 0) rows = 1; // compact pack mode, shows just side label } break; } case tvSquish: { tg->heightPer = heightPer/2; if ((tg->heightPer & 1) == 0) tg->heightPer -= 1; tg->lineHeight = tg->heightPer + 1; if(allowOverflow && itemCount < maxItemsToUseOverflow) rows = packCountRowsOverflow(tg, floor(maxHeight/tg->lineHeight), FALSE, allowOverflow, vis); else rows = packCountRowsOverflow(tg, floor(maxHeight/tg->lineHeight)+1, FALSE, FALSE, vis); @@ -924,101 +919,86 @@ vis = tvFull; else vis = tvPack; } else if (vis == tvFull || vis == tvPack || vis == tvSquish) vis = tvDense; dyStringPrintf(dy, "&%s=%s", encodedMapName, hStringFromTv(vis)); freeMem(encodedMapName); } } return dy; } boolean isWithCenterLabels(struct track *track) /* Cases: only TRUE when global withCenterLabels is TRUE - * If track has a centerLabelDense setting 'on', then composite child has - * center labels in dense mode. - * If track has centerLabelsPack setting 'off', then composite child has no - * center labels in pack mode (instead, has left short label. - * NOTE: if there are labels, then this should be used with labelOnFeature setting. - */ + * If track->tdb has a centerLabelDense setting, go with it. +// * If composite child then no center labels in dense mode. */ { if (!withCenterLabels) + { return FALSE; -if (!track) - return withCenterLabels; - -/* NOTE: this feature may be broken. Only used in affyTxnPhase2 track */ + } +if (track != NULL) + { char *centerLabelsDense = trackDbSetting(track->tdb, "centerLabelsDense"); -if (centerLabelsDense && sameWord(centerLabelsDense, "on")) - return TRUE; - -/* -char *centerLabelsPack = trackDbSetting(track->tdb, "centerLabelsPack"); -if (centerLabelsPack && sameWord(centerLabelsPack, "off")) + if (centerLabelsDense) { - enum trackVisibility vis = limitVisibility(track); - if (vis == tvPack) - return FALSE; + return sameWord(centerLabelsDense, "on"); } -*/ -return TRUE; + } +return withCenterLabels; } boolean isCenterLabelConditionallySeen(struct track *track) // returns FALSE if track and prevTrack have same parent, and are both dense subtracks { if (isCenterLabelConditional(track)) { if (track->prevTrack && track->parent == track->prevTrack->parent && isCenterLabelConditional(track->prevTrack)) return FALSE; } return isWithCenterLabels(track); } boolean isCenterLabelConditional(struct track *track) /* Dense subtracks and pack subtracks (when centerLabelsPack off set) * show center labels depending on vis of previous track */ { if (!tdbIsCompositeChild((track)->tdb)) return FALSE; enum trackVisibility vis = limitVisibility(track); if (vis == tvFull || vis == tvSquish) return FALSE; if (vis == tvDense) return TRUE; // pack mode -char *centerLabelsPack = trackDbSetting(track->tdb, "centerLabelsPack"); -if (centerLabelsPack) - return sameWord(centerLabelsPack, "off"); -return FALSE; +return isCenterLabelsPackOff(track); } boolean isCenterLabelIncluded(struct track *track) /* Center labels may be conditionally included */ { if (!isWithCenterLabels(track)) return FALSE; if (theImgBox) return TRUE; if (isCenterLabelConditionallySeen(track)) return TRUE; return FALSE; -//return isWithCenterLabels(track) && (theImgBox || isCenterLabelConditionallySeen(track)); } void mapStatusMessage(char *format, ...) /* Write out stuff that will cause a status message to * appear when the mouse is over this box. */ { va_list(args); va_start(args, format); hPrintf(" TITLE=\""); hvPrintf(format, args); hPutc('"'); va_end(args); } void mapBoxReinvoke(struct hvGfx *hvg, int x, int y, int width, int height,