f2d3014a3cc95116346eab4675817cf0c65f6d62 braney Tue Aug 18 11:12:35 2026 -0700 hgc: encode item detail text consistently, refs #38123 diff --git src/hg/hgc/hgc.h src/hg/hgc/hgc.h index abda4b2f4a1..a4c0bd16077 100644 --- src/hg/hgc/hgc.h +++ src/hg/hgc/hgc.h @@ -1,626 +1,629 @@ /* hgc - Human Genome Click processor - gets called when user clicks * on something in human tracks display. This file contains stuff * shared with other modules in hgc, but not in other programs. */ /* Copyright (C) 2014 The Regents of the University of California * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */ #ifndef HGC_H #define HGC_H #ifndef CART_H #include "cart.h" #endif #ifndef TRACKDB_H #include "trackDb.h" #endif #ifndef BED_H #include "bed.h" #endif #ifndef HDB_H #include "hdb.h" #endif #ifndef HPRINT_H #include "hPrint.h" #endif #ifndef CUSTOMTRACK_H #include "customTrack.h" #endif #ifndef WIKITRACK_H #include "wikiTrack.h" #endif #ifndef VARIOME_H #include "variome.h" #endif #ifndef BEDDETAIL_H #include "bedDetail.h" #endif #include "hgdpGeo.h" #include "dnaMotif.h" #include "togaClick.h" #include "featureBits.h" #include "snp125.h" extern struct cart *cart; /* User's settings. */ extern char *seqName; /* Name of sequence we're working on. */ extern int winStart, winEnd; /* Bounds of sequence. */ extern char *database; /* Name of mySQL database. */ extern char *organism; /* Colloquial name of organism. */ extern char *genome; /* common name, e.g. Mouse, Human */ extern char *scientificName; /* Scientific name of organism. */ extern struct hash *trackHash; /* A hash of all tracks - trackDb valued */ // A helper struct for allowing variable sized user defined tables. Each table // is encoded in one field of the bigBed with '|' as column separators and ';' as // field separators. struct embeddedTbl { struct embeddedTbl *next; // the next custom table char *field; // field name from bigBed, used as title when title is NULL char *title; // title of the table from trackDb, may be NULL char *encodedTbl; // contents of field in bigBed }; void hgcStart(char *title); /* Print out header of web page with title. Set * error handler to normal html error handler. */ char *hgcPath(); /* Return path of this CGI script. */ char *hgcPathAndSettings(); /* Return path with this CGI script and session state variable. */ void hgcAnchorSomewhere(char *group, char *item, char *other, char *chrom); /* Generate an anchor that calls click processing program with item * and other parameters. */ void hgcAnchorWindow(char *group, char *item, int thisWinStart, int thisWinEnd, char *other, char *chrom); /* Generate an anchor that calls click processing program with item * and other parameters, INCLUDING the ability to specify left and * right window positions different from the current window*/ void hgcAnchor(char *group, char *item, char *other); /* Generate an anchor that calls click processing program with item * and other parameters. */ struct trackDb *tdbForTableArg(); /* get trackDb for track passed in table arg */ void writeFramesetType(); /* Write document type that shows a frame set, rather than regular HTML. */ void htmlFramesetStart(char *title); /* Write DOCTYPE HTML and HEAD sections for framesets. */ void alnModernStart(char *classicTitle); /* Begin an alignment page: modern single-page chrome when the modernAlignPage hg.conf flag is set * (showSomeAlignment then renders the modern body), else the classic