5df8951a48bef7dbac187b267f0c6f1289019a71 larrym Mon Dec 6 12:57:44 2010 -0800 Deal with the fact that the ruler isn't in the trackHash (fixes problem where trackDbJson was empty when requesting just the ruler) diff --git src/hg/hgTracks/imageV2.c src/hg/hgTracks/imageV2.c index cd77c7b..5d79422 100644 --- src/hg/hgTracks/imageV2.c +++ src/hg/hgTracks/imageV2.c @@ -232,40 +232,45 @@ enum kindOfChild tdbKindOfChild(struct trackDb *tdb) { enum kindOfChild kindOfChild = kocOrphan; if (tdbIsFolderContent(tdb)) kindOfChild = kocFolderContent; else if (tdbIsCompositeChild(tdb)) kindOfChild = kocCompositeChild; else if (tdbIsMultiTrackChild(tdb)) kindOfChild = kocMultiTrackChild; return kindOfChild; } ///////////////////////// // JSON support. Eventually the whole imgTbl could be written out as JSON + + +static void jsonTdbSettingsInit(struct dyString **jsonTdbSettingsString) +// Inititializes trackDbJson +{ +*jsonTdbSettingsString = newDyString(1024); +dyStringPrintf(*jsonTdbSettingsString, "\n\n", (imgBox->plusStrand?imgBox->sideLabelWidth:0), (int)((imgBox->portalStart - imgBox->chromStart) / imgBox->basesPerPixel),imgBox->basesPerPixel); } #endif//def IMAGEv2_DRAG_SCROLL hPrintf("showPortal?(imgBox->portalWidth+imgBox->sideLabelWidth):imgBox->width); hPrintf(" class='tableWithDragAndDrop'"); hPrintf(" style='border:1px solid blue;border-collapse:separate;'>\n"); struct dyString *jsonTdbVars = NULL; +jsonTdbSettingsInit(&jsonTdbVars); char *newLine = NEWLINE_TO_USE(cgiClientBrowser(NULL,NULL,NULL)); struct imgTrack *imgTrack = imgBox->imgTracks; for(;imgTrack!=NULL;imgTrack=imgTrack->next) { char *trackName = (imgTrack->name != NULL ? imgTrack->name : imgTrack->tdb->track ); struct track *track = hashFindVal(trackHash, trackName); if(track) jsonTdbSettingsBuild(&jsonTdbVars, track, TRUE); hPrintf("\n",trackName,imgTrack->order, (imgTrack->reorderable?" trDraggable":" nodrop nodrag"), (imgTrack->centerLabelSeen != clAlways?" clOpt":""), (imgTrack->ajaxRetrieval ?" mustRetrieve":"")); if(imgBox->showSideLabel && imgBox->plusStrand)