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);