a469233b735071329c483e7c850956ec12f937a1 braney Wed Sep 15 17:21:55 2021 -0700 be smarter about checking to see if users are specifying a filter on the same field in different ways diff --git src/hg/inc/trackDb.h src/hg/inc/trackDb.h index 741e79d..0fc86b7 100644 --- src/hg/inc/trackDb.h +++ src/hg/inc/trackDb.h @@ -26,31 +26,31 @@ #define TRACKDB_NUM_COLS 21 // Forward definitions struct tdbExtras; // A structure to keep track of our min and max values if we're a wig struct minMax { double min, max; }; /* DO NOT CHANGE THE TRACKDB STRUCTURE WITHOUT INCREMENTING THE VERSION NUMBER */ /* This number is tacked onto the end of cached trackDb entries to make sure we * don't use a cached structure that has different contents. */ -#define TRACKDB_VERSION 3 +#define TRACKDB_VERSION 4 struct trackDb /* This describes an annotation track. */ /* DO NOT CHANGE THE TRACKDB STRUCTURE WITHOUT INCREMENTING THE VERSION NUMBER */ { struct trackDb *next; /* Next in singly linked list. Next sibling in tree. */ char *track; /* Symbolic ID of Track - used in cart. Is tableName in database historically. */ char *table; /* Symbolic ID of Table - used in database. Same as track usually. */ char *shortLabel; /* Short label displayed on left */ char *type; /* Track type: bed, psl, genePred, etc. */ char *longLabel; /* Long label displayed in middle */ unsigned char visibility; /* 0=hide, 1=dense, 2=full, 3=pack, 4=squish */ float priority; /* 0-100 - where to position. 0 is top */ unsigned char colorR; /* Color red component 0-255 */ unsigned char colorG; /* Color green component 0-255 */ @@ -81,31 +81,31 @@ // of same (may be parent & child) struct trackDb *parent; // parent of composite or superTracks struct trackDb *subtracks; // children of composite not supers. NOTE: only in one sl at a time! struct slRef *children; // children of folders (superTracks) only. // Needed as slRef since these children are on the main trackList // and can't be in 2 sl's at once char *parentName; // set if this is a supertrack member boolean isShow; // for supertracks: true if supertrack with pseudo-vis 'show' struct hash *overrides; /* If not NULL, this is an override * entry. It contains the names, but not the * values of the fields and settings that were * specified in the entry. */ struct tdbExtras *tdbExtras;// This struct allows storing extra values which may be used // multiple times within a single cgi. An example is the metadata // looked up once in the metaDb and used again and again. - boolean isNewFilterType; // are we using the new filter variables on this track + struct hash *isNewFilterHash; // if a field is specified in the "new" way, the trackDb variable will be in this hash /* DO NOT CHANGE THE TRACKDB STRUCTURE WITHOUT INCREMENTING THE VERSION NUMBER */ }; #define FOLDER_MASK 0x10 #define COMPOSITE_MASK 0x20 #define MULTI_TRACK_MASK 0x80 #define FOLDER_CHILD_MASK 0x01 #define COMPOSITE_CHILD_MASK 0x02 #define COMPOSITE_VIEW_MASK 0x04 #define MULTI_TRACK_CHILD_MASK 0x08 #define PARENT_MASK 0xF0 #define CHILD_MASK 0x0F #define TREETYPE_MASK 0xFF #define PARENT_NODE(nodeType) ((nodeType) & PARENT_MASK) #define CHILD_NODE(nodeType) ((nodeType) & CHILD_MASK)