8083235171a7227233b561a87d4950a3640ef232 tdreszer Thu Nov 11 09:57:45 2010 -0800 Added support for pennantIcon as requested by b0b. First use flagging hg18 to hg19 liftOver tracks. diff --git src/hg/lib/hui.c src/hg/lib/hui.c index 37bf0b3..c2e7782 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -12,30 +12,31 @@ #include "hui.h" #include "hCommon.h" #include "hgConfig.h" #include "chainCart.h" #include "chainDb.h" #include "netCart.h" #include "obscure.h" #include "wiggle.h" #include "phyloTree.h" #include "hgMaf.h" #include "udc.h" #include "customTrack.h" #include "encode/encodePeak.h" #include "mdb.h" #include "web.h" +#include "hPrint.h" static char const rcsid[] = "$Id: hui.c,v 1.297 2010/06/02 19:27:51 tdreszer Exp $"; #define SMALLBUF 128 #define MAX_SUBGROUP 9 #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" @@ -195,31 +196,31 @@ if(sameString(mdbVar->var,"antibody") && mdbObjContains(mdbObj,"input",mdbVar->val)) continue; //#ifdef OMIT if (cvTermTypes && differentString(mdbVar->var,"tableName")) // Don't bother with tableName { struct hash *cvTerm = hashFindVal(cvTermTypes,mdbVar->var); if (cvTerm != NULL) { if(SETTING_NOT_ON(hashFindVal(cvTerm,"hidden"))) // NULL is not on { char *label=hashFindVal(cvTerm,"label"); if (label == NULL) label = mdbVar->var; char *linkOfType = controlledVocabLink(NULL,"type",mdbVar->var,label,label,NULL); char *cvDefined=hashFindVal(cvTerm,"cvDefined"); - if (cvDefined != NULL && differentWord(cvDefined,"no") && differentWord(cvDefined,"0")) + if (cvDefined != NULL && !SETTING_IS_OFF(cvDefined)) // assume setting is ON { char *linkOfTerm = controlledVocabLink(NULL,"term",mdbVar->val,mdbVar->val,mdbVar->val,NULL); dyStringPrintf(dyTable,"%s:%s",linkOfType,linkOfTerm); freeMem(linkOfTerm); } else dyStringPrintf(dyTable,"%s:%s",linkOfType,mdbVar->val); //{ // NOTE: Could just have a tool tip for these. //char *descr=cgiEncode(hashMustFindVal(cvTerm,"description")); //label = cgiEncode(label); //dyStringPrintf(dyTable,"%s:%s",descr,label,mdbVar->val); //freeMem(descr); //freeMem(label); //} freeMem(linkOfType); @@ -6857,15 +6858,49 @@ webPrintLabelCell("Symbol"); webPrintLabelCell(label); char **row; while ((row = sqlNextRow(sr)) != NULL) { printf("\n"); char *name = row[0]; char *description = row[1]; webPrintLinkCell(name); webPrintLinkCell(description); } sqlFreeResult(&sr); webPrintLinkTableEnd(); } + +boolean hPrintPennantIcon(struct trackDb *tdb) +// Returns TRUE and prints out the "pennantIcon" when found. Example: ENCODE tracks in hgTracks config list. +{ +char *setting = trackDbSetting(tdb, "pennantIcon"); +if(setting != NULL) + { + setting = cloneString(setting); + char *icon = htmlEncodeText(nextWord(&setting),FALSE); + if (setting) + { + char *url = nextWord(&setting); + if (setting) + { + char *hint = htmlEncodeText(stripEnclosingDoubleQuotes(setting),FALSE); + hPrintf("\n",hint,url,icon); + freeMem(hint); + } + else + hPrintf("\n",url,icon); + freeMem(url); + } + else + hPrintf("\n",icon); + freeMem(icon); + return TRUE; + } +else if(trackDbSetting(tdb, "wgEncode") != NULL) + { + hPrintf("\n"); + return TRUE; + } +return FALSE; +}