1020ed9ae2ad60e3ec36657f14029485bb2ae0f7
kate
Wed May 3 11:13:57 2017 -0700
Get bigBarChart custom track support mostly working. refs #18736
diff --git src/hg/lib/barChartUi.c src/hg/lib/barChartUi.c
index f9eea8f..cb28ad3 100644
--- src/hg/lib/barChartUi.c
+++ src/hg/lib/barChartUi.c
@@ -144,53 +144,48 @@
{
char cartVar[1024];
char buf[512];
safef(cartVar, sizeof(cartVar), "%s.%s", track, BAR_CHART_LOG_TRANSFORM);
boolean isLogTransform = cartCgiUsualBoolean(cart, cartVar, BAR_CHART_LOG_TRANSFORM_DEFAULT);
safef(buf, sizeof buf, "%sViewLimitsMaxLabel %s", track, isLogTransform ? "disabled" : "");
printf("View limits maximum:\n", buf);
safef(cartVar, sizeof(cartVar), "%s.%s", track, BAR_CHART_MAX_VIEW_LIMIT);
int viewMax = cartCgiUsualInt(cart, cartVar, BAR_CHART_MAX_VIEW_LIMIT_DEFAULT);
cgiMakeIntVarWithExtra(cartVar, viewMax, 4, isLogTransform ? "disabled" : "");
char *unit = trackDbSettingClosestToHomeOrDefault(tdb, BAR_CHART_UNIT, "");
printf(" %s (range 0-%d)\n", buf, unit,
round(barChartUiMaxMedianScore(tdb)));
}
-char *barChartUiGetLabel(char *database, struct trackDb *tdb)
-/* Get label for category list */
-{
-return trackDbSettingClosestToHomeOrDefault(tdb, BAR_CHART_CATEGORY_LABEL,
- BAR_CHART_CATEGORY_LABEL_DEFAULT);
-}
-
struct barChartCategory *barChartUiGetCategories(char *database, struct trackDb *tdb)
/* Get category colors and descriptions. Use barChartColors setting if present.
If not, if there is a barChartBars setting, assign rainbow colors.
* O/w look for a table naed track+Category, and use labels and colors there
*/
{
struct barChartCategory *categs = NULL;
char *words[BAR_CHART_MAX_CATEGORIES];
char *colorWords[BAR_CHART_MAX_CATEGORIES];
char *labels = trackDbSettingClosestToHome(tdb, BAR_CHART_CATEGORY_LABELS);
char *colors = trackDbSettingClosestToHome(tdb, BAR_CHART_CATEGORY_COLORS);
struct barChartCategory *categ = NULL;
if (labels == NULL)
{
- categs = barChartGetCategories(database, tdb->table);
+ errAbort("barChart track %s missing required %s setting\n", tdb->track, BAR_CHART_CATEGORY_LABELS);
+ // TODO: consider getting categories from .as schema
+ //categs = barChartGetCategories(database, tdb->table);
}
else
{
int count = chopLine(cloneString(labels), words);
struct rgbColor *rainbow = getRainbow(&saturatedRainbowAtPos, count);
if (colors != NULL)
{
int colorCount = chopLine(cloneString(colors), colorWords);
if (colorCount != count)
warn("barChart track %s mismatch between label (%d) and color (%d) settings",
tdb->track, count, colorCount);
}
int i;
char buf[6];
for (i=0; i