21d203b7ecb3b5b021b8e78c939636f4c20e1458
kate
Mon Jan 30 14:19:05 2017 -0800
Move CSS around a bit to allow release of static pages without CGI's. refs #18504
diff --git src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c
index dec89a0..68738c3 100644
--- src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c
+++ src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c
@@ -1,373 +1,372 @@
/* hgGtexTrackSettings: Configure GTEx track, with tissues selected from Body Map or list
*
* Copyright (C) 2016 The Regents of the University of California
*/
#include "common.h"
#include "trackDb.h"
#include "cart.h"
#include "portable.h"
#include "cheapcgi.h"
#include "web.h"
#include "hCommon.h"
#include "hui.h"
#include "gtexUi.h"
#include "gtexInfo.h"
#include "gtexTissue.h"
/* Global Variables */
struct cart *cart = NULL; /* CGI and other variables */
struct hash *oldVars = NULL; /* Old contents of cart before it was updated by CGI */
static void printTrackHeader(char *db, struct trackDb *tdb)
/* Print top banner with track labels */
// TODO: Try to simplify layout
{
char *assembly = stringBetween("(", ")", hFreezeFromDb(db));
puts(
"\n"
"
%s",
isChecked ? "gbmTissueSelected" : "", tis->name, tis->description);
// Hidden checkbox stores value for cart
printf(
"",
var, tis->name, isChecked ? "checked" : "");
puts(
"
");
col++;
if (col > cols-1)
{
puts("
\n
");
col = 0;
}
}
puts(
"
\n");
puts(
"
");
char buf[512];
safef(buf, sizeof(buf), "%s%s.%s", cgiMultListShadowPrefix(), tdb->track, GTEX_TISSUE_SELECT);
cgiMakeHiddenVar(buf, "0");
}
static void printTrackConfig(struct trackDb *tdb)
/* Print track configuration panels, including Body Map.
The layout is 2-column. Right column is body map SVG.
Left column has a top panel for configuration settings (non-tissue),
and a lower panel with a tissue selection list.
*/
{
puts(
"\n"
"
\n");
}
static struct trackDb *getTrackDb(char *db, char *track)
/* Check if this is an assembly with GTEx track and get trackDb */
{
struct sqlConnection *conn = sqlConnect(db);
if (conn == NULL)
errAbort("Can't connect to database %s\n", db);
char where[256];
safef(where, sizeof(where), "tableName='%s'", track);
// TODO: use hdb, hTrackDbList to get table names of trackDb,
struct trackDb *tdb = trackDbLoadWhere(conn, "trackDb", where);
trackDbAddTableField(tdb);
sqlDisconnect(&conn);
return tdb;
}
static void doMiddle(struct cart *theCart)
/* Send HTML with javascript to display the user interface. */
{
cart = theCart;
char *db = NULL, *genome = NULL, *clade = NULL;
getDbGenomeClade(cart, &db, &genome, &clade, oldVars);
// Start web page with new-style header
webStartGbNoBanner(cart, db, "Genome Browser GTEx Track Settings");
puts(""); // NOTE: This will likely go to web.c
-puts("");
puts("");
char *track = cartUsualString(cart, "g", "gtexGene");
struct trackDb *tdb = getTrackDb(db, track);
if (!tdb)
errAbort("No GTEx track %s found in database %s\n", track, db);
// Container for bootstrap grid layout
puts(
"
\n");
// Print form with configuration HTML, and track description
printf(
"");
printDataInfo(db, tdb);
if (tdb->html)
printTrackDescription(tdb);
puts(
"
");
// Initialize illustration display and handle mouseover and clicks
puts("");
webIncludeFile("inc/gbFooter.html");
webEndJWest();
}
int main(int argc, char *argv[])
/* Process CGI / command line. */
{
/* Null terminated list of CGI Variables we don't want to save to cart */
/* TODO: check these */
char *excludeVars[] = {"submit", "Submit", "g", NULL};
long enteredMainTime = clock1000();
cgiSpoof(&argc, argv);
oldVars = hashNew(10);
cartEmptyShellNoContent(doMiddle, hUserCookie(), excludeVars, oldVars);
cgiExitTime("hgGtexTrackSettings", enteredMainTime);
return 0;
}