1da10945502204574470299154d4e6706c231b4f jcasper Mon Mar 31 10:35:45 2025 -0700 Interact UI has a checkbox to disable the details boxes on interaction lines, refs #30380 diff --git src/hg/lib/interactUi.c src/hg/lib/interactUi.c index 934ec72451c..f6a9a0fb298 100644 --- src/hg/lib/interactUi.c +++ src/hg/lib/interactUi.c @@ -97,30 +97,49 @@ //printf(" %s ", "no ends in window"); } void interactUiDashedLines(struct cart *cart, char *track, struct trackDb *tdb) /* Checkbox for dashed lines on interactions in reverse direction */ { if (!interactUiDirectional(tdb)) return; char cartVar[1024]; safef(cartVar, sizeof cartVar, "%s.%s", tdb->track, INTERACT_DIRECTION_DASHES); boolean doDashes = cartCgiUsualBoolean(cart, cartVar, INTERACT_DIRECTION_DASHES_DEFAULT); cgiMakeCheckBox(cartVar, doDashes); printf("Draw reverse direction interactions with dashed lines"); } +boolean interactUiShowHgcBoxes(struct trackDb *tdb, struct cart *cart) +/* Determine whether hgc link boxes should be shown in the image */ +{ +char cartVar[1024]; +safef(cartVar, sizeof cartVar, "%s.%s", tdb->track, INTERACT_NO_HGC_VAR); +boolean doDashes = cartOrTdbBoolean(cart, tdb, INTERACT_NO_HGC_VAR, TRUE); +return doDashes; +} + +void interactUiDetailsPageEnabled(struct cart *cart, char *track, struct trackDb *tdb) +/* UI checkbox for whether hgc links should be provided in boxes on interaction segments */ +{ +char cartVar[1024]; +safef(cartVar, sizeof cartVar, "%s.%s", tdb->track, INTERACT_NO_HGC_VAR); +boolean doDashes = interactUiShowHgcBoxes(tdb, cart); +cgiMakeCheckBox(cartVar, doDashes); +printf("Include details page links (boxes) on interaction lines"); +} + static char *interactClusterDefault(struct trackDb *tdb) /* Determine whether to cluster by source or target (or neither if NULL) */ { char *setting = trackDbSetting(tdb, INTERACT_DIRECTIONAL); if (setting) { char *words[8]; int count = chopByWhite(cloneString(setting), words, ArraySize(words)); if (count >= 1) { char *cluster = words[0]; if (sameString(cluster, INTERACT_TDB_CLUSTER_TARGET)) return INTERACT_CLUSTER_TARGET; if (sameString(cluster, INTERACT_TDB_CLUSTER_SOURCE)) return INTERACT_CLUSTER_SOURCE; @@ -169,20 +188,22 @@ //isPopup ? 75 : 100, boxed ?" width='100%'":""); puts("
"); interactUiEndpointFilter(cart, track, tdb); puts("
"); if (interactUiClusterMode(cart, track, tdb)) { interactUiSelectClusterMode(cart, track, tdb); } else { interactUiTrackHeight(cart, track, tdb); puts("
"); interactUiDrawMode(cart, track, tdb); puts("
"); interactUiDashedLines(cart, track, tdb); + puts("
"); + interactUiDetailsPageEnabled(cart, track, tdb); puts("
"); } scoreCfgUi(database, cart,tdb,track,NULL,1000,FALSE); cfgEndBox(boxed); }