61980d2979fb66d48ad2e0d1de6f6be0a450ad19
hiram
  Wed Sep 1 11:17:30 2010 -0700
consolidate the baseColor drop down box code to a single instance
diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index 2adb068..ae2a90a 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -954,16 +954,15 @@
 return gotIt;
 }
 
-void baseColorDrawOptDropDown(struct cart *cart, struct trackDb *tdb)
-/* Make appropriately labeled drop down of options if any are applicable.*/
+static void baseColorDropLists(struct cart *cart, struct trackDb *tdb)
+/* draw the baseColor drop list options */
 {
 enum baseColorDrawOpt curOpt = baseColorDrawOptEnabled(cart, tdb);
 char *curValue = baseColorDrawAllOptionValues[curOpt];
 char var[512];
+safef(var, sizeof(var), "%s." BASE_COLOR_VAR_SUFFIX, tdb->track);
 boolean gotCds = baseColorGotCds(tdb);
 boolean gotSeq = baseColorGotSequence(tdb);
-
-safef(var, sizeof(var), "%s." BASE_COLOR_VAR_SUFFIX, tdb->track);
 if (gotCds && gotSeq)
     {
     puts("<P><B>Color track by codons or bases:</B>");
@@ -996,6 +995,12 @@
     }
 }
 
+void baseColorDrawOptDropDown(struct cart *cart, struct trackDb *tdb)
+/* Make appropriately labeled drop down of options if any are applicable.*/
+{
+baseColorDropLists(cart, tdb);
+}
+
 enum baseColorDrawOpt baseColorDrawOptEnabled(struct cart *cart,
 					      struct trackDb *tdb)
 /* Query cart & trackDb to determine what drawing mode (if any) is enabled. */
@@ -1005,7 +1010,7 @@
 assert(tdb);
 
 /* trackDb can override default of OFF; cart can override trackDb. */
-stringVal = trackDbSettingOrDefault(tdb, BASE_COLOR_DEFAULT,
+stringVal = trackDbSettingClosestToHomeOrDefault(tdb, BASE_COLOR_DEFAULT,
 				    BASE_COLOR_DRAW_OFF);
 stringVal = cartUsualStringClosestToHome(cart, tdb, FALSE, BASE_COLOR_VAR_SUFFIX,stringVal);
 
@@ -4555,53 +4560,8 @@
 /* Put up UI for psl tracks */
 {
 boxed = cfgBeginBoxAndTitle(tdb, boxed, title);
-
-fprintf(stderr, "pslCfgUi: entered for '%s'\n", tdb->table);
-
-char * baseColor = trackDbSettingClosestToHomeOrDefault(tdb, BASE_COLOR_DEFAULT, BASE_COLOR_DRAW_OFF);
-baseColor = cartUsualStringClosestToHome(cart, tdb, FALSE, BASE_COLOR_VAR_SUFFIX,baseColor);
-enum baseColorDrawOpt baseColorOpt = baseColorDrawOptStringToEnum(baseColor);
-char *baseColorValue = baseColorDrawAllOptionValues[baseColorOpt];
-boolean gotCds = baseColorGotCds(tdb);
-boolean gotSeq = baseColorGotSequence(tdb);
-
-fprintf(stderr, "baseColor: '%s', gotCds: %s, gotSeq: %s\n",
-    baseColor, gotCds ? "TRUE" : "FALSE", gotSeq ? "TRUE" : "FALSE");
-char var[512];
-safef(var, sizeof(var), "%s." BASE_COLOR_VAR_SUFFIX, tdb->track);
-if (gotCds && gotSeq)
-    {
-    puts("<P><B>Color track by codons or bases:</B>");
-    cgiMakeDropListFull(var, baseColorDrawAllOptionLabels,
-			baseColorDrawAllOptionValues,
-			ArraySize(baseColorDrawAllOptionLabels),
-			baseColorValue, NULL);
-    printf("<BR><A HREF=\"%s\">Help on mRNA coloring</A><BR>",
-	   CDS_MRNA_HELP_PAGE);
-    }
-else if (gotCds)
-    {
-    puts("<P><B>Color track by codons:</B>");
-    cgiMakeDropListFull(var, baseColorDrawGenomicOptionLabels,
-			baseColorDrawGenomicOptionValues,
-			ArraySize(baseColorDrawGenomicOptionLabels),
-			baseColorValue, NULL);
-    printf("<BR><A HREF=\"%s\">Help on codon coloring</A><BR>",
-	   CDS_HELP_PAGE);
-    }
-else if (gotSeq)
-    {
-    puts("<P><B>Color track by bases:</B>");
-    cgiMakeDropListFull(var, baseColorDrawItemOptionLabels,
-			baseColorDrawItemOptionValues,
-			ArraySize(baseColorDrawItemOptionLabels),
-			baseColorValue, NULL);
-    printf("<BR><A HREF=\"%s\">Help on base coloring</A><BR>",
-	   CDS_BASE_HELP_PAGE);
-    }
-
+baseColorDropLists(cart, tdb);
 indelShowOptions(cart, tdb);
-
 cfgEndBox(boxed);
 }