397ef4cb75a35e5563e1be6e9cbc131893e8acc4 kate Fri Jan 31 13:44:27 2014 -0800 Add UI checkbox to suppress display of cell abbreviations. diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c index e1296c5..f16c3bc 100644 --- src/hg/hgTrackUi/hgTrackUi.c +++ src/hg/hgTrackUi/hgTrackUi.c @@ -2476,47 +2476,64 @@ 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) { -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; +if (filters != NULL) + { puts("<p>"); filterBySetCfgUi(cart, tdb, filters, TRUE); filterBySetFree(&filters); } +char varName[64]; +printf("<BR><B>Show cell abbreviations (to right of cluster): </B> "); +safef(varName, sizeof(varName), "%s.showCellAbbrevs", tdb->track); +cartMakeCheckBox(cart, varName, TRUE); + +puts("<p><table>"); +jsBeginCollapsibleSectionFontSize(cart, tdb->track, "cellSources", "Cell Abbreviations", FALSE, + "medium"); +struct sqlConnection *conn = hAllocConn(db); +hPrintFactorSourceAbbrevTable(conn, tdb); +jsEndCollapsibleSection(); +puts("</table>"); +hFreeConn(&conn); + + + +if (trackDbSetting(tdb, "motifTable") != NULL) + { + printf("<BR><B>Highlight motifs: </B> "); + safef(varName, sizeof(varName), "%s.highlightMotifs", tdb->track); + cartMakeCheckBox(cart, varName, trackDbSettingClosestToHomeOn(tdb, "motifDrawDefault")); + } +} + #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) /* List tracks in this collection, with visibility controls and UI links */ {