c845037771404a9b1e7abd6e1368a02a2af47002 braney Tue Feb 20 08:10:00 2018 -0800 fix recognition of doWiggle, and don't output some limits for custom composites because we don't have them. diff --git src/hg/lib/hui.c src/hg/lib/hui.c index 8bbf70a..94c8d1b 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -4989,33 +4989,31 @@ return boxed; } void cfgEndBox(boolean boxed) // Handle end of box and title for individual track type settings { if (boxed) puts("</td></tr></table>"); } void wigOption(struct cart *cart, char *name, char *title, struct trackDb *tdb) /* let the user choose to see the track in wiggle mode */ { printf("<BR><BR><B>Display data as a density graph:</B> "); char varName[1024]; -safef(varName, sizeof(varName), "%s.doWiggle", name); -boolean parentLevel = isNameAtParentLevel(tdb,varName); -boolean option = cartUsualBooleanClosestToHome(cart, tdb, parentLevel,"doWiggle", FALSE); +boolean option = cartOrTdbBoolean(cart, tdb, "doWiggle", FALSE); cgiMakeCheckBox(varName, option); printf("<BR>\n"); char *style = option ? "display:block" : "display:none"; printf("<DIV ID=\"densGraphOptions\" STYLE=\"%s\">\n", style); // we need to fool the wiggle dialog into defaulting to autoscale and maximum char *origType = tdb->type; tdb->type = "bedGraph"; if (hashFindVal(tdb->settingsHash, AUTOSCALE) == NULL) hashAdd(tdb->settingsHash, AUTOSCALE, "on"); if (hashFindVal(tdb->settingsHash, WINDOWINGFUNCTION) == NULL) hashAdd(tdb->settingsHash, WINDOWINGFUNCTION, wiggleWindowingEnumToString( wiggleWindowingMax)); wigCfgUi(cart,tdb,name,title,TRUE); tdb->type = origType; @@ -5157,51 +5155,57 @@ } } printf("<TR valign=center><th align=right>Type of graph:</th><td align=left>"); safef( option, sizeof(option), "%s.%s", name, LINEBAR ); wiggleGraphDropDown(option, lineBar); if (boxed) { printf("</td><td align=right colspan=2>"); printf("<A HREF=\"%s\" TARGET=_blank>Graph configuration help</A>",WIGGLE_HELP_PAGE); } puts("</td></TR>"); printf("<TR valign=center><th align=right>Track height:</th><td align=left colspan=3>"); safef(option, sizeof(option), "%s.%s", name, HEIGHTPER ); +if (isCustomComposite(tdb)) + maxHeightPixels = 10000; cgiMakeIntVarWithLimits(option, defaultHeight, "Track height",0, minHeightPixels, maxHeightPixels); +if (isCustomComposite(tdb)) + printf("pixels"); +else printf("pixels (range: %d to %d)", minHeightPixels, maxHeightPixels); puts("</TD></TR>"); printf("<TR valign=center><th align=right>Data view scaling:</th><td align=left colspan=3>"); safef(option, sizeof(option), "%s.%s", name, AUTOSCALE ); wiggleScaleDropDown(option, autoScale); wiggleScaleDropDownJavascript(name); safef(option, sizeof(option), "%s.%s", name, ALWAYSZERO); printf("Always include zero: "); wiggleAlwaysZeroDropDown(option, alwaysZero); puts("</TD></TR>"); printf("<TR class=\"%sAutoScaleDesc\" valign=center><th align=right>Vertical viewing range:</th>" "<td align=left> min: ", name); safef(option, sizeof(option), "%s.%s", name, MIN_Y ); cgiMakeDoubleVarWithLimits(option, minY, "Range min", 0, NO_VALUE, NO_VALUE); printf("</td><td align=leftv colspan=2>max: "); safef(option, sizeof(option), "%s.%s", name, MAX_Y ); cgiMakeDoubleVarWithLimits(option, maxY, "Range max", 0, NO_VALUE, NO_VALUE); +if (!isCustomComposite(tdb)) printf(" (range: %g to %g)", tDbMinY, tDbMaxY); puts("</TD></TR>"); printf("<TR valign=center><th align=right>Transform function:</th><td align=left>"); safef(option, sizeof(option), "%s.%s", name, TRANSFORMFUNC); printf("Transform data points by: "); wiggleTransformFuncDropDown(option, transformFunc); printf("<TR valign=center><th align=right>Windowing function:</th><td align=left>"); safef(option, sizeof(option), "%s.%s", name, WINDOWINGFUNCTION ); wiggleWindowingDropDown(option, windowingFunction); printf("<th align=right>Smoothing window:</th><td align=left>"); safef(option, sizeof(option), "%s.%s", name, SMOOTHINGWINDOW );