58e020e2059bc60516a8c7282781a4201be42e70 chmalee Fri May 24 14:57:10 2019 -0700 hubCheck reports errors in sortOrder setting of composite subtracks, refs #13428 diff --git src/hg/inc/hui.h src/hg/inc/hui.h index 9508dd3..b065993 100644 --- src/hg/inc/hui.h +++ src/hg/inc/hui.h @@ -988,30 +988,42 @@ int visibleChild, struct slPair *events); /* Displays hide/show dropdown for supertrack. * Set visibleChild to indicate whether 'show' should be grayed * out to indicate that no supertrack members are visible: * 0 to gray out (no visible children) * 1 don't gray out (there are visible children) * -1 don't know (this function should determine) * If -1,i the subtracks field must be populated with the child trackDbs. * Returns false if not a supertrack */ #define superTrackDropDown(cart,tdb,visibleChild) \ superTrackDropDownWithExtra(cart,tdb,visibleChild,NULL) boolean dimensionsExist(struct trackDb *parentTdb); /* Does this parent track contain dimensions? */ +typedef struct _membership + { + int count; + char **subgroups; // Ary of Tags in parentTdb->subGroupN and in childTdb->subGroups (ie view) + char **membership; // Ary of Tags of subGroups that child belongs to (ie PK) + char **titles; // Ary of Titles of subGroups a child belongs to (ie Peak) + char * setting; + } membership_t; + +membership_t *subgroupMembershipGet(struct trackDb *childTdb); +/* gets all the subgroup membership for a child track */ + int subgroupCount(struct trackDb *parentTdb); /* How many subGroup setting does this parent have? */ char * subgroupSettingByTagOrName(struct trackDb *parentTdb, char *groupNameOrTag); /* look for a subGroup by name (ie subGroup1) or tag (ie view) and return an unallocated char* */ boolean subgroupingExists(struct trackDb *parentTdb, char *groupNameOrTag); /* Does this parent track contain a particular subgrouping? */ boolean subgroupFind(struct trackDb *childTrack, char *name,char **value); /* looks for a single tag in a childTrack's subGroups setting */ void subgroupFree(char **value); /* frees subgroup memory */