src/hg/lib/hui.c 1.172

1.172 2009/03/12 00:05:45 hiram
Fixup chain and net trackUi so they will work in multi-views
Index: src/hg/lib/hui.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/hui.c,v
retrieving revision 1.171
retrieving revision 1.172
diff -b -B -U 4 -r1.171 -r1.172
--- src/hg/lib/hui.c	11 Mar 2009 23:08:28 -0000	1.171
+++ src/hg/lib/hui.c	12 Mar 2009 00:05:45 -0000	1.172
@@ -2550,8 +2550,10 @@
     case cfgWigMaf:     wigMafCfgUi(cart,tdb,prefix,title,boxed, db);
                         break;
     case cfgGenePred:   genePredCfgUi(cart,tdb,prefix,title,boxed);
                         break;
+    case cfgChain:      chainCfgUi(db,cart,tdb,prefix,title,boxed);
+                        break;
     default:            warn("Track type is not known to multi-view composites.");
                         break;
     }
 }
@@ -3129,8 +3131,36 @@
     }
 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);
+
+char options[1][256];	/*	our option strings here	*/
+char *colorOpt;
+(void) chainFetchColorOption(cart, tdb, &colorOpt);
+snprintf( &options[0][0], 256, "%s.%s", tdb->tableName, OPT_CHROM_COLORS );
+printf("<p><b>Color chains by:&nbsp;</b>");
+chainColorDropDown(&options[0][0], colorOpt);
+
+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", tdb->tableName);
+filterSetting = cartUsualString(cart, filterVar, filterVal);
+cgiMakeTextVar(filterVar, cartUsualString(cart, filterVar, ""), 15);
+
+scoreCfgUi(db, cart,tdb,tdb->tableName,NULL,2000000000,FALSE);
+
+cfgEndBox(boxed);
+}
+
 static void showScoreLimits(struct trackDb *tdb, char *preText,char *scoreName,char *defaults)
 {
 char scoreLimitName[64];
 safef(scoreLimitName, sizeof(scoreLimitName), "%s%s", scoreName, _LIMITS);