fecc0bfffd30dccc9998aa0c2e5a6064d487bbb1
chmalee
  Fri Apr 10 15:39:54 2020 -0700
Initial work on merging multiple bigBed items that span the window, refs #25133

diff --git src/hg/inc/hui.h src/hg/inc/hui.h
index b57a7d5..67c246e 100644
--- src/hg/inc/hui.h
+++ src/hg/inc/hui.h
@@ -1127,30 +1127,39 @@
 
 char *compositeViewControlNameFromTdb(struct trackDb *tdb);
 /* Returns a string with the composite view control name if one exists */
 void compositeViewControlNameFree(char **name);
 /* frees a string allocated by compositeViewControlNameFromTdb */
 
 void wigOption(struct cart *cart, char *name, char *title, struct trackDb *tdb);
 /* let the user choose to see the track in wiggle mode */
 
 void wigCfgUi(struct cart *cart, struct trackDb *tdb,char *name,char *title,boolean boxed);
 /* UI for the wiggle track */
 
 void labelCfgUi(char *db, struct cart *cart, struct trackDb *tdb, char *prefix);
 /* Put up a choice for labels. */
 
+#define MERGESPAN_TDB_SETTING "mergeSpannedItems"
+// also used in hgTracks.js!
+#define MERGESPAN_CART_SETTING "doMergeItems"
+void mergeSpanCfgUi(struct cart *cart, struct trackDb *tdb, char *prefix);
+/* If this track offers a merge spanned items option, put up the cfg for it, which
+ * is just a checkbox with a small explanation. Comparing tdb->track to prefix
+ * ensures we don't offer this control at the composite level, as this is a
+ * subtrack only config */
+
 #define NO_SCORE_FILTER  "noScoreFilter"
 #define  SCORE_FILTER      "scoreFilter"
 #define  SCORE_LABEL      "scoreLabel"
 #define SIGNAL_FILTER      "signalFilter"
 #define PVALUE_FILTER      "pValueFilter"
 #define QVALUE_FILTER      "qValueFilter"
 #define _NO                "No"
 #define _LIMITS            "Limits"
 #define _MIN               "Min"
 #define _MAX               "Max"
 #define _BY_RANGE          "ByRange"
 #define  SCORE_MIN         "scoreMin"
 #define  GRAY_LEVEL_SCORE_MIN SCORE_MIN
 #define  MIN_GRAY_LEVEL  "minGrayLevel"