b5d34fef6610916dc89c85f83c0e1f719f6969c3
kate
  Mon Aug 31 20:13:15 2020 -0700
Add support for mouseOver (pattern) trackDb setting (initially to bigLolly). refs #26160

diff --git src/hg/inc/hui.h src/hg/inc/hui.h
index e15931c..2eb5db6 100644
--- src/hg/inc/hui.h
+++ src/hg/inc/hui.h
@@ -1523,30 +1523,33 @@
 struct hash *vocabBasicFromSetting(struct trackDb *parentTdb, struct cart *cart);
 /* Get description and URL for all vocabTables. Returns a hash of hashes */
 
 boolean vocabSettingIsEncode(char *setting);
 /* Distinguish ENCODE controlled vocab settings (first arg is cv.ra filename) from non-ENCODE 
     (table-based vocabs)
 */
 
 boolean isEncode2(char *database, char *track);
 /* Return true for tracks created by UCSC DCC during ENCODE production phase */
 
 char *replaceInUrl(char *url, char *idInUrl, struct cart *cart, char *db, char *seqName, 
                         int winStart, int winEnd, char *track, boolean encode, struct slPair *fields) ;
 /* replace $$ in url with idInUrl. Supports many other wildchards, and custom fields $<field> */
 
+char *replaceFieldInPattern(char *pattern, int fieldCount, char **fieldNames, char **fieldVals);
+/* Replace $fieldName in pattern with value.  Used in trackDb mouseOver setting */
+
 struct slPair *buildFieldList(struct trackDb *tdb, char *trackDbVar, struct asObject *as);
 /* Build up a hash of a list of fields in an AS file. */
 
 char *checkDataVersion(char *database, struct trackDb *tdb);
 /* see if trackDb has a dataVersion setting and check that file for version */
 
 void printDataVersion(char *database, struct trackDb *tdb);
 /* If this annotation has a dataVersion setting, print it.
  * check hgFixed.trackVersion, meta data and trackDb 'dataVersion'. */
 
 void labelMakeCheckBox(struct cart *cart, struct trackDb *tdb, char *sym, char *desc,
                        boolean defaultOn);
 /* add a checkbox for the user to select a component of a label (e.g. ID, name, other info).
  * NOTE: This does not have a track name argument, so the correct tdb must be passed in:
  * if setting is at composite level, then pass in composite tdb, likewise for view. */