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 "\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 "
%s
\n" + printf(SUBTRACK_CFG_VIS,subtrack->track,(fourStateVisible(fourState) ?"":" disabled"),subtrack->track,hStringFromTv(vis)); + } + #define SUBTRACK_CFG_WRENCH "\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)