caf740fe7f056a28fcc8b6160c0b2ca609898cfa angie Fri Dec 7 13:08:51 2012 -0800 For Track #8360 (snp137): Steve pointed out that leaf track shortLabelsdon't contain enough identifying info for gene tracks that are part of multi-level composites like GENCODE. Add in grandparent and parent shortLabel when they aren't already part of the lower levels' shortLabel. diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c index fd6954e..dfff3e9 100644 --- src/hg/hgTrackUi/hgTrackUi.c +++ src/hg/hgTrackUi/hgTrackUi.c @@ -182,30 +182,42 @@ jsMakeCheckboxGroupSetClearButton(cartVar, FALSE); struct slName *selectedGeneTracks = cartOptionalSlNameList(cart, cartVar); if (!cartListVarExists(cart, cartVar)) { char *defaultGeneTracks = trackDbSetting(tdb, "defaultGeneTracks"); if (isNotEmpty(defaultGeneTracks)) selectedGeneTracks = slNameListFromComma(defaultGeneTracks); } int numCols = 4, i; int menuSize = slCount(geneTdbList); char **values = needMem(menuSize*sizeof(char *)); char **labels = needMem(menuSize*sizeof(char *)); for (i = 0, gTdb = geneTdbList; i < menuSize && gTdb != NULL; i++, gTdb = gTdb->next) { values[i] = gTdb->track; + if (gTdb->parent != NULL) + { + struct dyString *dy = dyStringNew(0); + if (gTdb->parent->parent != NULL && + !startsWith(gTdb->parent->parent->shortLabel, gTdb->parent->shortLabel)) + dyStringPrintf(dy, "%s: ", gTdb->parent->parent->shortLabel); + if (!startsWith(gTdb->parent->shortLabel, gTdb->shortLabel)) + dyStringPrintf(dy, "%s: ", gTdb->parent->shortLabel); + dyStringPrintf(dy, "%s", gTdb->shortLabel); + labels[i] = dyStringCannibalize(&dy); + } + else labels[i] = gTdb->shortLabel; } cgiMakeCheckboxGroupWithVals(cartVar, labels, values, menuSize, selectedGeneTracks, numCols); jsEndCollapsibleSection(); } hFreeConn(&conn); } #define SNP125_FILTER_COLUMNS 4 #define SNP125_DEFAULTS "snp125Defaults" void snp125PrintFilterControls(char *track, char *attributeLabel, char *attributeVar, char *labels[], char *values[], int menuSize) /* Print two or more rows (attribute name header and row(s) of checkboxes) * of a table displaying snp125 attribute filter checkboxes. */