d24f68e60112fbd009085ec5f7a7d59b05160cec
tdreszer
  Tue Nov 1 10:10:40 2011 -0700
Added extraFields support for bigBeds in hgc.
diff --git src/hg/inc/hui.h src/hg/inc/hui.h
index a5aea1c..2d821a4 100644
--- src/hg/inc/hui.h
+++ src/hg/inc/hui.h
@@ -1220,16 +1220,39 @@
 // Methods for putting up type specific cfgs used by composites/subtracks in hui.c and exported for common use
 
 boolean cfgBeginBoxAndTitle(struct trackDb *tdb, boolean boxed, char *title);
 /* Handle start of box and title for individual track type settings */
 
 void cfgEndBox(boolean boxed);
 /* Handle end of box and title for individual track type settings */
 
 void printUpdateTime(char *database, struct trackDb *tdb,
     struct customTrack *ct);
 /* display table update time, or in case of bbi file, file stat time */
 
 void printBbiUpdateTime(time_t *timep);
 /* for bbi files, print out the timep value */
 
+enum fieldType {
+    ftString  =0,
+    ftInteger =1,
+    ftFloat   =2,
+};
+
+struct extraField {
+// extraFileds are defined in trackDb and provide labls and can be used in filtering
+    struct extraField *next;
+    char *name;                 // name of field
+    char *label;                // Label (which could include HTML)
+    enum fieldType type;        // string, int, float
+    };
+
+struct extraField *extraFieldsGet(struct trackDb *tdb);
+// returns any extraFields defined in trackDb
+
+struct extraField *extraFieldsFind(struct extraField *extras, char *name);
+// returns the extraField matching the name (case insensitive).  Note: slNameFind does NOT work.
+
+void extraFieldsFree(struct extraField **pExtras);
+// frees all mem for extraFields list
+
 #endif /* HUI_H */