f4c84499359489ba3f2d4d8047f1dd3e9fd8f402 hiram Tue Aug 31 16:13:41 2010 -0700 adding PSL configuration for multi-views diff --git src/hg/lib/hui.c src/hg/lib/hui.c index 36457f0..2adb068 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -3631,6 +3631,8 @@ case cfgBam: bamCfgUi(cart, tdb, prefix, title, boxed); break; #endif + case cfgPsl: pslCfgUi(db,cart,tdb,prefix,title,boxed); + break; default: warn("Track type is not known to multi-view composites. type is: %d ", cType); break; } @@ -4549,6 +4551,61 @@ cfgEndBox(boxed); } +void pslCfgUi(char *db, struct cart *cart, struct trackDb *tdb, char *prefix, char *title, boolean boxed) +/* Put up UI for psl tracks */ +{ +boxed = cfgBeginBoxAndTitle(tdb, boxed, title); + +fprintf(stderr, "pslCfgUi: entered for '%s'\n", tdb->table); + +char * baseColor = trackDbSettingClosestToHomeOrDefault(tdb, BASE_COLOR_DEFAULT, BASE_COLOR_DRAW_OFF); +baseColor = cartUsualStringClosestToHome(cart, tdb, FALSE, BASE_COLOR_VAR_SUFFIX,baseColor); +enum baseColorDrawOpt baseColorOpt = baseColorDrawOptStringToEnum(baseColor); +char *baseColorValue = baseColorDrawAllOptionValues[baseColorOpt]; +boolean gotCds = baseColorGotCds(tdb); +boolean gotSeq = baseColorGotSequence(tdb); + +fprintf(stderr, "baseColor: '%s', gotCds: %s, gotSeq: %s\n", + baseColor, gotCds ? "TRUE" : "FALSE", gotSeq ? "TRUE" : "FALSE"); +char var[512]; +safef(var, sizeof(var), "%s." BASE_COLOR_VAR_SUFFIX, tdb->track); +if (gotCds && gotSeq) + { + puts("

Color track by codons or bases:"); + cgiMakeDropListFull(var, baseColorDrawAllOptionLabels, + baseColorDrawAllOptionValues, + ArraySize(baseColorDrawAllOptionLabels), + baseColorValue, NULL); + printf("
Help on mRNA coloring
", + CDS_MRNA_HELP_PAGE); + } +else if (gotCds) + { + puts("

Color track by codons:"); + cgiMakeDropListFull(var, baseColorDrawGenomicOptionLabels, + baseColorDrawGenomicOptionValues, + ArraySize(baseColorDrawGenomicOptionLabels), + baseColorValue, NULL); + printf("
Help on codon coloring
", + CDS_HELP_PAGE); + } +else if (gotSeq) + { + puts("

Color track by bases:"); + cgiMakeDropListFull(var, baseColorDrawItemOptionLabels, + baseColorDrawItemOptionValues, + ArraySize(baseColorDrawItemOptionLabels), + baseColorValue, NULL); + printf("
Help on base coloring
", + CDS_BASE_HELP_PAGE); + } + +indelShowOptions(cart, tdb); + +cfgEndBox(boxed); +} + + void netAlignCfgUi(char *db, struct cart *cart, struct trackDb *tdb, char *prefix, char *title, boolean boxed) /* Put up UI for net tracks */ {