src/hg/hgc/hgc.c 1.1576

1.1576 2009/09/28 21:51:10 angie
snp125: Add a persistent shadow variable to the list of gene tracks, so we can distinguish between a 'clicked to deselect all' vs. 'hasn't made any selections'. Should cart.c make multshad variables persistent?
Index: src/hg/hgc/hgc.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgc/hgc.c,v
retrieving revision 1.1575
retrieving revision 1.1576
diff -b -B -U 4 -r1.1575 -r1.1576
--- src/hg/hgc/hgc.c	24 Sep 2009 23:15:42 -0000	1.1575
+++ src/hg/hgc/hgc.c	28 Sep 2009 21:51:10 -0000	1.1576
@@ -15001,13 +15001,17 @@
 	return;
     }
 struct sqlConnection *conn = hAllocConn(database);
 struct slName *gt;
-printf("<BR><B>UCSC's predicted function relative to selected gene tracks:</B>\n");
-printf("<TABLE BORDERWIDTH=0>\n");
+boolean first = TRUE;
 for (gt = geneTracks;  gt != NULL;  gt = gt->next)
-    if (sqlTableExists(conn, gt->name))
+    if (!sameString(gt->name, "persistentShadow") && sqlTableExists(conn, gt->name))
+	{
+	if (first)
 	{
+	    printf("<BR><B>UCSC's predicted function relative to selected gene tracks:</B>\n");
+	    printf("<TABLE BORDERWIDTH=0>\n");
+	    }
 	struct genePred *geneList = getGPsWithFrames(conn, gt->name, snp->chrom,
 						     snp->chromStart, snp->chromEnd);
 	struct genePred *gene;
 	char query[256];
@@ -15019,10 +15023,12 @@
 	for (gene = geneList;  gene != NULL;  gene = gene->next)
 	    printSnp125FunctionInGene(snp, gt->name, shortLabel, gene);
 	if (geneList == NULL)
 	    printSnp125NearGenes(conn, snp, gt->name, shortLabel);
+	first = FALSE;
 	}
-printf("</TABLE>\n");
+if (! first)
+    printf("</TABLE>\n");
 hFreeConn(&conn);
 }
 
 char *dbSnpFuncFromInt(unsigned char funcCode)