6031d05b102c1cb34c9e8394a8acf5809a8eca8f
angie
  Mon Jan 31 16:19:37 2011 -0800
Track #34 (dbVar for human): Added new track type gvf with basichandlers in hgTracks and hgc.  dbVar's GVF attributes are recognized,
esp. var_type is used to color items, and items are sorted using
the Parent keyword so that parents appear immediately before their
children, and children are sorted by var_type.  Attributes are
displayed in hgc; need to do a bit better for the Start_range and
End_range (e.g. translate "." to "inner start unknown" etc.).

diff --git src/hg/hgc/hgc.c src/hg/hgc/hgc.c
index c9fccb5..e6d51c4 100644
--- src/hg/hgc/hgc.c
+++ src/hg/hgc/hgc.c
@@ -3799,30 +3799,34 @@
 	}
     else if (sameString(type, "altGraphX"))
         {
 	doAltGraphXDetails(tdb,item);
 	}
     //add bedDetail here
     else if (startsWith("bedDetail", type))
         {
         doBedDetail(tdb, NULL, item);
         }
     else if (sameString(type, "interaction") )
 	{
 	int num = 12;
         genericBedClick(conn, tdb, item, start, num);
 	}
+    else if (startsWith("gvf", type))
+        {
+        doGvf(tdb, item);
+        }
 #ifdef USE_BAM
     else if (sameString(type, "bam"))
 	doBamDetails(tdb, item);
 #endif // USE_BAM
     }
 if (imagePath)
     {
     char *bigImagePath = trackDbSettingClosestToHome(tdb, ITEM_BIG_IMAGE_PATH);
     char *bothWords[2];
     int shouldBeTwo = chopLine(imagePath, bothWords);
     if (shouldBeTwo != 2)
 	errAbort("itemImagePath setting for %s track incorrect. Needs to be \"itemImagePath <path> <suffix>\".", tdb->track);
     printf("<BR><IMG SRC=\"%s/%s.%s\"><BR><BR>\n", bothWords[0], item, bothWords[1]);
     shouldBeTwo = chopLine(bigImagePath, bothWords);
     if (shouldBeTwo != 2)