db78bd4ad3426168586dd823d1b7f3a121172808
tdreszer
  Thu Aug 12 17:10:20 2010 -0700
Needed to make subtrack four state CB logic available to hgTracks
diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index 3e15cf1..dfd3345 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -2093,41 +2093,39 @@
 
 // Four State checkboxes can be checked/unchecked by enable/disabled
 // NOTE: fourState is not a bitmap because it is manipulated in javascript and int seemed easier at the time
-#define FOURSTATE_KEY               "fourState"
-#define FOURSTATE_EMPTY             666
-#define FOURSTATE_UNCHECKED         0
-#define FOURSTATE_CHECKED           1
-#define FOURSTATE_DISABLE(val)      {while((val) >= 0) (val) -= 2;}
-#define FOURSTATE_ENABLE(val)       {while((val) < 0) (val) += 2;}
-#define fourStateChecked(fourState) ((fourState) == 1 || (fourState) == -1)
-#define fourStateEnabled(fourState) ((fourState) >= 0)
-#define fourStateVisible(fourState) ((fourState) == 1)
-
-static int subtrackFourStateChecked(struct trackDb *subtrack, struct cart *cart)
+#define FOUR_STATE_KEY               "fourState"
+#define FOUR_STATE_EMPTY             666
+//#define FOUR_STATE_UNCHECKED         0
+//#define FOUR_STATE_CHECKED           1
+//#define FOUR_STATE_CHECKED_DISABLED  -1
+#define FOUR_STATE_DISABLE(val)      {while((val) >= 0) (val) -= 2;}
+#define FOUR_STATE_ENABLE(val)       {while((val) < 0) (val) += 2;}
+
+int subtrackFourStateChecked(struct trackDb *subtrack, struct cart *cart)
 /* Returns the four state checked state of the subtrack */
 {
 char * setting = NULL;
 char objName[SMALLBUF];
-int fourState = (int)(long)tdbExtrasGetOrDefault(subtrack,FOURSTATE_KEY,(void *)FOURSTATE_EMPTY);
-if(fourState != FOURSTATE_EMPTY)
+int fourState = (int)(long)tdbExtrasGetOrDefault(subtrack,FOUR_STATE_KEY,(void *)FOUR_STATE_EMPTY);
+if(fourState != FOUR_STATE_EMPTY)
     return fourState;
 
-fourState = FOURSTATE_UNCHECKED;  // default to unchecked, enabled
+fourState = FOUR_STATE_UNCHECKED;  // default to unchecked, enabled
 if ((setting = trackDbLocalSetting(subtrack, "parent")) != NULL)
     {
     if(findWordByDelimiter("off",' ',setting) == NULL)
-        fourState = FOURSTATE_CHECKED;
+        fourState = FOUR_STATE_CHECKED;
     }
 // Now check visibility
 setting = tdbResolveVis(cart,subtrack,FALSE);
 
 // If subtrack's view is hide then fourstate includes disabled
 if(sameWord(setting,TV_HIDE) && subtracksViewIsHidden(cart,subtrack))
-    FOURSTATE_DISABLE(fourState);
+    FOUR_STATE_DISABLE(fourState);
 
 safef(objName, sizeof(objName), "%s_sel", subtrack->track);
 fourState = cartUsualInt(cart, objName, fourState);
-tdbExtrasAddOrUpdate(subtrack,FOURSTATE_KEY,(void *)(long)fourState);
+tdbExtrasAddOrUpdate(subtrack,FOUR_STATE_KEY,(void *)(long)fourState);
 return fourState;
 }