1becab6f1a87af952979239f1079e15ddd8ea74e angie Wed Apr 16 16:54:48 2014 -0700 Matt and Tim noticed that the ESP6500 VCF track details had twoprintCustomTrackUrl invocations. One was in genericClickHandlerPlus and it used an incorrect name (known issue with using pgSnp display code for VCF). The second was inside doVcfTabixDetails, using the correct name. I moved doVcfTabixDetails and doVcfDetails out of genericClickHandlerPlus; now doMiddle calls them, and they call genericHeader and printTrackHtml in a shared function. refs #9329 diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c index fe73b1d..7efcbaa 100644 --- src/hg/hgc/hgc.c +++ src/hg/hgc/hgc.c @@ -4009,36 +4009,30 @@ doBedDetail(tdb, NULL, item); } else if (sameString(type, "interaction") ) { int num = 12; genericBedClick(conn, tdb, item, start, num); } else if (startsWith("gvf", type)) { doGvf(tdb, item); } #ifdef USE_BAM else if (sameString(type, "bam")) doBamDetails(tdb, item); #endif // USE_BAM -#ifdef USE_TABIX - else if (sameString(type, "vcfTabix")) - doVcfTabixDetails(tdb, item); -#endif // USE_TABIX - else if (sameString(type, "vcf")) - doVcfDetails(tdb, item); } if (imagePath) { char *bigImagePath = trackDbSettingClosestToHome(tdb, ITEM_BIG_IMAGE_PATH); char *bothWords[2]; int shouldBeTwo = chopLine(imagePath, bothWords); if (shouldBeTwo != 2) errAbort("itemImagePath setting for %s track incorrect. Needs to be \"itemImagePath \".", tdb->track); printf("


\n", bothWords[0], item, bothWords[1]); shouldBeTwo = chopLine(bigImagePath, bothWords); if (shouldBeTwo != 2) errAbort("bigItemImagePath setting for %s track incorrect. Needs to be \"itemImagePath \".", tdb->track); printf("Download Original Image
\n", bothWords[0], item, bothWords[1]); } @@ -25346,30 +25340,40 @@ { doLrg(tdb, item); } else if (sameString("lrgTranscriptAli", table)) { doLrgTranscriptPsl(tdb, item); } else if (sameWord(table, "htcLrgCdna")) { htcLrgCdna(item); } else if (isHubTrack(table) && startsWith("snake", trackHubSkipHubName(table))) { doSnakeClick(tdb, item); } +#ifdef USE_TABIX +else if (tdb != NULL && startsWithWord("vcfTabix", tdb->type)) + { + doVcfTabixDetails(tdb, item); + } +#endif // USE_TABIX +else if (tdb != NULL && startsWithWord("vcf", tdb->type)) + { + doVcfDetails(tdb, item); + } else if (tdb != NULL) { genericClickHandler(tdb, item, NULL); } else { cartWebStart(cart, database, "%s", track); printf("Sorry, clicking there doesn't do anything yet (%s).", track); } /* End of 1000+ line dispatch on table involving 100+ if/elses. */ cartHtmlEnd(); }