src/hg/hgTables/mainPage.c 1.140

1.140 2009/04/10 20:04:29 tdreszer
Fix many instances of using composite tdb when subtrack tdb is needed
Index: src/hg/hgTables/mainPage.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTables/mainPage.c,v
retrieving revision 1.139
retrieving revision 1.140
diff -b -B -U 4 -r1.139 -r1.140
--- src/hg/hgTables/mainPage.c	17 Mar 2009 10:13:26 -0000	1.139
+++ src/hg/hgTables/mainPage.c	10 Apr 2009 20:04:29 -0000	1.140
@@ -354,8 +354,9 @@
 /* Show table control and label. */
 {
 struct slName *name, *nameList = NULL;
 char *selTable;
+char *db = findSelDb();
 
 if (track == NULL)
     nameList = tablesForDb(findSelDb());
 else
@@ -374,9 +375,9 @@
 for (name = nameList; name != NULL; name = name->next)
     {
     struct trackDb *tdb = NULL;
     if (track != NULL)
-	tdb = findCompositeTdb(track, name->name);
+	tdb = findTdbForTable(db,track,name->name);
     hPrintf("<OPTION VALUE=\"%s\"", name->name);
     if (sameString(selTable, name->name))
         {
         hPrintf(" SELECTED");
@@ -608,10 +609,9 @@
 	    break;
 	    }
 	}
     hOnClickButton("document.customTrackForm.submit();return false;",
-		   hasCustomTracks ? 
-                            CT_MANAGE_BUTTON_LABEL : CT_ADD_BUTTON_LABEL);
+        hasCustomTracks ? CT_MANAGE_BUTTON_LABEL : CT_ADD_BUTTON_LABEL);
     
     hPrintf("</TD></TR>\n");
     }
 
@@ -632,13 +632,14 @@
 	}
     isMaf = isMafTable(database, curTrack, curTable);
     isBedGr = isBedGraph(curTable);
     isArray = isMicroarray(curTrack, curTable);
-    isPal = isPalCompatible(conn, curTrack, curTable);
+    struct trackDb *tdb = findTdbForTable(database, curTrack, curTable);
+    isPal = isPalCompatible(conn, tdb, curTable);
     nbSpaces(1);
     if (isCustomTrack(curTable))
 	{
-	isChromGraphCt = isChromGraph(curTrack);
+        isChromGraphCt = isChromGraph(tdb);
 	}
     cgiMakeButton(hgtaDoSchema, "describe table schema");
     hPrintf("</TD></TR>\n");
     }
@@ -777,18 +778,18 @@
     hPrintf("</TD></TR>\n");
     }
 
 /* Correlation line. */
-if (correlateTrackTableOK(curTrack, curTable))
+struct trackDb *tdb = findTdbForTable(database, curTrack, curTable);
+if (correlateTrackTableOK(tdb, curTable))
     {
     char *table2 = cartUsualString(cart, hgtaCorrelateTable, "none");
     hPrintf("<TR><TD><B>correlation:</B>\n");
     if (differentWord(table2,"none") && strlen(table2))
 	{
 	struct grp *groupList = makeGroupList(conn, fullTrackList, TRUE);
 	struct grp *selGroup = findSelectedGroup(groupList, hgtaCorrelateGroup);
-	struct trackDb *tdb2 = findSelectedTrack(fullTrackList, selGroup,
-		hgtaCorrelateTrack);
+        struct trackDb *tdb2 = findSelectedTrack(fullTrackList, selGroup,hgtaCorrelateTrack);
 	if (tdbIsComposite(tdb2))
 	    {
 	    struct trackDb *subTdb;
 	    for (subTdb=tdb2->subtracks; subTdb != NULL; subTdb=subTdb->next)
@@ -805,14 +806,14 @@
         if (tdb2 && tdb2->shortLabel)
 	    hPrintf("&nbsp;(with:&nbsp;&nbsp;%s)", tdb2->shortLabel);
 
 #ifdef NOT_YET
-/* debugging 	dbg	vvvvv	*/
-if (curTrack && curTrack->type)		/*	dbg	*/
+        /* debugging 	dbg	vvvvv	*/
+        if (curTrack && curTrack->type)		/*	dbg	*/
     {
     hPrintf("<BR>&nbsp;(debug:&nbsp;'%s',&nbsp;'%s(%s)')", curTrack->type, tdb2->type, table2);
     }
-/* debugging 	debug	^^^^^	*/
+        /* debugging 	debug	^^^^^	*/
 #endif
 
 	}
     else