29cda3bb2fb4fa07a300e12de17ba83377706a65
tdreszer
Fri Jul 29 17:54:52 2011 -0700
More incremental changes before i most switch back to the master brqanch
diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index a67a151..0e357c9 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -4056,40 +4056,54 @@
if (membersForAll->members[di] && -1 != (ix = stringArrayIx(membersForAll->members[di]->groupTag, membership->subgroups, membership->count)))
dyStringPrintf(dyHtml," %s",membership->membership[ix]);
}
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!
safef(buffer, sizeof(buffer), "%s_sel", subtrack->track);
cgiMakeCheckBoxFourWay(buffer,checkedCB,enabledCB,id,dyStringContents(dyHtml),"onclick='matSubCbClick(this);' style='cursor:pointer'");
if (useDragAndDrop)
printf(" ");
#ifdef SUBTRACK_CFG
#define SUBTRACK_CFG_VIS_SEEN
#ifdef SUBTRACK_CFG_VIS_SEEN
- enum trackVisibility vis = tdbVisLimitedByAncestry(cart, subtrack, TRUE);
+ enum trackVisibility vis = tdbVisLimitedByAncestors(cart,subtrack,FALSE,FALSE);
+ char *view = NULL;
+ if (membersForAll->members[dimV] && -1 != (ix = stringArrayIx(membersForAll->members[dimV]->groupTag, membership->subgroups, membership->count)))
+ view = membership->membership[ix];
+ //enum trackVisibility vis = tdbVisLimitedByAncestry(cart, subtrack, TRUE);
//if (fourStateVisible(fourState))
// {
// safef(buffer, sizeof(buffer), " onclick='return scm.cfgToggle(\"%s\");'%s",subtrack->track,(fourStateVisible(fourState) ?"":" disabled"));
- // hTvDropDownClassVisOnlyAndExtra(subtrack->track,vis,TRUE,"normalText subVisDD", NULL,buffer);
+ // char classList[256];
+ // if (view != NULL)
+ // safef(classList,sizeof(classList),"normalText subVisDD %s",view);
+ // else
+ // safecpy(classList,sizeof(classList),"normalText subVisDD");
+ // hTvDropDownClassVisOnlyAndExtra(subtrack->track,vis,TRUE,classList, NULL,buffer);
// }
//else
// {
- #define SUBTRACK_CFG_VIS "
%s
\n"
- printf(SUBTRACK_CFG_VIS,subtrack->track,(visibleCB ? "":" disabled"),subtrack->track,hStringFromTv(vis));
+ char classList[256];
+ if (view != NULL)
+ safef(classList,sizeof(classList),"clickable fauxInput%s subVisDD %s",(visibleCB ? "":" disabled"),view); // view should be last!
+ else
+ safef(classList,sizeof(classList),"clickable fauxInput%s subVisDD",(visibleCB ? "":" disabled"));
+ #define SUBTRACK_CFG_VIS "%s
\n"
+ printf(SUBTRACK_CFG_VIS,subtrack->track,classList,subtrack->track,hStringFromTv(vis));
// }
#endif///def SUBTRACK_CFG_VIS_SEEN
if (cType != cfgNone) // make a wrench
{
//#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);
buffer[0] = '\0';
if (subSpecificSettings)
{
// Not interested in some:
struct slPair *subSpecificFiltered = NULL;
@@ -7123,31 +7137,31 @@
enum trackVisibility tdbVisLimitedByAncestors(struct cart *cart, struct trackDb *tdb, boolean checkBoxToo, boolean foldersToo)
// returns visibility limited by ancestry. This includes subtrack vis override and parents limit maximum.
// cart may be null, in which case, only trackDb settings (default state) are examined
// checkBoxToo means ensure subtrack checkbox state is visible
// foldersToo means limit by folders (aka superTracks) as well.
{
boolean subtrackOverride = FALSE;
enum trackVisibility vis = tdbLocalVisibility(cart,tdb,&subtrackOverride);
if (subtrackOverride)
return vis;
// subtracks without explicit (cart) vis but are selected, should get inherited vis
if (tdbIsContainerChild(tdb))
{
- if (checkBoxToo && fourStateVisible(subtrackFourStateChecked(tdb,cart)))
+ if (!checkBoxToo || fourStateVisible(subtrackFourStateChecked(tdb,cart)))
vis = tvFull; // to be limited by ancestry
}
if (vis == tvHide || tdb->parent == NULL || (!foldersToo && tdbIsFolder(tdb->parent))) // aka superTrack
return vis; // end of line
return tvMin(vis,tdbVisLimitedByAncestors(cart,tdb->parent,checkBoxToo,foldersToo));
}
char *compositeViewControlNameFromTdb(struct trackDb *tdb)
/* Returns a string with the composite view control name if one exists */
{
char *stView = NULL;
char *name = NULL;
char *rootName = NULL;