b3a736d38fd7948fc25161abcfbd9aeb57d98d77
tdreszer
  Fri Jan 28 16:36:21 2011 -0800
Made cfgByCfgType() public so that hgTrackUi can standardize to this call.
diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index 44c342d..c75e1f1 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -3742,31 +3742,32 @@
 for (tdbRef = *tdbRefList; tdbRef != NULL; tdbRef = tdbRef->next)
     {
     struct trackDb *tdb = tdbRef->val;
     safef(htmlIdentifier, sizeof(htmlIdentifier), "%s.priority", tdb->track);
     char *cartHas = cartOptionalString(cart,htmlIdentifier);
     if(cartHas != NULL)
 	{
 	tdb->priority = atof(cartHas);
 	cartPriorities = TRUE;
 	}
     }
 slSort(tdbRefList, trackDbRefCmp);
 return cartPriorities;
 }
 
-static void cfgByCfgType(eCfgType cType,char *db, struct cart *cart, struct trackDb *tdb,char *prefix, char *title, boolean boxed)
+void cfgByCfgType(eCfgType cType,char *db, struct cart *cart, struct trackDb *tdb,char *prefix, char *title, boolean boxed)
+// Methods for putting up type specific cfgs used by composites/subtracks in hui.c and exported for common use
 {
 switch(cType)
     {
     case cfgBedScore:
 	{
 	char *scoreMax = trackDbSettingClosestToHome(tdb, SCORE_FILTER _MAX);
 	int maxScore = (scoreMax ? sqlUnsigned(scoreMax):1000);
 	scoreCfgUi(db, cart,tdb,prefix,title,maxScore,boxed);
 	}
 	break;
     case cfgPeak:
                         encodePeakCfgUi(cart,tdb,prefix,title,boxed);
                         break;
     case cfgWig:        wigCfgUi(cart,tdb,prefix,title,boxed);
                         break;
@@ -4736,34 +4737,34 @@
     }
 if(min && limitMin && (int)(*min) != NO_VALUE && *min < *limitMin) *min = *limitMin; // defaults within range
 if(min && limitMax && (int)(*min) != NO_VALUE && *min > *limitMax) *min = *limitMax;
 if(max && limitMax && (int)(*max) != NO_VALUE && *max > *limitMax) *max = *limitMax;
 if(max && limitMin && (int)(*max) != NO_VALUE && *max < *limitMin) *max = *limitMin;
 }
 
 void scoreCfgUi(char *db, struct cart *cart, struct trackDb *tdb, char *name, char *title,  int maxScore, boolean boxed)
 /* Put up UI for filtering bed track based on a score */
 {
 char option[256];
 boolean compositeLevel = isNameAtCompositeLevel(tdb,name);
 filterBy_t *filterBySet = filterBySetGet(tdb,cart,name);
 if(filterBySet != NULL)
     {
-    if(!tdbIsComposite(tdb) && !tdbIsCompositeChild(tdb))
+    if(!tdbIsComposite(tdb))
         jsIncludeFile("hui.js",NULL);
 
-    filterBySetCfgUi(tdb,filterBySet);
+    filterBySetCfgUi(tdb,filterBySet);   // Note filterBy boxes don't need to be double "boxed"
     filterBySetFree(&filterBySet);
     return; // Cannot have both 'filterBy' score and 'scoreFilter'
     }
 
 
 boolean scoreFilterOk = (trackDbSettingClosestToHome(tdb, NO_SCORE_FILTER) == NULL);
 boolean glvlScoreMin = (trackDbSettingClosestToHome(tdb, GRAY_LEVEL_SCORE_MIN) != NULL);
 if (! (scoreFilterOk || glvlScoreMin))
     return;
 
 boxed = cfgBeginBoxAndTitle(tdb, boxed, title);
 
 if (scoreFilterOk)
     {
     int minLimit=0,maxLimit=maxScore,minVal=0,maxVal=maxScore;