src/hg/hgTracks/simpleTracks.c 1.70

1.70 2009/03/13 23:33:45 tdreszer
Add support for enable/disabling checkboxes by having 4 state boolShad hidden inputs
Index: src/hg/hgTracks/simpleTracks.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTracks/simpleTracks.c,v
retrieving revision 1.69
retrieving revision 1.70
diff -b -B -U 4 -r1.69 -r1.70
--- src/hg/hgTracks/simpleTracks.c	10 Mar 2009 20:47:20 -0000	1.69
+++ src/hg/hgTracks/simpleTracks.c	13 Mar 2009 23:33:45 -0000	1.70
@@ -8657,10 +8657,14 @@
 char option[SMALLBUF];
 safef(option, sizeof(option), "%s_sel", subtrack->mapName);
 boolean enabled = cartUsualBoolean(cart, option, enabledInTdb);
 /* Remove redundant cart settings to avoid cart bloat. */
-if (cartOptionalString(cart, option) && enabled == enabledInTdb)
-    cartRemove(cart, option);
+if (enabled == enabledInTdb)
+    {
+    char *var = cartOptionalString(cart, option);
+    if(var != NULL && (sameString(var,"on") || atoi(var) >= 0))
+        cartRemove(cart, option);     // Because disabled CBs need to remain in the cart.
+    }
 return enabled;
 }
 
 static int subtrackCount(struct track *trackList)
@@ -8725,16 +8729,19 @@
 
 /* Count visible subtracks; if all subtracks are de-selected in cart,
  * remove cart settings to restore trackDb defaults.  Otherwise use
  * selections from cart. */
+//#define BLOCK_REVERSION_TO_DEFAULT_SUBTRACKS_WHEN_NO_SUBTRACKS_VISIBLE
+#ifndef BLOCK_REVERSION_TO_DEFAULT_SUBTRACKS_WHEN_NO_SUBTRACKS_VISIBLE
 int subtrackCt = subtrackCount(track->subtracks);
 if (subtrackCt == 0)
     for (subtrack = track->subtracks; subtrack != NULL; subtrack = subtrack->next)
 	{
 	char option[SMALLBUF];
 	safef(option, sizeof(option), "%s_sel", subtrack->mapName);
 	cartRemove(cart, option);
 	}
+#endif//ndef BLOCK_REVERSION_TO_DEFAULT_SUBTRACKS_WHEN_NO_SUBTRACKS_VISIBLE
 for (subtrack = track->subtracks; subtrack != NULL; subtrack = subtrack->next)
     if (!subtrack->limitedVisSet)
 	{
 	if (isSubtrackVisible(subtrack))