60c5496c1df3ae97de10b263e01b7698afbfc743 tdreszer Fri Oct 28 14:28:10 2011 -0700 Eliminated a couple more vars from cart and FINALY got rid of funky comp.view.vis cart name. All vis is not standardized to trackName since view is a track. diff --git src/hg/lib/hui.c src/hg/lib/hui.c index 8304e61..32c4656 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -38,32 +38,30 @@ #define ADD_BUTTON_LABEL "add" #define CLEAR_BUTTON_LABEL "clear" #define JBUFSIZE 2048 //#define PM_BUTTON "\"%s\"\n" //#define DEF_BUTTON "\"%s\"\n" //#define DEFAULT_BUTTON(nameOrId,anc,beg,contains) printf(DEF_BUTTON,(anc),(anc),(nameOrId), (beg),(contains),(nameOrId),(beg),(contains),(anc),"defaults_sm.png","default") //#define PLUS_BUTTON(nameOrId,anc,beg,contains) printf(PM_BUTTON, (anc),(anc),(nameOrId),"true", (beg),(contains),(anc),"add_sm.gif", "+") //#define MINUS_BUTTON(nameOrId,anc,beg,contains) printf(PM_BUTTON, (anc),(anc),(nameOrId),"false",(beg),(contains),(anc),"remove_sm.gif","-") #define PM_BUTTON "\"%s\"\n" #define DEF_BUTTON "\"%s\"\n" #define DEFAULT_BUTTON(nameOrId,anc,beg,contains) printf(DEF_BUTTON,(nameOrId), (beg),(contains),(nameOrId),(beg),(contains),(anc),"defaults_sm.png","default") #define PLUS_BUTTON(nameOrId,anc,beg,contains) printf(PM_BUTTON, (nameOrId),"true", (beg),(contains),(anc),"add_sm.gif", "+") #define MINUS_BUTTON(nameOrId,anc,beg,contains) printf(PM_BUTTON, (nameOrId),"false",(beg),(contains),(anc),"remove_sm.gif","-") -#define SUBTRACK_CFG - struct trackDb *wgEncodeDownloadDirKeeper(char *db, struct trackDb *tdb, struct hash *trackHash) /* Look up through self and parents, looking for someone responsible for handling * where the downloads are. */ { if (!tdbIsDownloadsOnly(tdb) && !sameString(tdb->table, tdb->track) && trackHash) { tdb = hashFindVal(trackHash, tdb->table); if (tdb == NULL) errAbort("Can't find track for table %s in wgEncodeDownloadDirKeeper", tdb->table); } return trackDbTopLevelSelfOrParent(tdb); } static char *htmlStringForDownloadsLink(char *database, struct trackDb *tdb,char *name,boolean nameIsFile, struct hash *trackHash) @@ -3132,31 +3130,31 @@ if(colA->value != NULL && colB->value != NULL) compared = strcmp(colA->value, colB->value) * (colA->fwd? 1: -1); } if(compared != 0) return compared; return strcasecmp(a->tdb->shortLabel, b->tdb->shortLabel); // Last chance } void sortTdbItemsAndUpdatePriorities(sortableTdbItem **items) // sort items in list and then update priorities of item tdbs { if(items != NULL && *items != NULL) { slSort(items, sortableTdbItemsCmp); - int priority=10001; // Setting priorities high allows new subtracks without cart entries to fall after existing subtracks + int priority=1; sortableTdbItem *item; for (item = *items; item != NULL; item = item->next) item->tdb->priority = (float)priority++; } } void sortableTdbItemsFree(sortableTdbItem **items) // Frees all memory associated with a list of sortable tdb items { if(items != NULL && *items != NULL) { sortableTdbItem *item; for (item = *items; item != NULL; item = item->next) { sortColumn *column; @@ -6189,31 +6187,35 @@ // Make row of vis drop downs for (ix = 0; ix < membersOfView->count; ix++) { char *viewName = membersOfView->tags[ix]; if (matchedViewTracks[ix] != NULL) { printf(""); if(configurable[ix] != cfgNone) { MAKE_CFG_LINK(membersOfView->tags[ix],membersOfView->titles[ix],matchedViewTracks[ix]->track,(firstOpened == ix)); } else printf("%s",membersOfView->titles[ix]); puts(""); + #ifdef SUBTRACK_CFG + safef(varName, sizeof(varName), "%s", matchedViewTracks[ix]->track); + #else///ifndef SUBTRACK_CFG safef(varName, sizeof(varName), "%s.%s.vis", parentTdb->track, viewName); // FIXME: Time to get rid of "track.view.vis" since viewInTheMiddle + #endif///ndef SUBTRACK_CFG enum trackVisibility tv = hTvFromString(cartUsualString(cart, varName,hStringFromTv(visCompositeViewDefault(parentTdb,viewName)))); safef(javascript, sizeof(javascript), "onchange=\"matSelectViewForSubTracks(this,'%s');\" onfocus='this.lastIndex=this.selectedIndex;'", viewName); printf(""); safef(classes, sizeof(classes), "viewDD normalText %s", membersOfView->tags[ix]); hTvDropDownClassWithJavascript(varName, tv, parentTdb->canPack,classes,javascript); puts("      "); } } puts(""); // Make row of cfg boxes if needed if(makeCfgRows) @@ -7163,39 +7165,41 @@ enum trackVisibility tdbLocalVisibility(struct cart *cart, struct trackDb *tdb,boolean *subtrackOverride) // returns visibility NOT limited by ancestry. Fills optional boolean if subtrack specific vis is found // If not NULL cart will be examined without ClosestToHome. Folders/supertracks resolve to hide/full { if (subtrackOverride != NULL) *subtrackOverride = FALSE; // default // tdb->visibility should reflect local trackDb setting enum trackVisibility vis = tdb->visibility; if (tdbIsSuperTrack(tdb)) vis = (tdb->isShow ? tvFull : tvHide); if (cart != NULL) // cart is optional { char *cartVis = NULL; + #ifndef SUBTRACK_CFG if (tdbIsCompositeView(tdb)) { char *view = trackDbLocalSetting(tdb,"view"); // views have funky cart setting assert(view != NULL); char setting[512]; safef(setting,sizeof(setting),"%s.%s.vis",tdb->parent->track,view); cartVis = cartOptionalString(cart, setting); } else + #endif///ndef SUBTRACK_CFG cartVis = cartOptionalString(cart, tdb->track); if (cartVis != NULL) { vis = hTvFromString(cartVis); if (subtrackOverride != NULL && tdbIsContainerChild(tdb)) *subtrackOverride = TRUE; } } return vis; } 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