45ae4560eae022132877e2349a5d0420de09872c max Mon Mar 26 14:52:07 2012 -0700 make subtrack config work following tims suggestions, try to make psl track description clearer diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c index 68a64ab..ba7c435 100644 --- src/hg/hgTrackUi/hgTrackUi.c +++ src/hg/hgTrackUi/hgTrackUi.c @@ -1878,63 +1878,72 @@ puts(" (Comma separated list, i.e.: GT,AG for splice sites)"); puts("

"); cgiMakeCheckBox(MOTIF_COMPLEMENT, complementsToo); puts(" Show reverse complements of motifs also"); puts("

Options for slides and presentations:"); puts("

Title: "); cgiMakeTextVar(titleVar, title, 30); puts("

Display: "); cgiMakeCheckBox(BASE_SHOWASM, showAsm); puts(" assembly "); cgiMakeCheckBox(BASE_SHOWPOS, showPos); puts(" position"); } -#define NUM_YEARS 30 // similar to google scholar, which goes back to 20 years - void pubsUi(struct trackDb *tdb) /* UI for pubs match track */ { -char* keywordTag = "pubsBlat.pubsKeywords"; -char* yearTag = "pubsBlat.pubsYear"; -char *keywords = cartUsualString(cart, keywordTag, ""); -char *text[NUM_YEARS + 1]; -char *values[NUM_YEARS + 1]; -char *yearFilter = cartUsualString(cart, yearTag, "anytime"); -int i; +#define NUM_YEARS 30 // similar to google scholar, which goes back to 20 years + +#define PUBS_KEYWORDS_TAG "pubsKeywords" +#define PUBS_YEAR_TAG "pubsYear" + +// get current set filters from cart +char *keywords = cartUsualStringClosestToHome(cart, tdb, FALSE, PUBS_KEYWORDS_TAG, ""); +char *yearFilter = cartUsualStringClosestToHome(cart, tdb, FALSE, PUBS_YEAR_TAG, "anytime"); + +// print keyword input box puts("

Filter articles by keywords in abstract, title or authors:"); -cgiMakeTextVar(keywordTag, keywords, 45); +char cgiVar[128]; +safef(cgiVar,sizeof(cgiVar),"%s.%s",tdb->track,PUBS_KEYWORDS_TAG); +cgiMakeTextVar(cgiVar, keywords, 45); +// generate strings like "since " for last 30 years +char *text[NUM_YEARS + 1]; +char *values[NUM_YEARS + 1]; text[0] = "anytime"; values[0] = "anytime"; time_t nowTime = time(NULL); struct tm *tm = localtime(&nowTime); int nowYear = 1900 + tm->tm_year; +int i; for(i = 0; i < NUM_YEARS; i++) { char buf[20]; safef(buf, sizeof(buf), "since %d", nowYear - i); text[i + 1] = cloneString(buf); safef(buf, sizeof(buf), "%d", nowYear - i); values[i + 1] = cloneString(buf); } +// print dropdown box with "since " lines puts("

\n"); printf("Show articles published "); -cgiDropDownWithTextValsAndExtra(yearTag, text, values, NUM_YEARS + 1, yearFilter, NULL); +safef(cgiVar,sizeof(cgiVar),"%s.%s",tdb->track,PUBS_YEAR_TAG); +cgiDropDownWithTextValsAndExtra(cgiVar, text, values, NUM_YEARS + 1, yearFilter, NULL); puts("

\n"); } void oligoMatchUi(struct trackDb *tdb) /* UI for oligo match track */ { char *oligo = cartUsualString(cart, oligoMatchVar, oligoMatchDefault); puts("

Short (2-30 base) sequence:"); cgiMakeTextVar(oligoMatchVar, oligo, 45); } void cutterUi(struct trackDb *tdb) /* UI for restriction enzyme track */ {