summaryrefslogtreecommitdiffstats
path: root/src/htmlgen.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2005-09-16 18:34:41 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2005-09-16 18:34:41 (GMT)
commit3b98221d43ba62088538ead3aa726f81dd9202f9 (patch)
tree11aba0942df62a4f1090d7ffd3f4cb98c0c3b6ed /src/htmlgen.cpp
parent2620b73bf03f4ecafc9d751691dccb31cc94a4fe (diff)
downloadDoxygen-3b98221d43ba62088538ead3aa726f81dd9202f9.zip
Doxygen-3b98221d43ba62088538ead3aa726f81dd9202f9.tar.gz
Doxygen-3b98221d43ba62088538ead3aa726f81dd9202f9.tar.bz2
Release-1.4.4-20050817
Diffstat (limited to 'src/htmlgen.cpp')
-rw-r--r--src/htmlgen.cpp1050
1 files changed, 663 insertions, 387 deletions
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
index 9da1e6e..8391e3c 100644
--- a/src/htmlgen.cpp
+++ b/src/htmlgen.cpp
@@ -42,331 +42,453 @@
//#define DBG_HTML(x) x;
#define DBG_HTML(x)
-static const char *defaultStyleSheet =
-"BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {\n"
-" font-family: Geneva, Arial, Helvetica, sans-serif;\n"
-"}\n"
-"BODY,TD {\n"
-" font-size: 90%;\n"
-"}\n"
-"H1 {\n"
-" text-align: center;\n"
-" font-size: 160%;\n"
-"}\n"
-"H2 {\n"
-" font-size: 120%;\n"
+static const char defaultStyleSheet[] =
+#include "doxygen_css.h"
+;
+
+const char search_script[]=
+#include "search_php.h"
+;
+
+static QCString g_header;
+static QCString g_footer;
+
+//------------------------- Pictures for the Tabs ------------------------
+
+static unsigned char tab_b_gif[] = {
+ 0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x01, 0x00, 0x01, 0x00, 0x80, 0x00,
+ 0x00, 0x84, 0xb0, 0xc7, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x02, 0x44, 0x01, 0x00, 0x3b
+};
+static unsigned int tab_b_gif_len = 35;
+
+static unsigned char tab_l_gif[] = {
+ 0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x09, 0x00, 0x2c, 0x01, 0xd5, 0x00,
+ 0x00, 0xf6, 0xf7, 0xf9, 0xf1, 0xf4, 0xf7, 0xf6, 0xf8, 0xfa, 0xfc, 0xfd,
+ 0xfe, 0xfa, 0xfb, 0xfc, 0xf9, 0xfa, 0xfb, 0xf8, 0xf9, 0xfa, 0xea, 0xef,
+ 0xf3, 0xef, 0xf3, 0xf6, 0xc6, 0xd5, 0xdf, 0xd2, 0xde, 0xe6, 0xd8, 0xe2,
+ 0xe9, 0xde, 0xe7, 0xed, 0xdd, 0xe6, 0xec, 0xe5, 0xec, 0xf1, 0xe8, 0xee,
+ 0xf2, 0xf4, 0xf7, 0xf9, 0xf3, 0xf6, 0xf8, 0xb3, 0xc8, 0xd5, 0xc1, 0xd2,
+ 0xdd, 0xcb, 0xd9, 0xe2, 0xcf, 0xdc, 0xe4, 0xd6, 0xe1, 0xe8, 0x96, 0xb4,
+ 0xc5, 0x9d, 0xb9, 0xc9, 0xaf, 0xc2, 0xcd, 0xbb, 0xce, 0xd9, 0xc3, 0xd4,
+ 0xde, 0xc2, 0xd3, 0xdd, 0xc8, 0xd7, 0xe0, 0xcc, 0xda, 0xe2, 0xd5, 0xe1,
+ 0xe8, 0xd9, 0xe4, 0xea, 0xd7, 0xe2, 0xe8, 0xe5, 0xec, 0xf0, 0xeb, 0xf0,
+ 0xf3, 0x84, 0xb0, 0xc7, 0xd1, 0xde, 0xe5, 0xdc, 0xe6, 0xeb, 0xe3, 0xeb,
+ 0xef, 0xeb, 0xf1, 0xf4, 0xee, 0xf3, 0xf5, 0xf7, 0xfa, 0xfb, 0xfb, 0xfc,
+ 0xfc, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x2c, 0x01, 0x00, 0x06,
+ 0xff, 0x40, 0x96, 0x50, 0xb1, 0xc9, 0x60, 0x48, 0x24, 0x21, 0x25, 0x43,
+ 0x71, 0x00, 0x56, 0x03, 0x16, 0x65, 0x32, 0x1a, 0x58, 0xad, 0x8a, 0xcc,
+ 0x08, 0x4a, 0x28, 0x08, 0x04, 0x93, 0xc4, 0xa0, 0x2b, 0x80, 0x98, 0x33,
+ 0x0d, 0x32, 0x24, 0xc0, 0xc6, 0x20, 0xbc, 0x6b, 0x76, 0x8a, 0xe4, 0x2d,
+ 0xcb, 0xe7, 0xf5, 0x75, 0x2a, 0x85, 0x22, 0x7d, 0xe3, 0x7c, 0x7d, 0x7f,
+ 0x01, 0x7c, 0x07, 0x07, 0x7e, 0x71, 0x28, 0x0f, 0x22, 0x0c, 0x24, 0x66,
+ 0x84, 0x07, 0x0c, 0x0c, 0x27, 0x8e, 0x6c, 0x28, 0x8c, 0x26, 0x26, 0x24,
+ 0x72, 0x91, 0x99, 0x0b, 0x9b, 0x90, 0x0c, 0x26, 0x0b, 0x21, 0xa0, 0x29,
+ 0x0f, 0xa2, 0xa4, 0x9b, 0x7b, 0xa8, 0xa3, 0xa5, 0x72, 0xad, 0xaa, 0xb0,
+ 0xa9, 0xaf, 0x84, 0xb1, 0xaf, 0xac, 0xb4, 0xa6, 0xb7, 0xbb, 0xba, 0xb3,
+ 0xae, 0xab, 0xa7, 0xbe, 0xb6, 0xc3, 0xc2, 0xc0, 0xbf, 0xb2, 0xb9, 0xc7,
+ 0xc4, 0xcb, 0xc6, 0xb2, 0xcc, 0xc9, 0xce, 0xb5, 0xd2, 0xbd, 0xcd, 0xbc,
+ 0x84, 0xd4, 0xc8, 0xd3, 0xd7, 0xd0, 0xb8, 0xd9, 0xdd, 0xd5, 0xcf, 0xd9,
+ 0xca, 0xe2, 0xdc, 0xdf, 0xe3, 0xe7, 0xe6, 0xea, 0xbe, 0xe4, 0xdb, 0xc5,
+ 0xeb, 0xc7, 0xed, 0xe1, 0xee, 0xd6, 0xec, 0xe9, 0xef, 0xf8, 0xf1, 0xf7,
+ 0xf5, 0xfc, 0xd1, 0xf0, 0xe5, 0xf9, 0xfc, 0x05, 0xa4, 0x07, 0x50, 0xdf,
+ 0x3f, 0x82, 0x08, 0x83, 0x1d, 0x9c, 0xc7, 0x10, 0xdb, 0x42, 0x6d, 0x0d,
+ 0xe5, 0x41, 0x9c, 0x08, 0xce, 0xe1, 0xc0, 0x86, 0x15, 0x25, 0x56, 0xdc,
+ 0x88, 0xee, 0x21, 0xc7, 0x6b, 0x1a, 0xf7, 0x15, 0x14, 0xd8, 0x2f, 0xe1,
+ 0xc4, 0x90, 0x1e, 0x3b, 0x5e, 0xa4, 0xa8, 0xb2, 0x24, 0xc6, 0x96, 0x23,
+ 0x4d, 0x66, 0x14, 0x29, 0x13, 0x66, 0xcd, 0x87, 0x28, 0x57, 0xce, 0x4c,
+ 0x89, 0x93, 0xe6, 0x4b, 0xe7, 0x90, 0xd2, 0x84, 0xb0, 0x20, 0x92, 0x01,
+ 0x49, 0x12, 0x29, 0x4c, 0x1c, 0x18, 0x10, 0x3a, 0x65, 0x44, 0x0b, 0xa1,
+ 0x43, 0xb5, 0xb4, 0x78, 0x2a, 0x34, 0x0c, 0x55, 0xa8, 0x68, 0xa0, 0x0a,
+ 0x25, 0x11, 0x41, 0xab, 0x90, 0xa3, 0x5e, 0xc1, 0x4e, 0x1d, 0x4b, 0x62,
+ 0xac, 0xd9, 0x16, 0x65, 0xa7, 0x0e, 0x58, 0xb1, 0x82, 0x00, 0x81, 0xb4,
+ 0x6b, 0xbb, 0x78, 0x21, 0xc1, 0xd6, 0xed, 0x97, 0x32, 0x74, 0xdd, 0xd6,
+ 0x09, 0x00, 0x21, 0xaf, 0x9a, 0x35, 0x74, 0xdb, 0xe6, 0xe9, 0x1b, 0x97,
+ 0xc0, 0x5d, 0x01, 0x24, 0xac, 0xb4, 0x25, 0x83, 0x58, 0xed, 0xe2, 0x2e,
+ 0x69, 0x5b, 0xac, 0x5d, 0x1c, 0x59, 0xad, 0x95, 0xca, 0x66, 0x8f, 0x9e,
+ 0x45, 0xeb, 0xf5, 0x6b, 0x67, 0x16, 0x60, 0xb5, 0x86, 0x86, 0x3a, 0x7a,
+ 0xeb, 0xe7, 0xd2, 0x9e, 0x3b, 0xa3, 0x06, 0x7d, 0xba, 0xb5, 0x6a, 0xd7,
+ 0x61, 0x61, 0x8b, 0x96, 0x4d, 0x9a, 0xb6, 0xe9, 0xd7, 0xb8, 0x63, 0xe7,
+ 0x9e, 0xbd, 0xbb, 0x76, 0xef, 0xdb, 0xba, 0x83, 0xf3, 0x16, 0xee, 0x9b,
+ 0x38, 0xf0, 0xe1, 0xc8, 0x8b, 0x27, 0x3f, 0xae, 0xbc, 0x39, 0xf3, 0xe7,
+ 0xa9, 0x8d, 0x47, 0x5f, 0x3e, 0xdd, 0x79, 0x75, 0xe8, 0xac, 0x7f, 0x5f,
+ 0xdf, 0x9e, 0x5d, 0x7a, 0x77, 0xea, 0xdf, 0xad, 0x87, 0xc7, 0xbe, 0xba,
+ 0xbc, 0x6d, 0xee, 0xe6, 0xb5, 0x8f, 0x47, 0x7f, 0x7e, 0xbd, 0xfb, 0xf4,
+ 0xde, 0xe1, 0x83, 0x97, 0x2f, 0x9e, 0x3e, 0xf9, 0xf6, 0xf6, 0xd9, 0xab,
+ 0xcf, 0xff, 0x1e, 0xbf, 0xff, 0xfd, 0xff, 0xc5, 0x17, 0xe0, 0x7c, 0x03,
+ 0xd6, 0x57, 0xe0, 0x7d, 0x00, 0x76, 0x16, 0x04, 0x00, 0x3b
+};
+static unsigned int tab_l_gif_len = 706;
+
+static unsigned char tab_r_gif[] = {
+ 0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x90, 0x01, 0x2c, 0x01, 0xd5, 0x00,
+ 0x00, 0xf6, 0xf7, 0xf9, 0xf1, 0xf4, 0xf7, 0xf6, 0xf8, 0xfa, 0xfc, 0xfd,
+ 0xfe, 0xfa, 0xfb, 0xfc, 0xf9, 0xfa, 0xfb, 0xf8, 0xf9, 0xfa, 0xea, 0xef,
+ 0xf3, 0xef, 0xf3, 0xf6, 0xc6, 0xd5, 0xdf, 0xd2, 0xde, 0xe6, 0xd8, 0xe2,
+ 0xe9, 0xde, 0xe7, 0xed, 0xdd, 0xe6, 0xec, 0xe5, 0xec, 0xf1, 0xe8, 0xee,
+ 0xf2, 0xf4, 0xf7, 0xf9, 0xf3, 0xf6, 0xf8, 0xb3, 0xc8, 0xd5, 0xc1, 0xd2,
+ 0xdd, 0xcb, 0xd9, 0xe2, 0xcf, 0xdc, 0xe4, 0xd6, 0xe1, 0xe8, 0x96, 0xb4,
+ 0xc5, 0x9d, 0xb9, 0xc9, 0xaf, 0xc2, 0xcd, 0xbb, 0xce, 0xd9, 0xc3, 0xd4,
+ 0xde, 0xc2, 0xd3, 0xdd, 0xc8, 0xd7, 0xe0, 0xcc, 0xda, 0xe2, 0xd5, 0xe1,
+ 0xe8, 0xd9, 0xe4, 0xea, 0xd7, 0xe2, 0xe8, 0xe5, 0xec, 0xf0, 0xeb, 0xf0,
+ 0xf3, 0x84, 0xb0, 0xc7, 0xd1, 0xde, 0xe5, 0xdc, 0xe6, 0xeb, 0xe3, 0xeb,
+ 0xef, 0xeb, 0xf1, 0xf4, 0xee, 0xf3, 0xf5, 0xf7, 0xfa, 0xfb, 0xfb, 0xfc,
+ 0xfc, 0xff, 0xff, 0xff, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x90, 0x01, 0x2c, 0x01, 0x00, 0x06,
+ 0xff, 0x40, 0x92, 0x70, 0x48, 0x2c, 0x1a, 0x8f, 0xc8, 0xa4, 0x72, 0xc9,
+ 0x6c, 0x3a, 0x9f, 0xd0, 0xa8, 0x74, 0x4a, 0xad, 0x5a, 0xaf, 0xd8, 0xac,
+ 0x76, 0x0b, 0x95, 0x68, 0x3c, 0xac, 0x70, 0x6b, 0x4c, 0x2e, 0x9b, 0xcf,
+ 0xe8, 0xb4, 0x7a, 0xcd, 0x6e, 0xbb, 0xdf, 0xf0, 0xb8, 0x7c, 0x4e, 0xaf,
+ 0xdb, 0xef, 0xf8, 0xbc, 0x7e, 0xcf, 0x77, 0x0f, 0x56, 0x10, 0x16, 0x1a,
+ 0x17, 0x1c, 0x61, 0x2b, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e,
+ 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a,
+ 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0x93, 0x2a, 0x10, 0x01, 0x29, 0x15,
+ 0x5e, 0x2c, 0x2a, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2,
+ 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe,
+ 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xb6, 0x10, 0x10, 0x29, 0x0f, 0x27, 0x1d,
+ 0x17, 0x15, 0xc6, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6,
+ 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2,
+ 0xe3, 0xe4, 0xe5, 0xe6, 0xda, 0xa5, 0x28, 0x22, 0x0c, 0x0c, 0x12, 0x12,
+ 0x01, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa,
+ 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 0x00, 0x03, 0x0a, 0x1c, 0x48, 0xb0, 0xa0,
+ 0xc1, 0x83, 0x08, 0x13, 0xf2, 0x4b, 0x81, 0x22, 0x19, 0x03, 0x13, 0x83,
+ 0x52, 0x48, 0x9c, 0x48, 0xb1, 0xa2, 0xc5, 0x8b, 0x18, 0x33, 0x6a, 0xdc,
+ 0xc8, 0xb1, 0xa3, 0xc7, 0x8f, 0x20, 0x43, 0x8a, 0x1c, 0x49, 0xb2, 0xa4,
+ 0xc9, 0x93, 0x28, 0x53, 0xaa, 0x5c, 0xe9, 0x11, 0xc5, 0x81, 0x75, 0x26,
+ 0x40, 0x80, 0x20, 0xc1, 0xb2, 0xa6, 0xcd, 0x9b, 0x38, 0x73, 0xea, 0xdc,
+ 0xc9, 0xb3, 0xa7, 0x4f, 0xff, 0x96, 0x28, 0x1a, 0xc2, 0x04, 0xb1, 0x80,
+ 0x44, 0xd0, 0xa3, 0x48, 0x93, 0x2a, 0x5d, 0xca, 0xb4, 0xa9, 0xd3, 0xa7,
+ 0x50, 0xa3, 0x4a, 0x9d, 0x4a, 0xb5, 0xaa, 0xd5, 0xab, 0x58, 0xb3, 0x6a,
+ 0xdd, 0xca, 0xb5, 0xab, 0xd7, 0xaf, 0x53, 0x0f, 0x38, 0x34, 0xb1, 0x20,
+ 0x04, 0x89, 0x03, 0x68, 0xd3, 0xaa, 0x5d, 0xcb, 0xb6, 0xad, 0xdb, 0xb7,
+ 0x70, 0xe3, 0xca, 0x9d, 0x4b, 0xb7, 0xae, 0xdd, 0xbb, 0x78, 0xf3, 0xea,
+ 0xdd, 0xcb, 0xb7, 0xaf, 0xdf, 0xbf, 0x80, 0x03, 0xd3, 0x7d, 0x20, 0xe2,
+ 0x44, 0xcc, 0x10, 0x66, 0x1f, 0x28, 0x5e, 0xcc, 0xb8, 0xb1, 0xe3, 0xc7,
+ 0x90, 0x23, 0x4b, 0x9e, 0x4c, 0xb9, 0xb2, 0xe5, 0xcb, 0x98, 0x33, 0x6b,
+ 0xde, 0xcc, 0xb9, 0xb3, 0xe7, 0xcf, 0xa0, 0x43, 0x8b, 0x1e, 0x6d, 0xb9,
+ 0xf0, 0x43, 0xc4, 0x1f, 0x48, 0x9c, 0x58, 0xcd, 0xba, 0xb5, 0xeb, 0xd7,
+ 0xb0, 0x63, 0xcb, 0x9e, 0x4d, 0xbb, 0xb6, 0xed, 0xdb, 0xb8, 0x73, 0xeb,
+ 0xde, 0xcd, 0xbb, 0xb7, 0xef, 0xdf, 0xc0, 0x83, 0x0b, 0x1f, 0x4e, 0x1c,
+ 0xf7, 0xc3, 0x05, 0x1f, 0x4a, 0x94, 0x20, 0xc1, 0xae, 0xb9, 0xf3, 0xe7,
+ 0xd0, 0xa3, 0x4b, 0x9f, 0x4e, 0xbd, 0xba, 0xf5, 0xeb, 0xd8, 0xb3, 0x6b,
+ 0xdf, 0xce, 0xbd, 0xbb, 0xf7, 0xef, 0xe0, 0xc3, 0x8b, 0x1f, 0x4f, 0xbe,
+ 0x3c, 0x76, 0x13, 0x31, 0x91, 0x2b, 0x5f, 0x2e, 0xb3, 0xbd, 0xfb, 0xf7,
+ 0xf0, 0xe3, 0xcb, 0x9f, 0x4f, 0xbf, 0xbe, 0xfd, 0xfb, 0xf8, 0xf3, 0xeb,
+ 0xdf, 0xcf, 0xbf, 0xbf, 0xff, 0xff, 0x00, 0x06, 0x28, 0xe0, 0x80, 0x04,
+ 0x16, 0x98, 0x5f, 0x59, 0xc9, 0x95, 0x40, 0xc1, 0x72, 0x88, 0x35, 0xe8,
+ 0xe0, 0x83, 0x10, 0x46, 0x28, 0xe1, 0x84, 0x14, 0x56, 0x68, 0xe1, 0x85,
+ 0x18, 0x66, 0xa8, 0xe1, 0x86, 0x1c, 0x76, 0xe8, 0xff, 0xe1, 0x87, 0x20,
+ 0x86, 0x28, 0xe2, 0x88, 0x24, 0x96, 0xa8, 0x61, 0x82, 0x14, 0xa4, 0x48,
+ 0x82, 0x89, 0x2c, 0xb6, 0xe8, 0xe2, 0x8b, 0x30, 0xc6, 0x28, 0xe3, 0x8c,
+ 0x34, 0xd6, 0x68, 0xe2, 0x07, 0x09, 0x2a, 0xa8, 0x22, 0x8e, 0x3c, 0xf6,
+ 0xe8, 0xe3, 0x8f, 0x40, 0x06, 0x29, 0xe4, 0x90, 0x44, 0x16, 0x69, 0xe4,
+ 0x91, 0x48, 0x26, 0xa9, 0xe4, 0x92, 0x4c, 0x36, 0xe9, 0xe4, 0x93, 0x50,
+ 0x46, 0x29, 0xe5, 0x94, 0x54, 0x26, 0xa9, 0x5c, 0x8a, 0x3b, 0x56, 0xa9,
+ 0xe5, 0x96, 0x5c, 0x76, 0xe9, 0xe5, 0x97, 0x60, 0x86, 0x29, 0xe6, 0x98,
+ 0x5a, 0x5e, 0x89, 0x25, 0x09, 0x64, 0xa6, 0xa9, 0xe6, 0x9a, 0x6c, 0xb6,
+ 0xe9, 0xe6, 0x9b, 0x70, 0xfe, 0x68, 0x66, 0x96, 0x71, 0xd6, 0x69, 0xe7,
+ 0x9d, 0x78, 0xe6, 0xa9, 0xe7, 0x97, 0x73, 0x52, 0x80, 0xe6, 0x9e, 0x80,
+ 0x06, 0x2a, 0xe8, 0xa0, 0x84, 0xc2, 0xd9, 0xe7, 0x9f, 0x85, 0x26, 0xaa,
+ 0xe8, 0xa2, 0x8c, 0x36, 0x3a, 0xe4, 0xa1, 0x8e, 0x46, 0x2a, 0xe9, 0xa4,
+ 0x94, 0xc6, 0x09, 0x69, 0xa5, 0x98, 0x66, 0xaa, 0xe9, 0xa6, 0x4f, 0x5e,
+ 0xca, 0xe9, 0xa7, 0xa0, 0x86, 0xca, 0xa9, 0xa7, 0xa2, 0x96, 0x6a, 0xea,
+ 0xa9, 0x84, 0x92, 0x8a, 0xea, 0xaa, 0xac, 0xb6, 0xca, 0xa6, 0xaa, 0xae,
+ 0xc6, 0x2a, 0xeb, 0xac, 0x53, 0xc2, 0x4a, 0xeb, 0xad, 0xb8, 0xe6, 0x2a,
+ 0xa4, 0xad, 0xba, 0xf6, 0xea, 0xeb, 0xac, 0xbc, 0xfe, 0x2a, 0xec, 0xb0,
+ 0xa5, 0x06, 0x4b, 0xec, 0xb1, 0xc8, 0x56, 0x6a, 0x6c, 0xb2, 0xcc, 0x36,
+ 0x9b, 0xe8, 0xb2, 0xce, 0x46, 0x2b, 0x2d, 0x9e, 0xd0, 0x4e, 0x6b, 0xed,
+ 0xb5, 0x6b, 0x56, 0x8b, 0xed, 0xb6, 0xdc, 0x76, 0xa9, 0x6d, 0xb7, 0xe0,
+ 0x86, 0xdb, 0xa9, 0x8e, 0x74, 0x8a, 0x6b, 0xee, 0xb9, 0x51, 0x7e, 0x8b,
+ 0xff, 0xee, 0xba, 0xec, 0xf2, 0xa8, 0x6e, 0xbb, 0xf0, 0x9a, 0xfb, 0x6e,
+ 0xbc, 0xf4, 0x72, 0x3b, 0x6f, 0xbd, 0xf8, 0x4e, 0x7b, 0x6f, 0xbe, 0xfc,
+ 0x32, 0xbb, 0x6f, 0xbf, 0x00, 0x0f, 0xfb, 0x6f, 0xc0, 0x04, 0xeb, 0x3a,
+ 0x70, 0xc1, 0x08, 0x03, 0x4b, 0xae, 0x9f, 0x09, 0x37, 0x1c, 0xed, 0xc1,
+ 0x0e, 0x47, 0x6c, 0x2a, 0xc4, 0x12, 0x57, 0xfc, 0x29, 0xc5, 0x16, 0x67,
+ 0x8c, 0x29, 0xc6, 0x1a, 0x77, 0x1c, 0x29, 0xc7, 0x1e, 0x87, 0xac, 0x28,
+ 0xc8, 0x22, 0x97, 0x2c, 0x28, 0xc9, 0x26, 0xa7, 0x9c, 0x27, 0xca, 0x2a,
+ 0xb7, 0x6c, 0xe9, 0xc2, 0x88, 0xba, 0x2c, 0x33, 0xa5, 0x2c, 0xcf, 0x6c,
+ 0x33, 0x99, 0x35, 0xdf, 0xac, 0x33, 0x9f, 0x30, 0xef, 0xec, 0xf3, 0xb3,
+ 0x3d, 0xff, 0x2c, 0x74, 0xa0, 0x39, 0x0f, 0x6d, 0xb4, 0x93, 0x45, 0x1f,
+ 0xad, 0xb4, 0x95, 0x41, 0x2f, 0xed, 0x74, 0x9b, 0x49, 0x3f, 0x2d, 0x35,
+ 0x90, 0x51, 0x4f, 0x6d, 0x35, 0x8e, 0x55, 0x5f, 0x3d, 0x75, 0xd6, 0x5a,
+ 0x3f, 0xcd, 0x75, 0xd7, 0x4b, 0x7f, 0x0d, 0xf6, 0xd1, 0x62, 0x8f, 0x3d,
+ 0x74, 0xd9, 0x66, 0xff, 0x8c, 0x76, 0xda, 0x3b, 0xaf, 0xcd, 0xf6, 0xcd,
+ 0x6e, 0xbf, 0x3d, 0x73, 0xdc, 0x72, 0xbb, 0x4c, 0x77, 0xdd, 0x2a, 0xdf,
+ 0x8d, 0xb7, 0xc9, 0x7a, 0xef, 0x2d, 0x72, 0xdf, 0x7e, 0x7b, 0x0c, 0x78,
+ 0xe0, 0x1a, 0x0f, 0x4e, 0xb8, 0xc5, 0x86, 0x1f, 0x2e, 0x71, 0xe2, 0x8a,
+ 0x3b, 0xcc, 0x78, 0xe3, 0x09, 0x3f, 0x0e, 0x79, 0xc1, 0x92, 0x4f, 0x1e,
+ 0x70, 0xe5, 0x96, 0xf7, 0x8b, 0x79, 0xe6, 0xf9, 0x6e, 0xce, 0x79, 0xbd,
+ 0x9e, 0x7f, 0x1e, 0x6f, 0xe8, 0xa2, 0xb7, 0x4b, 0x7a, 0xe9, 0xeb, 0x9e,
+ 0x8e, 0xfa, 0xb9, 0xaa, 0xaf, 0x2e, 0x6e, 0xeb, 0xae, 0x83, 0x0b, 0x7b,
+ 0xec, 0xf6, 0x36, 0x4d, 0xff, 0xbb, 0xd6, 0xb3, 0xdf, 0x7e, 0x6d, 0xee,
+ 0xba, 0xeb, 0x6b, 0x7b, 0xef, 0x52, 0xf3, 0x0e, 0xbc, 0xb3, 0xc2, 0x0f,
+ 0xef, 0xef, 0xef, 0xc6, 0x2b, 0x5d, 0x7c, 0xf2, 0xc7, 0x2e, 0xcf, 0xbc,
+ 0xc0, 0xc8, 0x3f, 0x2f, 0xb4, 0xf3, 0xd2, 0xfb, 0x4a, 0x7d, 0xf5, 0x06,
+ 0x47, 0x8f, 0xbd, 0xce, 0xd7, 0x6f, 0x7f, 0x6b, 0xf7, 0xde, 0x2b, 0x8c,
+ 0x25, 0xc3, 0xe1, 0xab, 0xad, 0x7d, 0xf9, 0x76, 0x9f, 0x8f, 0x7e, 0xde,
+ 0xea, 0xaf, 0xcf, 0x77, 0xfb, 0xee, 0xff, 0x0d, 0x7f, 0xfc, 0x82, 0xcf,
+ 0x4f, 0x7f, 0xe1, 0xf6, 0xdf, 0x8f, 0x78, 0xfe, 0xfa, 0x2f, 0xce, 0x7f,
+ 0xff, 0x8e, 0xfb, 0x1f, 0x00, 0x23, 0x27, 0xc0, 0x01, 0x52, 0xae, 0x80,
+ 0x06, 0xbc, 0x1c, 0x02, 0x13, 0xa8, 0xb9, 0x05, 0x32, 0xb0, 0x73, 0x0e,
+ 0x7c, 0x20, 0xe8, 0x22, 0x28, 0xc1, 0xd1, 0x51, 0xb0, 0x82, 0xa6, 0xbb,
+ 0x20, 0x06, 0x53, 0xa7, 0xc1, 0x0d, 0xb2, 0xae, 0x83, 0x1e, 0x7c, 0x1d,
+ 0x08, 0x43, 0x28, 0xbb, 0x11, 0x92, 0xb0, 0x76, 0xe3, 0x8b, 0xd9, 0x09,
+ 0x09, 0x98, 0xc2, 0x15, 0x46, 0x0c, 0x7c, 0x2e, 0x64, 0x14, 0x0c, 0x63,
+ 0x38, 0x32, 0x13, 0xd2, 0x50, 0x5a, 0x33, 0xbc, 0x61, 0xaa, 0x6c, 0xa8,
+ 0xc3, 0x66, 0xe5, 0xb0, 0x87, 0x44, 0xe3, 0x21, 0x10, 0x91, 0xf5, 0xc3,
+ 0x21, 0xea, 0xa9, 0x88, 0x46, 0xa4, 0x96, 0x10, 0x93, 0x28, 0x2c, 0x24,
+ 0x32, 0xb1, 0x4e, 0x4e, 0x7c, 0xa2, 0xa1, 0x96, 0x28, 0xc5, 0xec, 0xb5,
+ 0xb0, 0x8a, 0x16, 0x4c, 0x21, 0x17, 0xb6, 0xc8, 0xc5, 0x2e, 0x7a, 0xf1,
+ 0x8b, 0x60, 0x0c, 0xa3, 0x18, 0xc7, 0x48, 0xc6, 0x2e, 0x7a, 0x01, 0x0c,
+ 0x61, 0x48, 0xa3, 0x1a, 0xd7, 0xc8, 0xc6, 0x36, 0xba, 0xf1, 0x8d, 0x70,
+ 0x8c, 0xa3, 0x1c, 0xe7, 0x48, 0xc7, 0x3a, 0xda, 0xff, 0xf1, 0x8e, 0x78,
+ 0xcc, 0xa3, 0x1e, 0xf7, 0xc8, 0xc7, 0x3e, 0xfa, 0xf1, 0x8f, 0x80, 0x0c,
+ 0x64, 0x1d, 0xc7, 0x40, 0x80, 0x00, 0x08, 0x82, 0x10, 0x82, 0x4c, 0xa4,
+ 0x22, 0x17, 0xc9, 0xc8, 0x46, 0x3a, 0xf2, 0x91, 0x90, 0x8c, 0xa4, 0x24,
+ 0x13, 0x39, 0x86, 0x02, 0x08, 0x20, 0x00, 0x28, 0x38, 0x85, 0x06, 0x26,
+ 0xc9, 0xc9, 0x4e, 0x7a, 0xf2, 0x93, 0xa0, 0x0c, 0xa5, 0x28, 0x47, 0xa9,
+ 0x46, 0x42, 0x5e, 0xb2, 0x21, 0xcb, 0xa8, 0x00, 0x29, 0x57, 0xc9, 0xca,
+ 0x56, 0xba, 0xf2, 0x95, 0xb0, 0x6c, 0xa4, 0x29, 0x31, 0x99, 0x0c, 0x77,
+ 0xc4, 0xf2, 0x96, 0xb8, 0xcc, 0xa5, 0x2e, 0x77, 0x19, 0xca, 0x59, 0xba,
+ 0xe4, 0x01, 0x83, 0xe0, 0xa5, 0x30, 0x87, 0x49, 0xcc, 0x62, 0x1a, 0xf3,
+ 0x8d, 0xbe, 0x7c, 0xc9, 0x03, 0x48, 0x70, 0xcc, 0x66, 0x3a, 0xf3, 0x99,
+ 0xd0, 0xec, 0x65, 0x0b, 0x08, 0x70, 0x4a, 0xb1, 0x88, 0x80, 0x04, 0x7d,
+ 0xc8, 0xa6, 0x36, 0xb7, 0xc9, 0xcd, 0x6e, 0x7a, 0xf3, 0x9b, 0xe0, 0x0c,
+ 0xa7, 0x38, 0xfb, 0x30, 0x00, 0x02, 0x90, 0xc2, 0x25, 0x22, 0xb8, 0xe6,
+ 0x38, 0xd7, 0xc9, 0xce, 0x76, 0xba, 0xf3, 0x9d, 0xf0, 0x8c, 0xa7, 0x3c,
+ 0xc9, 0x50, 0xce, 0x51, 0x60, 0xf2, 0x25, 0xd7, 0x24, 0x80, 0x3e, 0xf7,
+ 0xc9, 0xcf, 0x7e, 0xfa, 0xf3, 0x9f, 0x00, 0x0d, 0xa8, 0x40, 0x07, 0x4a,
+ 0xd0, 0x82, 0x1a, 0xf4, 0xa0, 0x08, 0x4d, 0xa8, 0x42, 0x17, 0xca, 0xd0,
+ 0x86, 0x3a, 0xf4, 0xa1, 0x10, 0x8d, 0xa8, 0x44, 0x27, 0x5a, 0x50, 0x4b,
+ 0x46, 0x20, 0x05, 0xd6, 0xbc, 0x26, 0x31, 0x36, 0xca, 0xd1, 0x8e, 0x7a,
+ 0xf4, 0xa3, 0x20, 0x0d, 0xa9, 0x48, 0x47, 0x4a, 0x52, 0x62, 0x08, 0x20,
+ 0x02, 0xf7, 0x4c, 0xe7, 0x35, 0xcf, 0xc1, 0xd2, 0x96, 0xba, 0xf4, 0xa5,
+ 0xff, 0x30, 0x8d, 0xa9, 0x4c, 0x67, 0x4a, 0xd3, 0x9a, 0x9a, 0x23, 0x02,
+ 0x28, 0x65, 0x08, 0x3e, 0xaf, 0x89, 0xd3, 0x9e, 0xfa, 0xf4, 0xa7, 0x40,
+ 0x0d, 0xaa, 0x50, 0x87, 0x4a, 0xd4, 0xa2, 0x1a, 0xf5, 0xa8, 0x48, 0x4d,
+ 0xaa, 0x52, 0x97, 0xca, 0xd4, 0xa6, 0x3a, 0xf5, 0xa9, 0x50, 0x8d, 0xaa,
+ 0x54, 0xa7, 0x4a, 0xd5, 0xaa, 0x26, 0x35, 0x1d, 0x3b, 0x25, 0x81, 0x55,
+ 0xb7, 0xca, 0xd5, 0xae, 0x7a, 0xf5, 0xab, 0x60, 0x0d, 0xab, 0x58, 0xc7,
+ 0x4a, 0x56, 0xab, 0xc2, 0x43, 0xa7, 0x8b, 0xd1, 0x6a, 0x59, 0xd7, 0xca,
+ 0xd6, 0xb6, 0xba, 0xf5, 0xad, 0x70, 0x8d, 0xab, 0x5c, 0x7f, 0x8a, 0x55,
+ 0xb4, 0x90, 0xc0, 0xa6, 0x78, 0xcd, 0xab, 0x5e, 0xf7, 0xca, 0xd7, 0xbe,
+ 0xfa, 0xf5, 0xaf, 0xd0, 0xc0, 0x69, 0x29, 0x24, 0x82, 0x02, 0x12, 0x94,
+ 0xf4, 0xb0, 0x88, 0x4d, 0xac, 0x62, 0x17, 0xcb, 0xd8, 0xc6, 0x3a, 0x76,
+ 0x15, 0x02, 0x88, 0x2c, 0x04, 0x04, 0x0b, 0x0f, 0x12, 0x14, 0xe0, 0xb2,
+ 0x98, 0xcd, 0xac, 0x66, 0x37, 0xcb, 0xd9, 0xce, 0x7a, 0xf6, 0xb3, 0xa0,
+ 0x0d, 0xad, 0x68, 0x47, 0x4b, 0xda, 0xd2, 0x9a, 0xf6, 0xb4, 0xa8, 0x4d,
+ 0xad, 0x6a, 0x57, 0xcb, 0xda, 0xd6, 0xba, 0xf6, 0xb5, 0xb0, 0x15, 0xad,
+ 0x2a, 0x24, 0xdb, 0x53, 0x12, 0x50, 0xf4, 0xb6, 0xb8, 0xcd, 0xad, 0x6e,
+ 0x77, 0xcb, 0xdb, 0xde, 0xfa, 0xf6, 0xb7, 0xc0, 0xc5, 0x6d, 0x01, 0x20,
+ 0x2b, 0x00, 0x12, 0x84, 0xe2, 0xb8, 0xc8, 0x4d, 0xae, 0x72, 0x97, 0xcb,
+ 0xdc, 0xe6, 0x3a, 0xf7, 0xb9, 0xd0, 0x45, 0xae, 0x3f, 0xb1, 0x39, 0xcf,
+ 0xea, 0x5a, 0xf7, 0xba, 0xd8, 0xcd, 0xae, 0x76, 0xbf, 0x39, 0x80, 0xee,
+ 0x22, 0x82, 0xba, 0xdb, 0x0d, 0xaf, 0x78, 0xc7, 0x4b, 0xde, 0xf2, 0x62,
+ 0x97, 0x99, 0xd1, 0x4c, 0xff, 0xaf, 0x7a, 0xd7, 0xcb, 0x5e, 0x41, 0xa2,
+ 0xb7, 0xbd, 0xf0, 0x8d, 0xaf, 0x7c, 0xe7, 0x1b, 0x86, 0xf7, 0xd2, 0xf7,
+ 0xbe, 0xf8, 0xcd, 0xaf, 0x30, 0xed, 0xab, 0xdf, 0xfe, 0xfa, 0xf7, 0xbf,
+ 0xa1, 0xe4, 0x2f, 0x80, 0x07, 0x4c, 0xe0, 0x02, 0xbb, 0xd7, 0xc0, 0x08,
+ 0x4e, 0xb0, 0x82, 0xef, 0x28, 0xe0, 0x05, 0x3b, 0xf8, 0xc1, 0x09, 0x6e,
+ 0x30, 0x84, 0x27, 0x4c, 0x61, 0xfd, 0x4a, 0xb8, 0xc2, 0x18, 0xce, 0x30,
+ 0x7b, 0x2f, 0xac, 0xe1, 0x0e, 0x7b, 0xd8, 0x98, 0x1c, 0xfe, 0xb0, 0x88,
+ 0x47, 0x7c, 0xcb, 0x10, 0x93, 0xf8, 0xc4, 0x28, 0x16, 0xa5, 0x89, 0x53,
+ 0xcc, 0xe2, 0x16, 0x43, 0x72, 0xc5, 0x2e, 0x8e, 0xb1, 0x8c, 0x01, 0x09,
+ 0xe3, 0x19, 0xdb, 0xf8, 0xc6, 0x76, 0xac, 0x31, 0x8e, 0x77, 0xcc, 0x63,
+ 0x36, 0xea, 0xb8, 0xc7, 0x40, 0xde, 0xf1, 0x8f, 0x83, 0x4c, 0x64, 0x19,
+ 0x0f, 0xb9, 0xc8, 0x48, 0x4e, 0xf1, 0x91, 0x93, 0xcc, 0x64, 0x11, 0x2f,
+ 0xb9, 0xc9, 0x50, 0xce, 0xf0, 0x93, 0xa3, 0x4c, 0x65, 0x08, 0x4f, 0xb9,
+ 0xca, 0x58, 0x8e, 0x70, 0x96, 0xb7, 0x7c, 0xe2, 0x2b, 0x73, 0xf9, 0xcb,
+ 0xfd, 0xf5, 0x32, 0x98, 0xc7, 0x4c, 0x5f, 0x31, 0x93, 0xf9, 0xcc, 0xed,
+ 0x35, 0x33, 0x9a, 0xd7, 0x1c, 0x4d, 0x35, 0xb3, 0xf9, 0xcd, 0xc7, 0x74,
+ 0x33, 0x9c, 0xe7, 0xbc, 0x5f, 0x3a, 0xdb, 0xd9, 0xc2, 0x77, 0xce, 0x73,
+ 0x99, 0xf5, 0xcc, 0x67, 0xf8, 0xca, 0xb9, 0xcf, 0x80, 0x0e, 0x70, 0xa0,
+ 0x07, 0xfd, 0xcc, 0x3f, 0x13, 0xfa, 0xd0, 0x2f, 0x46, 0xb4, 0xa2, 0xeb,
+ 0xbc, 0xe8, 0x46, 0xe3, 0xd2, 0xd0, 0x8e, 0x8e, 0x74, 0x1f, 0x21, 0x2d,
+ 0xe9, 0x4a, 0xe3, 0x91, 0xd2, 0x96, 0xce, 0xf4, 0x1c, 0x31, 0xad, 0xe9,
+ 0x4e, 0xbb, 0x91, 0xd3, 0x9e, 0x0e, 0x75, 0x1a, 0xff, 0x41, 0x2d, 0xea,
+ 0x50, 0x93, 0xba, 0xd4, 0x9d, 0x3e, 0x35, 0xaa, 0x33, 0xad, 0xea, 0x55,
+ 0x57, 0xba, 0xd5, 0xae, 0x8e, 0x34, 0xac, 0x63, 0xdd, 0xe8, 0x59, 0xd3,
+ 0x5a, 0xd1, 0xb6, 0xbe, 0xf5, 0xa1, 0x73, 0xad, 0xeb, 0x41, 0xf3, 0xba,
+ 0xd7, 0x80, 0xfe, 0x35, 0xb0, 0xf9, 0x2c, 0xec, 0x61, 0xe7, 0xb9, 0xd8,
+ 0xc6, 0xb6, 0x33, 0xb2, 0x93, 0x3d, 0xe7, 0x65, 0x33, 0xfb, 0xcd, 0xce,
+ 0x7e, 0xf6, 0x9a, 0xa3, 0x2d, 0xed, 0x33, 0x53, 0xbb, 0xda, 0x63, 0xbe,
+ 0x36, 0xb6, 0xbf, 0xac, 0xed, 0x6d, 0x6f, 0xb9, 0xdb, 0xde, 0xc6, 0x32,
+ 0xb8, 0xc3, 0x4d, 0xe5, 0x71, 0x93, 0x1b, 0xca, 0xe6, 0x3e, 0x37, 0x93,
+ 0xd3, 0xad, 0x6e, 0x24, 0xb3, 0xbb, 0xdd, 0x44, 0x7e, 0x37, 0xbc, 0x81,
+ 0x2c, 0xef, 0x79, 0xf3, 0xb8, 0xde, 0xf6, 0xc6, 0x31, 0xbe, 0xf3, 0x6d,
+ 0xe3, 0x7d, 0xf3, 0xdb, 0xc8, 0xff, 0x76, 0xb5, 0xbf, 0x03, 0xde, 0xe2,
+ 0x81, 0x13, 0x5c, 0xc9, 0x07, 0x2f, 0xb5, 0xc1, 0x13, 0x4e, 0xe2, 0x85,
+ 0x33, 0xdc, 0xc9, 0x0f, 0xf7, 0xb4, 0xc3, 0x23, 0xde, 0xe1, 0x89, 0x53,
+ 0x5c, 0xca, 0x17, 0x67, 0x75, 0xc6, 0x2d, 0x6d, 0xf1, 0x8d, 0x4f, 0xb8,
+ 0xe3, 0x1e, 0x7f, 0x30, 0xc8, 0x43, 0xbe, 0xe0, 0x91, 0x93, 0x5c, 0xcb,
+ 0x27, 0x5f, 0xb4, 0xc9, 0x53, 0x5e, 0xe0, 0x95, 0xb3, 0x7c, 0xc0, 0x2e,
+ 0x7f, 0xf9, 0x7f, 0x63, 0x2e, 0xf3, 0x30, 0xd7, 0x9c, 0xd0, 0x34, 0xbf,
+ 0x39, 0x7e, 0x73, 0xae, 0xf3, 0x3d, 0xf7, 0xbc, 0xcf, 0x3c, 0xff, 0x79,
+ 0x7c, 0x83, 0x2e, 0xf4, 0x34, 0x17, 0x5d, 0xcf, 0x44, 0x3f, 0xba, 0x7a,
+ 0x93, 0xae, 0xf4, 0x36, 0x37, 0x5d, 0xd9, 0x4f, 0xa7, 0x33, 0xd3, 0xa3,
+ 0xde, 0xcc, 0xa9, 0x53, 0x1d, 0xc4, 0x57, 0x87, 0x76, 0xd6, 0xd9, 0x6c,
+ 0x3e, 0xf5, 0xad, 0x33, 0xda, 0xeb, 0x64, 0xee, 0x3a, 0xd8, 0x75, 0x29,
+ 0xf6, 0xb1, 0x3f, 0xda, 0xec, 0xd9, 0x46, 0x3b, 0x98, 0xcb, 0xae, 0xf6,
+ 0x57, 0xb2, 0xbd, 0xed, 0xad, 0x7c, 0x3b, 0xdc, 0x57, 0x29, 0xf7, 0xb9,
+ 0x8f, 0xb2, 0xee, 0x76, 0x17, 0x74, 0xde, 0xcb, 0xbd, 0x77, 0xbe, 0xf7,
+ 0x1d, 0xdd, 0x7f, 0x07, 0x7c, 0xe0, 0xd7, 0x3d, 0x78, 0xc2, 0x17, 0xde,
+ 0xdd, 0x41, 0x00, 0x00, 0x3b
+};
+static unsigned int tab_r_gif_len = 2585;
+
+
+static const char tabs_css[] =
+"/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */\n"
+"\n"
+"DIV.tabs\n"
+"{\n"
+" float : left;\n"
+" width : 100%;\n"
+" background : url(\"tab_b.gif\") repeat-x bottom;\n"
+" margin-bottom : 4px;\n"
"}\n"
-"H3 {\n"
-" font-size: 100%;\n"
+"\n"
+"DIV.tabs UL\n"
+"{\n"
+" margin : 0px;\n"
+" padding-left : 10px;\n"
+" list-style : none;\n"
"}\n"
-"CAPTION { font-weight: bold }\n"
-"DIV.qindex {\n"
-" width: 100%;\n"
-" background-color: #eeeeff;\n"
-" border: 1px solid #b0b0b0;\n"
-" text-align: center;\n"
-" margin: 2px;\n"
-" padding: 2px;\n"
-" line-height: 140%;\n"
+"\n"
+"DIV.tabs LI, DIV.tabs FORM\n"
+"{\n"
+" display : inline;\n"
+" margin : 0px;\n"
+" padding : 0px;\n"
"}\n"
-"DIV.nav {\n"
-" width: 100%;\n"
-" background-color: #eeeeff;\n"
-" border: 1px solid #b0b0b0;\n"
-" text-align: center;\n"
-" margin: 2px;\n"
-" padding: 2px;\n"
-" line-height: 140%;\n"
+"\n"
+"DIV.tabs FORM\n"
+"{\n"
+" float : right;\n"
"}\n"
-"DIV.navtab {\n"
-" background-color: #eeeeff;\n"
-" border: 1px solid #b0b0b0;\n"
-" text-align: center;\n"
-" margin: 2px;\n"
-" margin-right: 15px;\n"
-" padding: 2px;\n"
+"\n"
+"DIV.tabs A\n"
+"{\n"
+" float : left;\n"
+" background : url(\"tab_r.gif\") no-repeat right top;\n"
+" border-bottom : 1px solid #84B0C7;\n"
+" font-size : x-small;\n"
+" font-weight : bold;\n"
+" text-decoration : none;\n"
"}\n"
-"TD.navtab {\n"
-" font-size: 70%;\n"
+"\n"
+"DIV.tabs A:hover\n"
+"{\n"
+" background-position: 100% -150px;\n"
"}\n"
-"A.qindex {\n"
-" text-decoration: none;\n"
-" font-weight: bold;\n"
+"\n"
+"DIV.tabs A:link, DIV.tabs A:visited,\n"
+"DIV.tabs A:active, DIV.tabs A:hover\n"
+"{\n"
" color: #1A419D;\n"
"}\n"
-"A.qindex:visited {\n"
-" text-decoration: none;\n"
-" font-weight: bold;\n"
-" color: #1A419D\n"
-"}\n"
-"A.qindex:hover {\n"
-" text-decoration: none;\n"
-" background-color: #ddddff;\n"
-"}\n"
-"A.qindexHL {\n"
-" text-decoration: none;\n"
-" font-weight: bold;\n"
-" background-color: #6666cc;\n"
-" color: #ffffff;\n"
-" border: 1px double #9295C2;\n"
-"}\n"
-"A.qindexHL:hover {\n"
-" text-decoration: none;\n"
-" background-color: #6666cc;\n"
-" color: #ffffff;\n"
-"}\n"
-"A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }\n"
-"A.el { text-decoration: none; font-weight: bold }\n"
-"A.elRef { font-weight: bold }\n"
-"A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}\n"
-"A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}\n"
-"A.codeRef:link { font-weight: normal; color: #0000FF}\n"
-"A.codeRef:visited { font-weight: normal; color: #0000FF}\n"
-"A:hover { text-decoration: none; background-color: #f2f2ff }\n"
-"DL.el { margin-left: -1cm }\n"
-".fragment {\n"
-" font-family: Fixed, monospace;\n"
-" font-size: 95%;\n"
-"}\n"
-"PRE.fragment {\n"
-" border: 1px solid #CCCCCC;\n"
-" background-color: #f5f5f5;\n"
-" margin-top: 4px;\n"
-" margin-bottom: 4px;\n"
-" margin-left: 2px;\n"
-" margin-right: 8px;\n"
-" padding-left: 6px;\n"
-" padding-right: 6px;\n"
-" padding-top: 4px;\n"
-" padding-bottom: 4px;\n"
-"}\n"
-//"DIV.fragment {\n"
-//" font-family: monospace\n"
-//" border: 1px solid #CCCCCC;\n"
-//" background-color: #f5f5f5;\n"
-//" padding: 6px;\n"
-//"}\n"
-"DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }\n"
-"TD.md { background-color: #F4F4FB; font-weight: bold; }\n"
-"TD.mdPrefix {\n"
-" background-color: #F4F4FB;\n"
-" color: #606060;\n"
-" font-size: 80%;\n"
-"}\n"
-"TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; }\n"
-"TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; }\n"
-"DIV.groupHeader {\n"
-" margin-left: 16px;\n"
-" margin-top: 12px;\n"
-" margin-bottom: 6px;\n"
-" font-weight: bold;\n"
-"}\n"
-"DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }\n"
-"BODY {\n"
-" background: white;\n"
-" color: black;\n"
-" margin-right: 20px;\n"
-" margin-left: 20px;\n"
-"}\n"
-"TD.indexkey {\n"
-" background-color: #eeeeff;\n"
-" font-weight: bold;\n"
-" padding-right : 10px;\n"
-" padding-top : 2px;\n"
-" padding-left : 10px;\n"
-" padding-bottom : 2px;\n"
-" margin-left : 0px;\n"
-" margin-right : 0px;\n"
-" margin-top : 2px;\n"
-" margin-bottom : 2px;\n"
-" border: 1px solid #CCCCCC;\n"
-"}\n"
-"TD.indexvalue {\n"
-" background-color: #eeeeff;\n"
-" font-style: italic;\n"
-" padding-right : 10px;\n"
-" padding-top : 2px;\n"
-" padding-left : 10px;\n"
-" padding-bottom : 2px;\n"
-" margin-left : 0px;\n"
-" margin-right : 0px;\n"
-" margin-top : 2px;\n"
-" margin-bottom : 2px;\n"
-" border: 1px solid #CCCCCC;\n"
-"}\n"
-"TR.memlist {\n"
-" background-color: #f0f0f0; \n"
+"\n"
+"DIV.tabs SPAN\n"
+"{\n"
+" float : left;\n"
+" display : block;\n"
+" background : url(\"tab_l.gif\") no-repeat left top;\n"
+" padding : 5px 9px;\n"
+" white-space : nowrap;\n"
"}\n"
-"P.formulaDsp { text-align: center; }\n"
-"IMG.formulaDsp { }\n"
-"IMG.formulaInl { vertical-align: middle; }\n"
-"SPAN.keyword { color: #008000 }\n"
-"SPAN.keywordtype { color: #604020 }\n"
-"SPAN.keywordflow { color: #e08000 }\n"
-"SPAN.comment { color: #800000 }\n"
-"SPAN.preprocessor { color: #806020 }\n"
-"SPAN.stringliteral { color: #002080 }\n"
-"SPAN.charliteral { color: #008080 }\n"
-".mdTable {\n"
-" border: 1px solid #868686;\n"
-" background-color: #F4F4FB;\n"
+"\n"
+"DIV.tabs INPUT\n"
+"{\n"
+" float : right;\n"
+" display : inline;\n"
+" font-size : 1em;\n"
"}\n"
-".mdRow {\n"
-" padding: 8px 10px;\n"
+"\n"
+"DIV.tabs TD\n"
+"{\n"
+" font-size : x-small;\n"
+" font-weight : bold;\n"
+" text-decoration : none;\n"
"}\n"
-".mdescLeft {\n"
-" padding: 0px 8px 4px 8px;\n"
-" font-size: 80%;\n"
-" font-style: italic;\n"
-" background-color: #FAFAFA;\n"
-" border-top: 1px none #E0E0E0;\n"
-" border-right: 1px none #E0E0E0;\n"
-" border-bottom: 1px none #E0E0E0;\n"
-" border-left: 1px none #E0E0E0;\n"
-" margin: 0px;\n"
+"\n"
+"\n"
+"\n"
+"/* Commented Backslash Hack hides rule from IE5-Mac \\*/\n"
+"DIV.tabs SPAN {float : none;}\n"
+"/* End IE5-Mac hack */\n"
+"\n"
+"DIV.tabs A:hover SPAN\n"
+"{\n"
+" background-position: 0% -150px;\n"
"}\n"
-".mdescRight {\n"
-" padding: 0px 8px 4px 8px;\n"
-" font-size: 80%;\n"
-" font-style: italic;\n"
-" background-color: #FAFAFA;\n"
-" border-top: 1px none #E0E0E0;\n"
-" border-right: 1px none #E0E0E0;\n"
-" border-bottom: 1px none #E0E0E0;\n"
-" border-left: 1px none #E0E0E0;\n"
-" margin: 0px;\n"
+"\n"
+"DIV.tabs LI#current A\n"
+"{\n"
+" background-position: 100% -150px;\n"
+" border-width : 0px;\n"
"}\n"
-".memItemLeft {\n"
-" padding: 1px 0px 0px 8px;\n"
-" margin: 4px;\n"
-" border-top-width: 1px;\n"
-" border-right-width: 1px;\n"
-" border-bottom-width: 1px;\n"
-" border-left-width: 1px;\n"
-" border-top-color: #E0E0E0;\n"
-" border-right-color: #E0E0E0;\n"
-" border-bottom-color: #E0E0E0;\n"
-" border-left-color: #E0E0E0;\n"
-" border-top-style: solid;\n"
-" border-right-style: none;\n"
-" border-bottom-style: none;\n"
-" border-left-style: none;\n"
-" background-color: #FAFAFA;\n"
-" font-size: 80%;\n"
+"\n"
+"DIV.tabs LI#current SPAN\n"
+"{\n"
+" background-position: 0% -150px;\n"
+" padding-bottom : 6px;\n"
"}\n"
-".memItemRight {\n"
-" padding: 1px 8px 0px 8px;\n"
-" margin: 4px;\n"
-" border-top-width: 1px;\n"
-" border-right-width: 1px;\n"
-" border-bottom-width: 1px;\n"
-" border-left-width: 1px;\n"
-" border-top-color: #E0E0E0;\n"
-" border-right-color: #E0E0E0;\n"
-" border-bottom-color: #E0E0E0;\n"
-" border-left-color: #E0E0E0;\n"
-" border-top-style: solid;\n"
-" border-right-style: none;\n"
-" border-bottom-style: none;\n"
-" border-left-style: none;\n"
-" background-color: #FAFAFA;\n"
-" font-size: 80%;\n"
+"\n"
+"DIV.nav\n"
+"{\n"
+" background : none;\n"
+" border : none;\n"
+" border-bottom : 1px solid #84B0C7;\n"
"}\n"
-".memTemplItemLeft {\n"
-" padding: 1px 0px 0px 8px;\n"
-" margin: 4px;\n"
-" border-top-width: 1px;\n"
-" border-right-width: 1px;\n"
-" border-bottom-width: 1px;\n"
-" border-left-width: 1px;\n"
-" border-top-color: #E0E0E0;\n"
-" border-right-color: #E0E0E0;\n"
-" border-bottom-color: #E0E0E0;\n"
-" border-left-color: #E0E0E0;\n"
-" border-top-style: none;\n"
-" border-right-style: none;\n"
-" border-bottom-style: none;\n"
-" border-left-style: none;\n"
-" background-color: #FAFAFA;\n"
-" font-size: 80%;\n"
-"}\n"
-".memTemplItemRight {\n"
-" padding: 1px 8px 0px 8px;\n"
-" margin: 4px;\n"
-" border-top-width: 1px;\n"
-" border-right-width: 1px;\n"
-" border-bottom-width: 1px;\n"
-" border-left-width: 1px;\n"
-" border-top-color: #E0E0E0;\n"
-" border-right-color: #E0E0E0;\n"
-" border-bottom-color: #E0E0E0;\n"
-" border-left-color: #E0E0E0;\n"
-" border-top-style: none;\n"
-" border-right-style: none;\n"
-" border-bottom-style: none;\n"
-" border-left-style: none;\n"
-" background-color: #FAFAFA;\n"
-" font-size: 80%;\n"
-"}\n"
-".memTemplParams {\n"
-" padding: 1px 0px 0px 8px;\n"
-" margin: 4px;\n"
-" border-top-width: 1px;\n"
-" border-right-width: 1px;\n"
-" border-bottom-width: 1px;\n"
-" border-left-width: 1px;\n"
-" border-top-color: #E0E0E0;\n"
-" border-right-color: #E0E0E0;\n"
-" border-bottom-color: #E0E0E0;\n"
-" border-left-color: #E0E0E0;\n"
-" border-top-style: solid;\n"
-" border-right-style: none;\n"
-" border-bottom-style: none;\n"
-" border-left-style: none;\n"
-" color: #606060;\n"
-" background-color: #FAFAFA;\n"
-" font-size: 80%;\n"
-"}\n"
-".search { color: #003399;\n"
-" font-weight: bold;\n"
-"}\n"
-"FORM.search {\n"
-" margin-bottom: 0px;\n"
-" margin-top: 0px;\n"
-"}\n"
-"INPUT.search { font-size: 75%;\n"
-" color: #000080;\n"
-" font-weight: normal;\n"
-" background-color: #eeeeff;\n"
-"}\n"
-"TD.tiny { font-size: 75%;\n"
-"}\n"
-"a {\n"
-" color: #252E78;\n"
-"}\n"
-"a:visited {\n"
-" color: #3D2185;\n"
-"}\n"
-".dirtab { padding: 4px;\n"
-" border-collapse: collapse;\n"
-" border: 1px solid #b0b0b0;\n"
-"}\n"
-"TH.dirtab { background: #eeeeff;\n"
-" font-weight: bold;\n"
-"}\n"
-"HR { height: 1px;\n"
-" border: none;\n"
-" border-top: 1px solid black;\n"
-"}\n";
+;
+struct tab_data_item
+{
+ const char *name;
+ unsigned char *content;
+ unsigned int len;
+};
+static tab_data_item tab_data[] =
+{
+ { "tab_b.gif", tab_b_gif, tab_b_gif_len },
+ { "tab_l.gif", tab_l_gif, tab_l_gif_len },
+ { "tab_r.gif", tab_r_gif, tab_r_gif_len },
+ { "tabs.css", (unsigned char *)tabs_css, 0 },
+ { 0, 0, 0 }
+};
-static QCString g_header;
-static QCString g_footer;
+static void writeTabData(const char *dir)
+{
+ tab_data_item *data = tab_data;
+ while (data->name)
+ {
+ QCString fileName;
+ fileName=(QCString)dir+"/"+data->name;
+ QFile f(fileName);
+ if (f.open(IO_WriteOnly))
+ {
+ f.writeBlock((char*)data->content,
+ data->len>0 ? data->len : strlen((char*)data->content));
+ }
+ else
+ {
+ fprintf(stderr,"Warning: Cannot open file %s for writing\n",data->name);
+ }
+ data++;
+ }
+}
-const char search_script[]=
-#include "search_php.h"
-;
+//-----------------------------------------------------------------------
HtmlGenerator::HtmlGenerator() : OutputGenerator()
{
@@ -400,6 +522,11 @@ void HtmlGenerator::init()
//printf("g_footer='%s'\n",g_footer.data());
}
createSubDirs(d);
+
+ //if (Config_getBool("HTML_FANCY_TABS"))
+ {
+ writeTabData(dname);
+ }
}
void HtmlGenerator::writeStyleSheetFile(QFile &file)
@@ -440,8 +567,10 @@ static void writeDefaultHeaderFile(QTextStream &t, const char *title,
}
t << relPathStr << cssfi.fileName();
}
- t << "\" rel=\"stylesheet\" type=\"text/css\">\n"
- "</head><body>\n";
+
+ t << "\" rel=\"stylesheet\" type=\"text/css\">\n";
+ t << "<link href=\"tabs.css\" rel=\"stylesheet\" type=\"text/css\">\n";
+ t << "</head><body>\n";
}
@@ -1425,27 +1554,81 @@ void HtmlGenerator::printDoc(DocNode *n,const char *langExt)
delete visitor;
}
+static void startQuickIndexList(QTextStream &t,bool compact)
+{
+ bool fancyTabs=TRUE;
+ if (compact)
+ {
+ if (fancyTabs)
+ {
+ t << "<div class=\"tabs\">\n";
+ t << " <ul>\n";
+ }
+ else
+ {
+ t << "<div class=\"qindex\">";
+ }
+ }
+ else
+ {
+ t << "<ul>";
+ }
+}
+
+static void endQuickIndexList(QTextStream &t,bool compact)
+{
+ bool fancyTabs=TRUE;
+ if (compact)
+ {
+ if (fancyTabs)
+ {
+ t << " </ul>";
+ }
+ t << "</div>\n";
+ }
+ else
+ {
+ t << "</ul>\n";
+ }
+}
+
static void startQuickIndexItem(QTextStream &t,const char *l,
bool hl,bool compact,bool &first,
const QCString &relPath)
{
- if (!first && compact) t << " | ";
+ bool fancyTabs=TRUE;
+ if (!first && compact && !fancyTabs) t << " | ";
first=FALSE;
- if (!compact) t << "<li>";
- if (hl && compact)
+ if (fancyTabs)
{
- t << "<a class=\"qindexHL\" ";
+ t << " <li"; if (hl) t << " id=\"current\"";
+ t << "><a ";
}
else
{
- t << "<a class=\"qindex\" ";
+ if (!compact) t << "<li>";
+ if (hl && compact)
+ {
+ t << "<a class=\"qindexHL\" ";
+ }
+ else
+ {
+ t << "<a class=\"qindex\" ";
+ }
}
t << "href=\"" << relPath << l << "\">";
+ if (fancyTabs)
+ {
+ t << "<span>";
+ }
}
static void endQuickIndexItem(QTextStream &t)
{
+ bool fancyTabs=TRUE;
+ if (fancyTabs) t << "</span>";
t << "</a>";
+ if (fancyTabs) t << "</li>\n";
}
static QCString fixSpaces(const QCString &s)
@@ -1457,16 +1640,10 @@ static void writeDefaultQuickLinks(QTextStream &t,bool compact,
HighlightedItem hli,const QCString &relPath)
{
bool first=TRUE;
- if (compact)
- {
- t << "<div class=\"qindex\">";
- }
- else
- {
- t << "<ul>";
- }
+ bool fancyTabs=TRUE;
+ startQuickIndexList(t,compact);
- if (Config_getBool("SEARCHENGINE"))
+ if (Config_getBool("SEARCHENGINE") && !fancyTabs)
{
t << " <form class=\"search\" action=\"" << relPath
<< "search.php\" method=\"get\">\n";
@@ -1492,74 +1669,57 @@ static void writeDefaultQuickLinks(QTextStream &t,bool compact,
t << fixSpaces(theTranslator->trModules());
endQuickIndexItem(t);
}
+
+ // --------------- Namespace indices
+
if (documentedNamespaces>0)
{
startQuickIndexItem(t,"namespaces"+Doxygen::htmlFileExtension,
- hli==HLI_Namespaces,compact,first,relPath);
+ hli==HLI_Namespaces || hli==HLI_NamespaceMembers || hli==HLI_NamespaceVisible,
+ compact,first,relPath);
if (Config_getBool("OPTIMIZE_OUTPUT_JAVA"))
{
t << fixSpaces(theTranslator->trPackages());
}
else
{
- t << theTranslator->trNamespaceList();
+ t << theTranslator->trNamespaces();
}
endQuickIndexItem(t);
}
- if (hierarchyClasses>0)
- {
- startQuickIndexItem(t,"hierarchy"+Doxygen::htmlFileExtension,
- hli==HLI_Hierarchy,compact,first,relPath);
- t << fixSpaces(theTranslator->trClassHierarchy());
- endQuickIndexItem(t);
- }
+
+
+ // -------------- Class indices
+
if (annotatedClasses>0)
{
- if (Config_getBool("ALPHABETICAL_INDEX"))
- {
- startQuickIndexItem(t,"classes"+Doxygen::htmlFileExtension,
- hli==HLI_Classes,compact,first,relPath);
- t << fixSpaces(theTranslator->trAlphabeticalList());
- endQuickIndexItem(t);
- }
startQuickIndexItem(t,"annotated"+Doxygen::htmlFileExtension,
- hli==HLI_Annotated,compact,first,relPath);
- t << fixSpaces(theTranslator->trCompoundList());
+ hli==HLI_Hierarchy || hli==HLI_Classes ||
+ hli==HLI_Annotated || hli==HLI_Functions || hli==HLI_ClassVisible,
+ compact,first,relPath);
+ t << fixSpaces(theTranslator->trClasses());
endQuickIndexItem(t);
- }
- if (Config_getBool("SHOW_DIRECTORIES") && documentedDirs>0)
- {
- startQuickIndexItem(t,"dirs"+Doxygen::htmlFileExtension,
- hli==HLI_Directories,compact,first,relPath);
- t << fixSpaces(theTranslator->trDirectories());
- endQuickIndexItem(t);
- }
+ }
+
+
+ // -------------- File
+
if (documentedHtmlFiles>0)
{
startQuickIndexItem(t,"files"+Doxygen::htmlFileExtension,
- hli==HLI_Files,compact,first,relPath);
- t << fixSpaces(theTranslator->trFileList());
- endQuickIndexItem(t);
- }
- if (documentedNamespaceMembers[NMHL_All]>0)
- {
- startQuickIndexItem(t,"namespacemembers"+Doxygen::htmlFileExtension,
- hli==HLI_NamespaceMembers,compact,first,relPath);
- t << fixSpaces(theTranslator->trNamespaceMembers());
- endQuickIndexItem(t);
- }
- if (documentedClassMembers[CMHL_All]>0)
- {
- startQuickIndexItem(t,"functions"+Doxygen::htmlFileExtension,
- hli==HLI_Functions,compact,first,relPath);
- t << fixSpaces(theTranslator->trCompoundMembers());
+ hli==HLI_Files || hli==HLI_Globals || hli==HLI_FileVisible,
+ compact,first,relPath);
+ t << fixSpaces(theTranslator->trFile(TRUE,FALSE));
endQuickIndexItem(t);
}
- if (documentedFileMembers[FMHL_All]>0)
+
+ // ------------------------------------------------
+
+ if (Config_getBool("SHOW_DIRECTORIES") && documentedDirs>0)
{
- startQuickIndexItem(t,"globals"+Doxygen::htmlFileExtension,
- hli==HLI_Globals,compact,first,relPath);
- t << fixSpaces(theTranslator->trFileMembers());
+ startQuickIndexItem(t,"dirs"+Doxygen::htmlFileExtension,
+ hli==HLI_Directories,compact,first,relPath);
+ t << fixSpaces(theTranslator->trDirectories());
endQuickIndexItem(t);
}
if (indexedPages>0)
@@ -1578,36 +1738,140 @@ static void writeDefaultQuickLinks(QTextStream &t,bool compact,
}
if (Config_getBool("SEARCHENGINE"))
{
- if (compact)
+ QCString searchFor = fixSpaces(theTranslator->trSearchForIndex());
+ if (searchFor.at(0)=='S') searchFor="<u>S</u>"+searchFor.mid(1);
+ if (fancyTabs)
{
- t << " | ";
+ t << " <li>\n";
+ t << " <form action=\"search.php\" method=\"get\">\n";
+ t << " <table cellspacing=\"0\" callpadding=\"0\" border=\"0\">\n";
+ t << " <tr>\n";
+ t << " <td><label>&nbsp;" << searchFor << "&nbsp;</label></td>\n";
+ if (hli!=HLI_Search)
+ {
+ t << " <td><input type=\"text\" name=\"query\" value=\"\" size=\"20\" accesskey=\"s\"/></td>\n";
+ t << " </tr>\n";
+ t << " </table>\n";
+ t << " </form>\n";
+ t << " </li>\n";
+ }
}
else
{
- t << "<li>";
- }
- t << "<span class=\"search";
- if (hli==HLI_Search) t << "HL";
- QCString searchFor = fixSpaces(theTranslator->trSearchForIndex());
- if (searchFor.at(0)=='S') searchFor="<u>S</u>"+searchFor.mid(1);
- t << "\">" << searchFor << "&nbsp;";
- if (hli!=HLI_Search)
- {
- t << "<input class=\"search\" type=\"text\" name=\"query\" value=\"\" size=\"20\" accesskey=\"s\"/>"
- "</span></form>";
+ if (compact)
+ {
+ t << " | ";
+ }
+ else
+ {
+ t << "<li>";
+ }
+ t << "<span class=\"search";
+ if (hli==HLI_Search) t << "HL";
+ t << "\">" << searchFor << "&nbsp;";
+ if (hli!=HLI_Search)
+ {
+ t << "<input class=\"search\" type=\"text\" name=\"query\" value=\"\" size=\"20\" accesskey=\"s\"/>"
+ "</span></form>";
+ }
}
}
- if (hli!=HLI_Search)
+ if (hli!=HLI_Search) // on the search page the page will be ended by the
+ // page itself
{
- if (compact)
+ endQuickIndexList(t,compact);
+ }
+
+ //-------------------------------------------------------------------------
+ // write sub indices
+
+ if ((hli==HLI_Namespaces || hli==HLI_NamespaceMembers || hli==HLI_NamespaceVisible) &&
+ documentedNamespaces>0 &&
+ documentedNamespaceMembers[NMHL_All]>0)
+ {
+ startQuickIndexList(t,compact);
+ if (documentedNamespaces>0)
{
- t << "</div>\n";
+ startQuickIndexItem(t,"namespaces"+Doxygen::htmlFileExtension,
+ hli==HLI_Namespaces,compact,first,relPath);
+ if (Config_getBool("OPTIMIZE_OUTPUT_JAVA"))
+ {
+ t << fixSpaces(theTranslator->trPackages());
+ }
+ else
+ {
+ t << theTranslator->trNamespaceList();
+ }
+ endQuickIndexItem(t);
}
- else
+ if (documentedNamespaceMembers[NMHL_All]>0)
{
- t << "</ul>\n";
+ startQuickIndexItem(t,"namespacemembers"+Doxygen::htmlFileExtension,
+ hli==HLI_NamespaceMembers,compact,first,relPath);
+ t << fixSpaces(theTranslator->trNamespaceMembers());
+ endQuickIndexItem(t);
}
+ endQuickIndexList(t,compact);
+ }
+ else if ((hli==HLI_Hierarchy || hli==HLI_Classes ||
+ hli==HLI_Annotated || hli==HLI_Functions ||
+ hli==HLI_ClassVisible
+ ) && annotatedClasses>0
+ )
+ {
+ startQuickIndexList(t,compact);
+ if (annotatedClasses>0)
+ {
+ startQuickIndexItem(t,"annotated"+Doxygen::htmlFileExtension,
+ hli==HLI_Annotated,compact,first,relPath);
+ t << fixSpaces(theTranslator->trCompoundList());
+ endQuickIndexItem(t);
+ if (Config_getBool("ALPHABETICAL_INDEX"))
+ {
+ startQuickIndexItem(t,"classes"+Doxygen::htmlFileExtension,
+ hli==HLI_Classes,compact,first,relPath);
+ t << fixSpaces(theTranslator->trAlphabeticalList());
+ endQuickIndexItem(t);
+ }
+ }
+ if (hierarchyClasses>0)
+ {
+ startQuickIndexItem(t,"hierarchy"+Doxygen::htmlFileExtension,
+ hli==HLI_Hierarchy,compact,first,relPath);
+ t << fixSpaces(theTranslator->trClassHierarchy());
+ endQuickIndexItem(t);
+ }
+ if (documentedClassMembers[CMHL_All]>0)
+ {
+ startQuickIndexItem(t,"functions"+Doxygen::htmlFileExtension,
+ hli==HLI_Functions,compact,first,relPath);
+ t << fixSpaces(theTranslator->trCompoundMembers());
+ endQuickIndexItem(t);
+ }
+ endQuickIndexList(t,compact);
}
+ else if ((hli==HLI_Files || hli==HLI_Globals || hli==HLI_FileVisible) &&
+ documentedHtmlFiles>0 && documentedFileMembers[FMHL_All]>0
+ )
+ {
+ startQuickIndexList(t,compact);
+ if (documentedHtmlFiles>0)
+ {
+ startQuickIndexItem(t,"files"+Doxygen::htmlFileExtension,
+ hli==HLI_Files,compact,first,relPath);
+ t << fixSpaces(theTranslator->trFileList());
+ endQuickIndexItem(t);
+ }
+ if (documentedFileMembers[FMHL_All]>0)
+ {
+ startQuickIndexItem(t,"globals"+Doxygen::htmlFileExtension,
+ hli==HLI_Globals,compact,first,relPath);
+ t << fixSpaces(theTranslator->trFileMembers());
+ endQuickIndexItem(t);
+ }
+ endQuickIndexList(t,compact);
+ }
+
}
void HtmlGenerator::writeQuickLinks(bool compact,HighlightedItem hli)
@@ -1643,7 +1907,7 @@ void HtmlGenerator::writeSearchPage()
}
else
{
- t << "<div class=\"qindex\">\n";
+ t << "&nbsp;\n<div class=\"qindex\">\n";
t << " <form class=\"search\" action=\"search.php\" "
<< "method=\"get\">\n";
}
@@ -1674,6 +1938,18 @@ void HtmlGenerator::writeSearchPage()
t << "{\n";
t << " return \"" << theTranslator->trSearchMatches() << " \";\n";
t << "}\n";
+ t << "function end_form($value)\n";
+ t << "{\n";
+ t << " echo \""
+ << " <td><input type=\\\"text\\\" name=\\\"query\\\" value=\\\"$value\\\" size=\\\"20\\\" accesskey=\\\"s\\\"/></td>\\n"
+ << " </tr>\\n"
+ << " </table>\\n"
+ << " </form>\\n"
+ << " </li>\\n"
+ << " </ul>\\n"
+ << "</div>\\n"
+ << "\";\n";
+ t << "}\n";
t << "\n";
t << search_script;
t << "\n";