bbadf34db9d67578b26a7d93a7096c046be885a4 kate Tue Jan 13 14:06:12 2015 -0800 Set default subtracks on (10 spread across color spectrum, emphasizing ENCODE tier1 and well-known. Additional support for subtrack color on UI. refs #14353 diff --git src/hg/lib/hui.c src/hg/lib/hui.c index 33d651d..56c2453 100644 --- src/hg/lib/hui.c +++ src/hg/lib/hui.c @@ -3088,34 +3088,40 @@ // Can't use because of dimension dependence if (members==NULL) return FALSE; *value = cloneString(members->groupTitle); //subgroupMembersFree(&members); return TRUE; } void subgroupFree(char **value) // frees subgroup memory { if (value && *value) freez(value); } +boolean subgroupRequired(char *value) +/* Returns whether subgroup much be specified for each track. + * Generally true. Exceptions are specially defined subgroups */ +{ +return differentString(SUBTRACK_COLOR_SUBGROUP, value); +} + #define SORT_ON_TRACK_NAME "trackName" #define SORT_ON_RESTRICTED "dateUnrestricted" -#define SUBTRACK_COLOR_PATCH "subtrackColor" -#define SUBTRACK_COLOR_HEADER "Color" + sortOrder_t *sortOrderGet(struct cart *cart,struct trackDb *parentTdb) // Parses any list sort order instructions for parent of subtracks (from cart or trackDb) // Some trickiness here. sortOrder->sortOrder is from cart (changed by user action), // as is sortOrder->order, But columns are in original tdb order (unchanging)! // However, if cart is null, all is from trackDb.ra { int ix; char *setting = trackDbSetting(parentTdb, "sortOrder"); if (setting == NULL) // Must be in trackDb or not a sortable table return NULL; sortOrder_t *sortOrder = needMem(sizeof(sortOrder_t)); sortOrder->htmlId = needMem(strlen(parentTdb->track)+15); safef(sortOrder->htmlId, (strlen(parentTdb->track)+15), "%s.sortOrder", parentTdb->track); @@ -4354,31 +4360,31 @@ if (ix >= 0) { char *titleRoot=NULL; if (cvTermIsEmpty(sortOrder->column[sIx],membership->titles[ix])) titleRoot = cloneString(" "); else titleRoot = labelRoot(membership->titles[ix],NULL); // Each sortable column requires hidden goop (in the "abbr" field currently) // which is the actual sort on value printf("