src/hg/hgTrackUi/hgTrackUi.c 1.506

1.506 2009/10/29 04:19:08 angie
DGV: Change the default filter to include-all instead of exclude-none -- positive logic is more intuitive. (Thx b0b)
Index: src/hg/hgTrackUi/hgTrackUi.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTrackUi/hgTrackUi.c,v
retrieving revision 1.505
retrieving revision 1.506
diff -b -B -U 4 -r1.505 -r1.506
--- src/hg/hgTrackUi/hgTrackUi.c	19 Oct 2009 22:50:07 -0000	1.505
+++ src/hg/hgTrackUi/hgTrackUi.c	29 Oct 2009 04:19:08 -0000	1.506
@@ -2112,15 +2112,16 @@
 sr = sqlGetResult(conn, query);
 printf("<BR><B>Filter by publication reference:</B>\n");
 char cartVarName[256];
 safef (cartVarName, sizeof(cartVarName), "hgt_%s_filterType", tdb->tableName);
-boolean isExclude = sameString("exclude", cartUsualString(cart, cartVarName, "exclude"));
-cgiMakeRadioButton(cartVarName, "exclude", isExclude);
-printf("exclude\n");
-cgiMakeRadioButton(cartVarName, "include", !isExclude);
-printf("include<BR>\n");
+boolean isInclude = sameString("include", cartUsualString(cart, cartVarName, "include"));
+cgiMakeRadioButton(cartVarName, "include", isInclude);
+printf("include\n");
+cgiMakeRadioButton(cartVarName, "exclude", !isInclude);
+printf("exclude<BR>\n");
 safef (cartVarName, sizeof(cartVarName), "hgt_%s_filterPmId", tdb->tableName);
 struct slName *checked = cartOptionalSlNameList(cart, cartVarName);
+boolean setAll = (checked == NULL && isInclude);
 #define MAX_DGV_REFS 128
 char *labelArr[MAX_DGV_REFS], *valueArr[MAX_DGV_REFS];
 int refCount = 0;
 while ((row = sqlNextRow(sr)) != NULL)
@@ -2134,8 +2135,10 @@
     labelArr[refCount] = cloneString(label);
     valueArr[refCount++] = cloneString(pmId);
     if (refCount >= MAX_DGV_REFS)
 	errAbort("dgvUi: %s has too many references (max %d)", tdb->tableName, MAX_DGV_REFS);
+    if (setAll)
+	slAddHead(&checked, slNameNew(pmId));
     }
 sqlFreeResult(&sr);
 jsMakeCheckboxGroupSetClearButton(cartVarName, TRUE);
 jsMakeCheckboxGroupSetClearButton(cartVarName, FALSE);