5be304c4bdd41bd4452a4b9f1b8fcf37930079e4
braney
  Fri Feb 3 11:09:59 2017 -0800
allow arbitrary fields with a bigBed file to be used for labels.  #18782

diff --git src/hg/inc/hui.h src/hg/inc/hui.h
index a3867fa..25c88f2 100644
--- src/hg/inc/hui.h
+++ src/hg/inc/hui.h
@@ -1024,30 +1024,33 @@
 // foldersToo means limit by folders (aka superTracks) as well.
 #define tdbVisLimitedByAncestry(cart,tdb,noFolders) \
         tdbVisLimitedByAncestors(cart, tdb, TRUE, !(noFolders))
 
 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);
+/* Put up a choice for labels. */
+
 #define NO_SCORE_FILTER  "noScoreFilter"
 #define  SCORE_FILTER      "scoreFilter"
 #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"
 
 void filterButtons(char *filterTypeVar, char *filterTypeVal, boolean none);
@@ -1120,31 +1123,31 @@
 // Filters are expected to follow
 //      {fiterName}: trackDb min or min:max - default value(s);
 //      {filterName}Min or {filterName}: min (user supplied) cart variable;
 //      {filterName}Max: max (user supplied) cart variable;
 //      {filterName}Limits: trackDb allowed range "0.0:10.0" Optional
 //          uses:  defaultLimits: function param if no tdb limits settings found)
 // The 'and' param and dyString in/out allows stringing multiple where clauses together
 
 boolean encodePeakHasCfgUi(struct trackDb *tdb);
 // Confirms that this track has encode Peak cfgUI
 
 void encodePeakCfgUi(struct cart *cart, struct trackDb *tdb, char *name, char *title,
                      boolean boxed);
 // Put up UI for filtering wgEnocde peaks based on score, Pval and Qval
 
-void genePredCfgUi(struct cart *cart, struct trackDb *tdb, char *name, char *title, boolean boxed);
+void genePredCfgUi(char *db, struct cart *cart, struct trackDb *tdb, char *name, char *title, boolean boxed);
 // Put up genePred-specific controls
 
 void wigMafCfgUi(struct cart *cart, struct trackDb *tdb,char *name, char *title, boolean boxed, char *db);
 /* UI for maf/wiggle track */
 
 void bamCfgUi(struct cart *cart, struct trackDb *tdb, char *name, char *title, boolean boxed);
 /* BAM: short-read-oriented alignment file format. */
 
 
 void lrgCfgUi(struct cart *cart, struct trackDb *tdb, char *name, char *title, boolean boxed);
 /* LRG: Locus Reference Genomic sequences mapped to assembly. */
 
 void lrgTranscriptAliCfgUi(struct cart *cart, struct trackDb *tdb, char *name, char *title,
 			   boolean boxed);
 /* LRG Transcripts: Locus Reference Genomic transcript sequences mapped to assembly. */