66f4a4f612d7e7cceed2353d2bff2a120d9beec8
tdreszer
  Thu Jul 21 17:10:04 2011 -0700
Support (in progress) for subtrack vis as separate control.
diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index f557343..b86db3c 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -4068,35 +4068,46 @@
         }
     if (membersForAll->members[dimV] && -1 != (ix = stringArrayIx(membersForAll->members[dimV]->groupTag, membership->subgroups, membership->count)))
         dyStringPrintf(dyHtml, " %s",membership->membership[ix]);  // Saved view for last
 
     // And finally the checkBox is made!
     char htmlIdentifier[SMALLBUF];
     safef(htmlIdentifier, sizeof(htmlIdentifier), "%s_sel", subtrack->track);
     cgiMakeCheckBoxFourWay(htmlIdentifier,checkedCB,enabledCB,id,dyStringContents(dyHtml),"onclick='matSubCbClick(this);' style='cursor:pointer'");
     if (useDragAndDrop)
         printf(" ");
 
 #ifdef SUBTRACK_CFG
     if (cType != cfgNone)  // make a wrench
         {
         // TODO: make vis dd or vis text inp or vis img.  Alternatively, make '*' to denote there are subtrack level differences.
-    //#define SUBTRACK_CFG_VIS_SEEN
+    #define SUBTRACK_CFG_VIS_SEEN
     #ifdef SUBTRACK_CFG_VIS_SEEN
         enum trackVisibility vis = tdbVisLimitedByAncestry(cart, subtrack, TRUE);
-        #define SUBTRACK_CFG_WRENCH "<a href='#a_cfg' onclick='return scm.cfgToggle(\"%s\");' title='Configure this %s subtrack'><img src='../images/wrench.png'></a>\n"
-        printf(SUBTRACK_CFG_WRENCH,subtrack->track,hStringFromTv(vis));
+        if (fourStateVisible(fourState))
+            {
+            safef(htmlIdentifier, sizeof(htmlIdentifier), " onclick='return scm.cfgToggle(\"%s\");'%s",subtrack->track,(fourStateVisible(fourState) ?"":" disabled"));
+            hTvDropDownClassVisOnlyAndExtra(subtrack->track,vis,TRUE,"normalText subVisDD", NULL,htmlIdentifier);
+            }
+        else
+            {
+            #define SUBTRACK_CFG_VIS "<div id= '%s_faux' class='clickable fauxInput%s' style='width:65px;' onclick='return scm.replaceWithVis(this,\"%s\",true);'>%s</div>\n"
+            printf(SUBTRACK_CFG_VIS,subtrack->track,(fourStateVisible(fourState) ?"":" disabled"),subtrack->track,hStringFromTv(vis));
+            }
+        #define SUBTRACK_CFG_WRENCH "<a href='#a_cfg' onclick='return scm.cfgToggle(\"%s\");' title='Configure this subtrack'><img src='../images/wrench.png'></a>\n"
+        printf(SUBTRACK_CFG_WRENCH,subtrack->track);
+        // HAIB TFBS: wrench:7s  text:9s  dd:11s  none:7s
         // TODO: all of this
     #else///ifndef SUBTRACK_CFG_VIS_SEEN
         #define SUBTRACK_CFG_STARRED
         #ifdef SUBTRACK_CFG_STARRED
             //lmCleanup(&lm);
             //struct lm *lm = lmInit(0); // FIXME: If used, move lmInit to outside of subtrack loop.
             //struct slPair *changeViewSettings = cartVarsWithPrefixLm(cart, subtrack->track, lm);
             struct slPair *subSpecificSettings = cartVarsWithPrefix(cart, subtrack->track);
             htmlIdentifier[0] = '\0';
             if (subSpecificSettings)
                 {
                 // Not interested in some:
                 struct slPair *subSpecificFiltered = NULL;
                 struct slPair *onePair;
                 while(subSpecificSettings)