src/hg/lib/hui.c 1.176
1.176 2009/03/17 04:35:41 hiram
allow net tracks to color by gray scale, and fixing chain tracks Ui options
Index: src/hg/lib/hui.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/hui.c,v
retrieving revision 1.175
retrieving revision 1.176
diff -b -B -U 4 -r1.175 -r1.176
--- src/hg/lib/hui.c 16 Mar 2009 22:23:11 -0000 1.175
+++ src/hg/lib/hui.c 17 Mar 2009 04:35:41 -0000 1.176
@@ -1025,8 +1025,35 @@
{
cgiMakeDropList(var, rosettaExonOptions, ArraySize(rosettaExonOptions), curVal);
}
+/****** Options for the net track color options *******/
+static char *netColorOptions[] = {
+ CHROM_COLORS,
+ GRAY_SCALE
+ };
+
+enum netColorEnum netColorStringToEnum(char *string)
+/* Convert from string to enum representation. */
+{
+int x = stringIx(string, netColorOptions);
+if (x < 0)
+ errAbort("hui::netColorStringToEnum() - Unknown option %s", string);
+return x;
+}
+
+char *netColorEnumToString(enum netColorEnum x)
+/* Convert from enum to string representation. */
+{
+return netColorOptions[x];
+}
+
+void netColorDropDown(char *var, char *curVal)
+/* Make drop down of options. */
+{
+cgiMakeDropList(var, netColorOptions, ArraySize(netColorOptions), curVal);
+}
+
/****** Options for the chain track color options *******/
static char *chainColorOptions[] = {
CHROM_COLORS,
SCORE_COLORS,
@@ -2552,9 +2579,9 @@
case cfgGenePred: genePredCfgUi(cart,tdb,prefix,title,boxed);
break;
case cfgChain: chainCfgUi(db,cart,tdb,prefix,title,boxed);
break;
- case cfgNetAlign:
+ case cfgNetAlign: netAlignCfgUi(db,cart,tdb,prefix,title,boxed);
break;
default: warn("Track type is not known to multi-view composites.");
break;
}
@@ -3140,8 +3167,42 @@
}
cfgEndBox(boxed);
}
+void netAlignCfgUi(char *db, struct cart *cart, struct trackDb *tdb, char *prefix, char *title, boolean boxed)
+/* Put up UI for net tracks */
+{
+cfgBeginBoxAndTitle(boxed, title);
+
+boolean compositeLevel = isNameAtCompositeLevel(tdb,prefix);
+
+char * netColor = trackDbSettingClosestToHomeOrDefault(tdb, NET_COLOR, CHROM_COLORS);
+/* allow cart to override trackDb */
+netColor = cartUsualStringClosestToHome(cart, tdb, compositeLevel, NET_COLOR, netColor);
+
+char options[1][256]; /* our option strings here */
+snprintf( &options[0][0], 256, "%s.%s", prefix, NET_COLOR );
+printf("<p><b>Color nets by: </b>");
+netColorDropDown(&options[0][0], netColor);
+#ifdef NOT
+
+freeMem (colorOpt);
+
+char *filterSetting;
+char filterVar[256];
+char *filterVal = "";
+
+printf("<p><b>Filter by chromosome (e.g. chr10):</b> ");
+snprintf(filterVar, sizeof(filterVar), "%s.chromFilter", prefix);
+filterSetting = cartUsualString(cart, filterVar, filterVal);
+cgiMakeTextVar(filterVar, cartUsualString(cart, filterVar, filterSetting), 15);
+
+scoreCfgUi(db, cart,tdb,prefix,NULL,2000000000,FALSE);
+#endif
+
+cfgEndBox(boxed);
+}
+
void chainCfgUi(char *db, struct cart *cart, struct trackDb *tdb, char *prefix, char *title, boolean boxed)
/* Put up UI for chain tracks */
{
cfgBeginBoxAndTitle(boxed, title);