ed15a8bdc6236a00d9cbb42ab630d2953649c131
kate
  Sun Jan 19 20:42:29 2014 -0800
Add trackDb setting, 'motifDrawDefault', and UI checkbox to alter whether motifs are highlighted. refs #9092
diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c
index d6f6198..03a1b4e 100644
--- src/hg/hgTrackUi/hgTrackUi.c
+++ src/hg/hgTrackUi/hgTrackUi.c
@@ -2476,33 +2476,46 @@
     valueArr[refCount++] = cloneString(pmId);
     if (! filterPmIdInCart)
 	slNameAddHead(&checked, pmId);
     if (refCount >= MAX_DGV_REFS)
 	errAbort("dgvUi: %s has too many references (max %d)", tdb->track, MAX_DGV_REFS);
     }
 sqlFreeResult(&sr);
 jsMakeCheckboxGroupSetClearButton(cartVarName, TRUE);
 jsMakeCheckboxGroupSetClearButton(cartVarName, FALSE);
 cgiMakeCheckboxGroupWithVals(cartVarName, labelArr, valueArr, refCount, checked, 4);
 hFreeConn(&conn);
 }
 
 static void factorSourceUi(char *db, struct trackDb *tdb)
 {
-printf("<BR><B>Cell Abbreviations:</B><BR>\n");
+if (trackDbSetting(tdb, "motifTable") != NULL)
+    {
+    char varName[64];
+    printf("<BR><B>Highlight motifs: </B> ");
+    safef(varName, sizeof(varName), "%s.highlightMotifs", tdb->track);
+    cartMakeCheckBox(cart, varName, trackDbSettingClosestToHomeOn(tdb, "motifDrawDefault"));
+    }
+
+puts("<P></P>");
+puts("<TABLE>");
+jsBeginCollapsibleSectionFontSize(cart, tdb->track, "cellSources", "Cell Abbreviations", TRUE, "medium");
+//printf("<BR><B>Cell Abbreviations:</B><BR>\n");
 struct sqlConnection *conn = hAllocConn(db);
 hPrintFactorSourceAbbrevTable(conn, tdb);
+jsEndCollapsibleSection();
+puts("</TABLE>");
 hFreeConn(&conn);
 }
 
 #ifdef UNUSED
 static boolean isInTrackList(struct trackDb *tdbList, struct trackDb *target)
 /* Return TRUE if target is in tdbList. */
 {
 struct trackDb *tdb;
 for (tdb = tdbList; tdb != NULL; tdb = tdb->next)
     if (tdb == target)
         return TRUE;
 return FALSE;
 }
 #endif /* UNUSED */