6653939f865225a4141f5b2a1b970e34b92b1226 max Fri May 16 08:23:59 2025 -0700 fixing right-click ID for gene pred tracks, refs #35756 diff --git src/hg/hgTracks/simpleTracks.c src/hg/hgTracks/simpleTracks.c index 158f018aa90..be2d0a613e3 100644 --- src/hg/hgTracks/simpleTracks.c +++ src/hg/hgTracks/simpleTracks.c @@ -3054,52 +3054,54 @@ // (accounts for space taken by exon arrows buttons) if (codonsx <= picEnd && codonex >= picStart) { // clip it to avail pic codonsx = (codonsx < picStart) ? picStart : codonsx; codonex = (codonex > picEnd) ? picEnd : codonex; int w = codonex - codonsx; if (w > 0) { // temporarily remove the mouseOver from the lf, since linkedFeatureMapItem will always // prefer a lf->mouseOver over the itemName char *oldMouseOver = lf->mouseOver; lf->mouseOver = NULL; dyStringClear(codonDy); + // if you change this text, make sure you also change hgTracks.js:mouseOverToLabel if (!isEmpty(existingText)) dyStringPrintf(codonDy, "Transcript: %s
", existingText); int codonHgvsIx = (codon->codonIndex - 1) * 3; if (codonHgvsIx >= 0) dyStringPrintf(codonDy, "cDNA: c.%d-%d
", codonHgvsIx + 1, codonHgvsIx + 3); dyStringPrintf(codonDy, "Strand: %c
Exon: %s %d of %d
%s", strandChar, exonIntronText, exonIntronNumber, numExonIntrons, phaseText); tg->mapItem(tg, hvg, item, codonDy->string, tg->mapItemName(tg, item), sItem, eItem, codonsx, y, w, heightPer); // and restore the mouseOver lf->mouseOver = oldMouseOver; } } } } } else // either an intron, or else an exon zoomed out too far for codons (or no codons) { char *sep = ""; if (!isEmpty(existingText)) sep = "
"; + // if you change this text, make sure you also change hgTracks.js:mouseOverToLabel safef(mouseOverText, sizeof(mouseOverText), "Transcript: %s%sStrand: %c
Exon: %s %d of %d
%s", existingText, sep, strandChar, exonIntronText, exonIntronNumber, numExonIntrons, phaseText); // temporarily remove the mouseOver from the lf, since linkedFeatureMapItem will always // prefer a lf->mouseOver over the itemName char *oldMouseOver = lf->mouseOver; lf->mouseOver = NULL; tg->mapItem(tg, hvg, item, mouseOverText, tg->mapItemName(tg, item), sItem, eItem, sx, y, w, heightPer); // and restore the old mouseOver lf->mouseOver = oldMouseOver; picStart = ex; // prevent pileups. is this right? add 1? does it work? // JC: Why do we care about pileups? First mapbox drawn wins. }