818ea30b1cb9ac557a82ee0529ecef13005ed553 braney Wed Jun 3 18:36:52 2015 -0700 Revert "support setting transMap track default item labeling in trackDb (#15440)" This reverts commit ec6300a5b8e9b70968f7657becefb23ef9b23021. diff --git src/hg/hgTracks/transMapTracks.c src/hg/hgTracks/transMapTracks.c index c490bca..b41a7f4 100644 --- src/hg/hgTracks/transMapTracks.c +++ src/hg/hgTracks/transMapTracks.c @@ -18,58 +18,64 @@ if (val != NULL) { if (label->stringSize > 0) dyStringAppendC(label, ' '); dyStringAppend(label, val); } } /* bit set of labels to use */ enum {useOrgCommon = 0x01, useOrgAbbrv = 0x02, useOrgDb = 0x04, useGene = 0x08, useAcc = 0x10}; -static boolean isLabelTypeEnabled(struct track *tg, char *labelNameSuffix, - boolean defaultVal) -/* determine if a particular type of label is enabled for this track. - * check cart, settings, and then use default. - */ -{ -/* some how the closest to home magic prepends the track name for cart */ -char settingName[64]; -safef(settingName, sizeof(settingName), "label.%s", labelNameSuffix); -fprintf(stderr, "%s\n", tg->tdb->settings); -return cartOrTdbBoolean(cart, tg->tdb, settingName, defaultVal); -} - static unsigned getLabelTypes(struct track *tg) /* get set of labels to use */ { unsigned labelSet = 0; -if (isLabelTypeEnabled(tg, "orgCommon", transMapLabelDefaultOrgCommon)) +// label setting are on parent track +char prefix[128]; +safef(prefix, sizeof(prefix), "%s.label", tg->tdb->track); +struct hashEl *labels = cartFindPrefix(cart, prefix); + +if (labels == NULL) + { + // default to common name+accession and save this in cart so it makes sense in trackUi + labelSet = useOrgCommon|useAcc; + char setting[64]; + safef(setting, sizeof(setting), "%s.label.acc", tg->tdb->track); + cartSetBoolean(cart, setting, TRUE); + safef(setting, sizeof(setting), "%s.label.orgCommon", tg->tdb->track); + cartSetBoolean(cart, setting, TRUE); + } +struct hashEl *label; +for (label = labels; label != NULL; label = label->next) + { + if (endsWith(label->name, ".orgCommon") && differentString(label->val, "0")) labelSet |= useOrgCommon; -if (isLabelTypeEnabled(tg, "orgAbbrv", transMapLabelDefaultOrgAbbrv)) + else if (endsWith(label->name, ".orgAbbrv") && differentString(label->val, "0")) labelSet |= useOrgAbbrv; -if (isLabelTypeEnabled(tg, "db", transMapLabelDefaultDb)) + else if (endsWith(label->name, ".db") && differentString(label->val, "0")) labelSet |= useOrgDb; -if (isLabelTypeEnabled(tg, "gene", transMapLabelDefaultGene)) + else if (endsWith(label->name, ".gene") && differentString(label->val, "0")) labelSet |= useGene; -if (isLabelTypeEnabled(tg, "acc", transMapLabelDefaultAcc)) + else if (endsWith(label->name, ".acc") && differentString(label->val, "0")) labelSet |= useAcc; + } return labelSet; } static void getItemLabel(struct sqlConnection *conn, char *transMapInfoTbl, struct sqlConnection *geneConn, char *transMapGeneTbl, unsigned labelSet, struct linkedFeatures *lf) /* get label for a transMap item */ { struct transMapInfo *info = NULL; struct transMapGene *gene = NULL; boolean srcDbExists = FALSE; if (labelSet & (useOrgCommon|useOrgAbbrv|useOrgDb|useGene)) { info = transMapInfoQuery(conn, transMapInfoTbl, lf->name);