f5bc011a1d5dd3daa3211c93eead19e8c7f50ce3 braney Thu Mar 16 16:53:32 2023 -0700 polishing up squishyPack for release diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index 03335ba..309d1ad 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -4733,55 +4733,61 @@ { struct track *nextTrack = NULL, *track; for (track = trackList; track != NULL; track = nextTrack) { nextTrack = track->next; if (track->visibility != tvPack) continue; char *string = trackDbSetting(track->tdb, "squishyPackPoint"); if (string != NULL) { double squishyPackPoint = atof(string); /* clone the track */ + char buffer[strlen(track->track) + strlen("Squish") + 1]; + safef(buffer, sizeof buffer, "%sSquish", track->track); + struct track *squishTrack = CloneVar(track); squishTrack->tdb = CloneVar(track->tdb); + squishTrack->tdb->track = cloneString(buffer); + squishTrack->tdb->next = NULL; squishTrack->visibility = tvSquish; squishTrack->limitedVis = tvSquish; + hashAdd(trackHash, squishTrack->tdb->track, squishTrack); struct linkedFeatures *lf = track->items; /* distribute the items based on squishyPackPoint */ track->items = NULL; squishTrack->items = NULL; struct linkedFeatures *nextLf; for(; lf; lf = nextLf) { nextLf = lf->next; if (lf->squishyPackVal >= squishyPackPoint) slAddHead(&squishTrack->items, lf); else slAddHead(&track->items, lf); } slReverse(&track->items); slReverse(&squishTrack->items); - /* these should be changed to something more rational. */ - squishTrack->track = cloneString("knownGeneSquish"); - squishTrack->shortLabel = cloneString("knownGeneSquish"); - squishTrack->longLabel = cloneString("knownGeneSquish"); + squishTrack->track = cloneString(buffer); + squishTrack->originalTrack = track->track; + squishTrack->shortLabel = cloneString(buffer); + squishTrack->longLabel = cloneString(buffer); /* insert the squished track */ track->next = squishTrack; squishTrack->next = nextTrack; } } } void makeActiveImage(struct track *trackList, char *psOutput) /* Make image and image map. */ { struct track *track; MgFont *font = tl.font; struct hvGfx *hvg; struct tempName pngTn;