75d98e0605289c832753618a335ccffccce9fc60 kate Thu Jan 30 22:21:45 2014 -0800 Add multi-select filter for factors to factorSource config page diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c index 21157f4..e1296c5 100644 --- src/hg/hgTrackUi/hgTrackUi.c +++ src/hg/hgTrackUi/hgTrackUi.c @@ -2483,30 +2483,38 @@ jsMakeCheckboxGroupSetClearButton(cartVarName, TRUE); jsMakeCheckboxGroupSetClearButton(cartVarName, FALSE); cgiMakeCheckboxGroupWithVals(cartVarName, labelArr, valueArr, refCount, checked, 4); hFreeConn(&conn); } static void factorSourceUi(char *db, struct trackDb *tdb) { 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")); } +// Multi-select filter on factors +// NOTE: doesn't currently support track type in composites +filterBy_t *filters = filterBySetGet(tdb, cart, tdb->track); +if (filters == NULL) + return; +puts("<p>"); +filterBySetCfgUi(cart, tdb, filters, TRUE); +filterBySetFree(&filters); } #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 */ void superTrackUi(struct trackDb *superTdb, struct trackDb *tdbList)