340dfdea9cdbee56a51f62b3934c2d3b7bbf6b57 max Mon Apr 30 14:50:12 2012 -0700 UI themes for hgc/hgGene and some fixes for hgTracks diff --git src/lib/htmshell.c src/lib/htmshell.c index 88e3dfd..8aaeae9 100644 --- src/lib/htmshell.c +++ src/lib/htmshell.c @@ -343,39 +343,49 @@ static char *htmlStyle = "<STYLE TYPE=\"text/css\">" ".hiddenText {background-color: silver}" ".normalText {background-color: white}" "</STYLE>\n"; char *htmlStyleUndecoratedLink = /* Style that gets rid of underline of links. */ "<STYLE TYPE=\"text/css\"> " "<!-- " "A {text-decoration: none} " "-->" "</STYLE>\n"; +// optional style set by theme, added after main style and thus +// can overwrite main style settings +static char *htmlStyleTheme = NULL; + void htmlSetStyle(char *style) /* Set document wide style. A favorite style to * use for many purposes is htmlStyleUndecoratedLink * which will remove underlines from links. * Needs to be called before htmlStart or htmShell. */ { htmlStyle = style; } +void htmlSetStyleTheme(char *style) +/* Set theme style. Needs to be called before htmlStart or htmShell. */ +{ +htmlStyleTheme = style; +} + static char *htmlBackground = NULL; void htmlSetBackground(char *imageFile) /* Set background - needs to be called before htmlStart * or htmShell. */ { htmlBackground = imageFile; } static int htmlBgColor = 0xFFFFFF; boolean gotBgColor = FALSE; void htmlSetBgColor(int color) /* Set background color - needs to be called before htmlStart * or htmShell. */ @@ -426,30 +436,32 @@ #else///ifndef TOO_TIMID_FOR_CURRENT_HTML_STANDARDS char *browserVersion; if (btIE == cgiClientBrowser(&browserVersion, NULL, NULL) && *browserVersion < '8') fputs("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">\n", f); else fputs("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",f); // Strict would be nice since it fixes atleast one IE problem (use of :hover CSS pseudoclass) //fputs("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n",f); #endif///ndef TOO_TIMID_FOR_CURRENT_HTML_STANDARDS } fputs("<HTML>", f); fprintf(f,"<HEAD>\n%s<TITLE>%s</TITLE>\n", head, title); fprintf(f, "\t<META http-equiv=\"Content-Script-Type\" content=\"text/javascript\">\n"); if (htmlStyle != NULL) fputs(htmlStyle, f); +if (htmlStyleTheme != NULL) + fputs(htmlStyleTheme, f); fputs("</HEAD>\n\n",f); fputs("<BODY",f); if (htmlBackground != NULL ) fprintf(f, " BACKGROUND=\"%s\"", htmlBackground); if (gotBgColor) fprintf(f, " BGCOLOR=\"#%X\"", htmlBgColor); fputs(">\n",f); htmlWarnBoxSetup(f); } void htmlStart(char *title) /* Write the start of an html from CGI */ {