62e7108fa6040d801ee42c10ef0b1381b0401d5a kate Sun Jan 28 19:32:46 2018 -0800 Add track height control. refs #17512 diff --git src/hg/lib/interactUi.c src/hg/lib/interactUi.c new file mode 100644 index 0000000..f8f0bb6 --- /dev/null +++ src/hg/lib/interactUi.c @@ -0,0 +1,61 @@ +/* interact track controls */ + +/* Copyright (C) 2018 The Regents of the University of California + * See README in this or parent directory for licensing information. */ + +#include "cheapcgi.h" +#include "cart.h" +#include "hui.h" +#include "trackDb.h" +#include "interactUi.h" + +boolean isPopup = FALSE; + +void interactUiDrawMode(struct cart *cart, char *track, struct trackDb *tdb) +/* Radio buttons to select drawing mode */ + +{ +char *drawMode = cartUsualStringClosestToHome(cart, tdb, isNameAtParentLevel(tdb, track), + INTERACT_DRAW, INTERACT_DRAW_DEFAULT); +char cartVar[1024]; +puts("Draw mode: "); +safef(cartVar, sizeof(cartVar), "%s.%s", track, INTERACT_DRAW); +cgiMakeRadioButton(cartVar, INTERACT_DRAW_CURVE , sameString(INTERACT_DRAW_CURVE, drawMode)); +printf(" %s ", "curve"); +cgiMakeRadioButton(cartVar, INTERACT_DRAW_ELLIPSE, sameString(INTERACT_DRAW_ELLIPSE, drawMode)); +printf(" %s ", "ellipse"); +cgiMakeRadioButton(cartVar, INTERACT_DRAW_LINE, sameString(INTERACT_DRAW_LINE, drawMode)); +printf(" %s ", "line"); +} + +void interactUiTrackHeight(struct cart *cart, char *track, struct trackDb *tdb) +/* Input box to change track height */ +{ +// track height control +char buffer[1024]; +int min, max, deflt, current; +cartTdbFetchMinMaxPixels(cart, tdb, INTERACT_MINHEIGHT, INTERACT_MAXHEIGHT, + atoi(INTERACT_DEFHEIGHT), + &min, &max, &deflt, ¤t); +safef(buffer, sizeof buffer, "%s.%s", track, INTERACT_HEIGHT); +printf("Track height: "); +cgiMakeIntVar(buffer, current, 3); +printf(" pixels (range: %d to %d, default: %d)", + min, max, deflt); +} + +void interactCfgUi(char *database, struct cart *cart, struct trackDb *tdb, char *track, + char *title, boolean boxed) +/* Bar chart track type */ +{ +if (cartVarExists(cart, "ajax")) + isPopup = TRUE; +boxed = cfgBeginBoxAndTitle(tdb, boxed, title); +//printf("\n\n", + //isPopup ? 75 : 100, boxed ?" width='100%'":""); +interactUiTrackHeight(cart, track, tdb); +puts(""); +interactUiDrawMode(cart, track, tdb); +//puts("\n\n"); +cfgEndBox(boxed); +}