bf206e712c2e6d27532774f86ed7e01af79cb830
tdreszer
Tue Aug 31 14:42:14 2010 -0700
Movved 2 functions out of searchTracks.
diff --git src/hg/hgTracks/imageV2.c src/hg/hgTracks/imageV2.c
index f032121..16b2b99 100644
--- src/hg/hgTracks/imageV2.c
+++ src/hg/hgTracks/imageV2.c
@@ -106,6 +106,46 @@
#endif//def FLAT_TRACK_LIST
/////////////////////////
+// JSON support. Eventually the whole imgTbl could be written out as JSON
+void jsonTdbSettingsBuild(struct dyString **jsonTdbSettingsString, struct track *track)
+// Creates then successively adds trackDb settings to the jsonTdbSettingsString
+// Initially pass in NULL pointer to a dyString to properly begin building
+{
+if (*jsonTdbSettingsString==NULL)
+ {
+ *jsonTdbSettingsString = newDyString(1024);
+ dyStringPrintf(*jsonTdbSettingsString, "\n");
+return dyStringCannibalize(jsonTdbSettingsString);
+}
+
+/////////////////////////
// IMAGEv2
// The new way to do images: PLEASE REFER TO imageV2.h FOR A DETAILED DESCRIPTION
/////////////////////////
@@ -1580,41 +1620,9 @@
hPrintf("");
}
-#if defined(CONTEXT_MENU) || defined(TRACK_SEARCH)
-static void trackJson(struct dyString *trackDbJson, struct track *track, int count)
-{
-// add entry for given track to the trackDbJson string
-if(count)
- dyStringAppend(trackDbJson, "\n,");
-dyStringPrintf(trackDbJson, "\t%s: {", track->track);
-if(tdbIsSuperTrackChild(track->tdb))
- {
- dyStringPrintf(trackDbJson, "\n\t\tparentTrack: '%s',", track->tdb->parent->track);
- dyStringPrintf(trackDbJson, "\n\t\tparentLabel: '%s',", track->tdb->parent->shortLabel);
- }
-else if(tdbIsCompositeChild(track->tdb))
- {
- struct trackDb *parentTdb = trackDbCompositeParent(track->tdb);
- dyStringPrintf(trackDbJson, "\n\t\tparentTrack: '%s',", parentTdb->track);
- dyStringPrintf(trackDbJson, "\n\t\tparentLabel: '%s',", parentTdb->shortLabel);
- }
-dyStringPrintf(trackDbJson, "\n\t\ttype: '%s',", track->tdb->type);
-if(sameWord(track->tdb->type, "remote") && trackDbSetting(track->tdb, "url") != NULL)
- dyStringPrintf(trackDbJson, "\n\t\turl: '%s',", trackDbSetting(track->tdb, "url"));
-dyStringPrintf(trackDbJson, "\n\t\tshortLabel: '%s',\n\t\tlongLabel: '%s',\n\t\tcanPack: %d,\n\t\tvisibility: %d\n\t}",
- javaScriptLiteralEncode(track->shortLabel), javaScriptLiteralEncode(track->longLabel), track->canPack, track->limitedVis);
-}
-#endif/// defined(CONTEXT_MENU) || defined(TRACK_SEARCH)
-
void imageBoxDraw(struct imgBox *imgBox)
/* writes a entire imgBox including all tracksas HTML */
{
-#if defined(CONTEXT_MENU) || defined(TRACK_SEARCH)
-struct dyString *trackDbJson = newDyString(1000);
-int trackDbJsonCount = 1;
-dyStringPrintf(trackDbJson, "\n");
if(!trackImgOnly)
- hPrintf(dyStringContents(trackDbJson));
+ hPrintf(jsonTdbSettingsUse(&jsonTdbVars));
#endif/// defined(CONTEXT_MENU) || defined(TRACK_SEARCH)
}