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) }