d807b60fd721c00051ac7e7cf5088eedba7170eb braney Thu Oct 22 13:28:01 2020 -0700 in response to code review diff --git src/hg/hgTracks/lollyTrack.c src/hg/hgTracks/lollyTrack.c index bd06717..232f2f1 100644 --- src/hg/hgTracks/lollyTrack.c +++ src/hg/hgTracks/lollyTrack.c @@ -38,32 +38,32 @@ return hvGfxFindColorIx(hvg, itemRgb.r, itemRgb.g, itemRgb.b); } void doYLabels(struct track *tg, struct hvGfx *hvg, int width, int height, struct lollyCartOptions *lollyCart, int xOff, int yOff, Color color, MgFont *font, boolean doLabels ) /* Draw labels or lines for labels. */ { double range = lollyCart->upperLimit - lollyCart->lowerLimit; int fontHeight = tl.fontHeight+1; // we need a margin on top and bottom for half a lolly, and some space at the bottom // for the lolly stems double minimumStemHeight = fontHeight; double topAndBottomMargins = LOLLY_DIAMETER / 2 + LOLLY_DIAMETER / 2; double usableHeight = height - topAndBottomMargins - minimumStemHeight; yOff += LOLLY_DIAMETER / 2; -struct hashEl *hel = trackDbSettingsLike(tg->tdb, "yLabel*"); -// parse lines like yLabel <y offset> <draw line ?> <R,G,B> <label> +struct hashEl *hel = trackDbSettingsLike(tg->tdb, "yAxisLabel*"); +// parse lines like yAxisLabel <y offset> <draw line ?> <R,G,B> <label> for(; hel; hel = hel->next) { char *setting = cloneString((char *)hel->val); int number = atoi(nextWord(&setting)); boolean drawLine = sameString("on", nextWord(&setting)); unsigned char red, green, blue; char *colorStr = nextWord(&setting); parseColor(colorStr, &red, &green, &blue); unsigned long lineColor = MAKECOLOR_32(red, green, blue); char *label = setting; int offset = usableHeight * ((double)number - lollyCart->lowerLimit) / range; if (doLabels) hvGfxTextRight(hvg, xOff, yOff + (usableHeight - offset) - fontHeight / 2 , width - 1, fontHeight, color, font, label); else if (drawLine) hvGfxLine(hvg, xOff, yOff + (usableHeight - offset), xOff + width , yOff + (usableHeight - offset), lineColor); @@ -139,31 +139,31 @@ { struct lollyCartOptions *lollyCart = tg->lollyCart; int fontHeight = tl.fontHeight+1; int centerLabel = (height/2)-(fontHeight/2); if ( tg->visibility == tvDense) { hvGfxTextRight(hvg, xOff, yOff+fontHeight, width - 1, fontHeight, color, font, tg->shortLabel); return; } //doYLabels(tg, hvg, width, height-fontHeight, lollyCart, xOff, yOff+fontHeight, color, font, TRUE); doYLabels(tg, hvg, width, height-fontHeight, lollyCart, xOff, yOff+fontHeight, color, font, TRUE); hvGfxText(hvg, xOff, yOff+centerLabel, color, font, tg->shortLabel); -char *setting = trackDbSetting(tg->tdb, "yNumLabels"); +char *setting = trackDbSetting(tg->tdb, "yAxisNumLabels"); if (setting && sameString("off", setting)) return; if (isnan(lollyCart->upperLimit)) { hvGfxTextRight(hvg, xOff, yOff + LOLLY_DIAMETER, width - 1, fontHeight, color, font, "NO DATA"); return; } char upper[1024]; safef(upper, sizeof(upper), "%g -", lollyCart->upperLimit); hvGfxTextRight(hvg, xOff, yOff + fontHeight / 2 + LOLLY_DIAMETER / 2 , width - 1, fontHeight, color, font, upper); char lower[1024]; if (lollyCart->lowerLimit < lollyCart->upperLimit) @@ -340,31 +340,31 @@ cartTdbFetchMinMaxPixels(cart, tdb, MIN_HEIGHT_PER, atoi(DEFAULT_HEIGHT_PER), atoi(DEFAULT_HEIGHT_PER), &minHeightPixels, &maxHeightPixels, &settingsDefault, &defaultHeight); lollyCart->origHeight = lollyCart->height = defaultHeight; lollyCart->autoScale = wigFetchAutoScaleWithCart(cart,tdb, tdb->track, NULL); double tDbMinY; /* data range limits from trackDb type line */ double tDbMaxY; /* data range limits from trackDb type line */ char *trackWords[8]; /* to parse the trackDb type line */ int trackWordCount = 0; /* to parse the trackDb type line */ wigFetchMinMaxYWithCart(cart, tdb, tdb->track, &lollyCart->minY, &lollyCart->maxY, &tDbMinY, &tDbMaxY, trackWordCount, trackWords); lollyCart->upperLimit = lollyCart->maxY; lollyCart->lowerLimit = lollyCart->minY; lollyCart->radius = 5; -lollyCart->noStems = trackDbSettingOn(tdb, "noStems"); +lollyCart->noStems = trackDbSettingOn(tdb, "lollyNoStems"); char *setting = trackDbSetting(tdb, "lollyMaxSize"); if (setting) lollyCart->radius = atoi(setting); return lollyCart; } void lollyMethods(struct track *track, struct trackDb *tdb, int wordCount, char *words[]) /* bigLolly track type methods */ { bigBedMethods(track, tdb, wordCount, words); struct lollyCartOptions *lollyCart = lollyCartOptionsNew(cart, tdb, wordCount, words);