130c65d9512af860b1a14c406620f3ac71296ddf
braney
  Sun May 26 12:52:25 2013 -0700
added TRIX search for track hubs.  UDC'ified trix library.  Refs #10426
diff --git src/hg/lib/hgFind.c src/hg/lib/hgFind.c
index 957dd75..8af4b17 100644
--- src/hg/lib/hgFind.c
+++ src/hg/lib/hgFind.c
@@ -21,30 +21,31 @@
 #include "hgFind.h"
 #include "hgFindSpec.h"
 #include "snp.h"
 #include "refLink.h"
 #include "kgAlias.h"
 #include "kgProtAlias.h"
 #include "findKGAlias.h"
 #include "findKGProtAlias.h"
 #include "tigrCmrGene.h"
 #include "minGeneInfo.h"
 #include "pipeline.h"
 #include "hgConfig.h"
 #include "trix.h"
 #include "trackHub.h"
 #include "udc.h"
+#include "hubConnect.h"
 
 
 extern struct cart *cart;
 char *hgAppName = "";
 
 /* alignment tables to check when looking for mrna alignments */
 static char *estTables[] = { "intronEst", "all_est", "xenoEst", NULL };
 static char *estLabels[] = { "Spliced ESTs", "ESTs", "Other ESTs", NULL };
 static char *mrnaTables[] = { "all_mrna", "xenoMrna", NULL };
 static char *mrnaLabels[] = { "mRNAs", "Other mRNAs", NULL };
 static struct dyString *hgpMatchNames = NULL;
 
 static void hgPosFree(struct hgPos **pEl)
 /* Free up hgPos. */
 {
@@ -2395,31 +2396,35 @@
 char *desc;
 char range[HGPOSRANGESIZE];
 char *ui = getUiUrl(cart);
 char *extraCgi = hgp->extraCgi;
 char hgAppCombiner = (strchr(hgAppName, '?')) ? '&' : '?';
 boolean containerDivPrinted = FALSE;
 
 if (useWeb)
     webStart(cart, db, "Select Position");
 
 for (table = hgp->tableList; table != NULL; table = table->next)
     {
     if (table->posList != NULL)
 	{
 	char *parent = hGetParent(db, table->name);
-	char *trackName = hGetTrackForTable(db, table->name);
+	char *trackName = table->name;
+	// TODO: should be able to get this from settings hash for
+	// both hub tracks and normal tracks
+	if (!isHubTrack(table->name)) 
+	    trackName = hGetTrackForTable(db, table->name);
         if (trackName == NULL)
             errAbort("no track for table \"%s\" found via a findSpec", table->name); // wish we had searchName
 	char *vis = hCarefulTrackOpenVis(db, trackName);
 	boolean excludeTable = FALSE;
         if(!containerDivPrinted)
             {
             fprintf(f, "<div id='hgFindResults'>\n");
             containerDivPrinted = TRUE;
             }
 	if (table->htmlStart) 
 	    table->htmlStart(table, f);
 	else
 	    fprintf(f, "<H2>%s</H2><PRE>\n", table->description);
 	for (pos = table->posList; pos != NULL; pos = pos->next)
 	    {