Root/
Source at commit 1322 created 12 years 8 months ago. By meklort, Add doxygen to utils folder | |
---|---|
1 | /******************************************************************************␊ |
2 | * ftvhelp.cpp,v 1.0 2000/09/06 16:09:00␊ |
3 | *␊ |
4 | * Copyright (C) 1997-2011 by Dimitri van Heesch.␊ |
5 | *␊ |
6 | * Permission to use, copy, modify, and distribute this software and its␊ |
7 | * documentation under the terms of the GNU General Public License is hereby ␊ |
8 | * granted. No representations are made about the suitability of this software ␊ |
9 | * for any purpose. It is provided "as is" without express or implied warranty.␊ |
10 | * See the GNU General Public License for more details.␊ |
11 | *␊ |
12 | * Documents produced by Doxygen are derivative works derived from the␊ |
13 | * input used in their production; they are not affected by this license.␊ |
14 | *␊ |
15 | * Contributed by Kenney Wong <kwong@ea.com>␊ |
16 | * Modified by Dimitri van Heesch␊ |
17 | *␊ |
18 | * Folder Tree View for offline help on browsers that do not support HTML Help.␊ |
19 | */␊ |
20 | ␊ |
21 | #include <stdio.h>␊ |
22 | #include <stdlib.h>␊ |
23 | #include <qlist.h>␊ |
24 | #include <qdict.h>␊ |
25 | #include <qfileinfo.h>␊ |
26 | ␊ |
27 | #include "ftvhelp.h"␊ |
28 | #include "config.h"␊ |
29 | #include "message.h"␊ |
30 | #include "doxygen.h"␊ |
31 | #include "language.h"␊ |
32 | #include "htmlgen.h"␊ |
33 | #include "layout.h"␊ |
34 | ␊ |
35 | #define MAX_INDENT 1024␊ |
36 | ␊ |
37 | ␊ |
38 | static const char navtree_script[]=␊ |
39 | #include "navtree_js.h"␊ |
40 | ;␊ |
41 | ␊ |
42 | static const char resize_script[]=␊ |
43 | #include "resize_js.h"␊ |
44 | ;␊ |
45 | ␊ |
46 | #if 0␊ |
47 | static const char jquery_script1[]=␊ |
48 | #include "jquery_js.h"␊ |
49 | ;␊ |
50 | static const char jquery_script2[]=␊ |
51 | #include "sizzle_js.h"␊ |
52 | ;␊ |
53 | static const char jquery_script3[]=␊ |
54 | #include "jquery_ui_js.h"␊ |
55 | ;␊ |
56 | #endif␊ |
57 | ␊ |
58 | static const char navtree_css[]=␊ |
59 | #include "navtree_css.h"␊ |
60 | ;␊ |
61 | ␊ |
62 | ␊ |
63 | #if 0␊ |
64 | unsigned char ftv2blank_png[] = {␊ |
65 | 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,␊ |
66 | 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x16,␊ |
67 | 0x01, 0x00, 0x00, 0x00, 0x01, 0x96, 0xd6, 0x11, 0x47, 0x00, 0x00, 0x00,␊ |
68 | 0x02, 0x74, 0x52, 0x4e, 0x53, 0x00, 0x01, 0x01, 0x94, 0xfd, 0xae, 0x00,␊ |
69 | 0x00, 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77,␊ |
70 | 0x61, 0x72, 0x65, 0x00, 0x67, 0x69, 0x66, 0x32, 0x70, 0x6e, 0x67, 0x20,␊ |
71 | 0x32, 0x2e, 0x34, 0x2e, 0x32, 0xa3, 0x5e, 0x47, 0x0e, 0x00, 0x00, 0x00,␊ |
72 | 0x25, 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74,␊ |
73 | 0x00, 0x55, 0x6c, 0x65, 0x61, 0x64, 0x20, 0x47, 0x49, 0x46, 0x20, 0x53,␊ |
74 | 0x6d, 0x61, 0x72, 0x74, 0x53, 0x61, 0x76, 0x65, 0x72, 0x20, 0x56, 0x65,␊ |
75 | 0x72, 0x20, 0x32, 0x2e, 0x30, 0x21, 0xf8, 0xd7, 0x5e, 0x53, 0x00, 0x00,␊ |
76 | 0x00, 0x14, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x63, 0x38, 0xc0, 0x80,␊ |
77 | 0x80, 0x1f, 0x30, 0xe0, 0x7f, 0x42, 0x90, 0x00, 0x02, 0x00, 0x78, 0x3c,␊ |
78 | 0x32, 0xcb, 0x72, 0x8f, 0x7c, 0x12, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45,␊ |
79 | 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82␊ |
80 | };␊ |
81 | ␊ |
82 | unsigned char ftv2doc_png[] = {␊ |
83 | 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,␊ |
84 | 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x16,␊ |
85 | 0x04, 0x03, 0x00, 0x00, 0x01, 0x5f, 0x54, 0x71, 0x2d, 0x00, 0x00, 0x00,␊ |
86 | 0x15, 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff,␊ |
87 | 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,␊ |
88 | 0x00, 0xff, 0xb3, 0xbd, 0xfb, 0xc8, 0x00, 0x00, 0x00, 0x01, 0x74, 0x52,␊ |
89 | 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00, 0x00, 0x16, 0x74,␊ |
90 | 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00,␊ |
91 | 0x67, 0x69, 0x66, 0x32, 0x70, 0x6e, 0x67, 0x20, 0x32, 0x2e, 0x34, 0x2e,␊ |
92 | 0x32, 0xa3, 0x5e, 0x47, 0x0e, 0x00, 0x00, 0x00, 0x76, 0x49, 0x44, 0x41,␊ |
93 | 0x54, 0x78, 0xda, 0x63, 0x60, 0x60, 0x60, 0x60, 0x63, 0x60, 0x60, 0x64,␊ |
94 | 0x00, 0x01, 0x27, 0x30, 0x62, 0x71, 0x01, 0xe2, 0x24, 0x06, 0x38, 0x60,␊ |
95 | 0x71, 0x00, 0xca, 0x27, 0x33, 0x30, 0x30, 0x01, 0x31, 0xa3, 0x32, 0x03,␊ |
96 | 0x0a, 0x70, 0x54, 0x32, 0x01, 0x53, 0x69, 0x60, 0x71, 0x27, 0x08, 0x15,␊ |
97 | 0x1a, 0x1a, 0xca, 0x80, 0x01, 0x5c, 0x5c, 0xc0, 0x94, 0xa2, 0x90, 0x02,␊ |
98 | 0x88, 0x52, 0x4b, 0x52, 0x05, 0x53, 0x69, 0xc8, 0x94, 0x18, 0x84, 0x52,␊ |
99 | 0x52, 0x12, 0xc5, 0x69, 0x0a, 0x36, 0xe0, 0xa4, 0xa4, 0xa4, 0x68, 0x82,␊ |
100 | 0xc4, 0x51, 0x82, 0x6b, 0x04, 0x71, 0x14, 0x4d, 0x61, 0x4e, 0x55, 0x04,␊ |
101 | 0xf2, 0x60, 0x1c, 0x27, 0x45, 0x24, 0x19, 0x90, 0x01, 0x70, 0x19, 0x67,␊ |
102 | 0x63, 0x20, 0x30, 0xc5, 0x6f, 0x23, 0x00, 0xf5, 0xd0, 0x11, 0xe0, 0x55,␊ |
103 | 0x83, 0x47, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae,␊ |
104 | 0x42, 0x60, 0x82␊ |
105 | };␊ |
106 | ␊ |
107 | unsigned char ftv2folderclosed_png[] = {␊ |
108 | 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,␊ |
109 | 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x16,␊ |
110 | 0x04, 0x03, 0x00, 0x00, 0x01, 0x5f, 0x54, 0x71, 0x2d, 0x00, 0x00, 0x00,␊ |
111 | 0x12, 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,␊ |
112 | 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x42,␊ |
113 | 0xee, 0x40, 0xe1, 0x00, 0x00, 0x00, 0x01, 0x74, 0x52, 0x4e, 0x53, 0x00,␊ |
114 | 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00, 0x00, 0x16, 0x74, 0x45, 0x58, 0x74,␊ |
115 | 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00, 0x67, 0x69, 0x66,␊ |
116 | 0x32, 0x70, 0x6e, 0x67, 0x20, 0x32, 0x2e, 0x34, 0x2e, 0x32, 0xa3, 0x5e,␊ |
117 | 0x47, 0x0e, 0x00, 0x00, 0x00, 0x7d, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda,␊ |
118 | 0x8d, 0x8e, 0xc1, 0x0a, 0x84, 0x30, 0x10, 0x43, 0x23, 0x8c, 0x77, 0x0f,␊ |
119 | 0xfb, 0x03, 0x42, 0xbd, 0x2b, 0xf8, 0x01, 0x65, 0x6d, 0xef, 0xa2, 0xcd,␊ |
120 | 0xff, 0xff, 0x8a, 0x33, 0xad, 0xee, 0x5a, 0xf6, 0xb0, 0x06, 0xda, 0xf0,␊ |
121 | 0x86, 0xa6, 0x13, 0x00, 0x88, 0x40, 0x03, 0x53, 0x02, 0x82, 0x9a, 0xd7,␊ |
122 | 0x51, 0x42, 0x25, 0xae, 0x7a, 0x76, 0xa0, 0xed, 0xea, 0x79, 0x79, 0x17,␊ |
123 | 0x49, 0x73, 0xe1, 0xf2, 0x32, 0x14, 0x8f, 0x5f, 0x49, 0xb9, 0xed, 0x23,␊ |
124 | 0x60, 0x20, 0xcd, 0x36, 0x66, 0xe4, 0x40, 0x4b, 0xb4, 0xdb, 0xdb, 0xe5,␊ |
125 | 0x16, 0xee, 0x16, 0x78, 0x20, 0xf9, 0x96, 0x15, 0x6d, 0xc2, 0x8b, 0xa2,␊ |
126 | 0x6e, 0xf9, 0x50, 0x64, 0xa6, 0x70, 0xb6, 0x50, 0x0a, 0xd3, 0x78, 0x86,␊ |
127 | 0x98, 0xa6, 0xde, 0x5d, 0x9d, 0x25, 0xcd, 0xfe, 0xdf, 0xc6, 0x03, 0xa0,␊ |
128 | 0x13, 0x15, 0x98, 0x60, 0xbd, 0x81, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x49,␊ |
129 | 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82␊ |
130 | };␊ |
131 | ␊ |
132 | unsigned char ftv2folderopen_png[] = {␊ |
133 | 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,␊ |
134 | 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x16,␊ |
135 | 0x04, 0x03, 0x00, 0x00, 0x01, 0x5f, 0x54, 0x71, 0x2d, 0x00, 0x00, 0x00,␊ |
136 | 0x15, 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff,␊ |
137 | 0xff, 0xff, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80,␊ |
138 | 0x00, 0x80, 0x92, 0x32, 0x8c, 0xe5, 0x00, 0x00, 0x00, 0x01, 0x74, 0x52,␊ |
139 | 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00, 0x00, 0x16, 0x74,␊ |
140 | 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00,␊ |
141 | 0x67, 0x69, 0x66, 0x32, 0x70, 0x6e, 0x67, 0x20, 0x32, 0x2e, 0x34, 0x2e,␊ |
142 | 0x32, 0xa3, 0x5e, 0x47, 0x0e, 0x00, 0x00, 0x00, 0x7c, 0x49, 0x44, 0x41,␊ |
143 | 0x54, 0x78, 0xda, 0x85, 0x8d, 0x41, 0x0e, 0x82, 0x30, 0x10, 0x45, 0x5f,␊ |
144 | 0x08, 0xf5, 0x1e, 0x2d, 0x53, 0xd6, 0xc6, 0x18, 0xd7, 0x8d, 0x18, 0xd7,␊ |
145 | 0x06, 0xd2, 0x1e, 0xa0, 0xb1, 0xde, 0xff, 0x08, 0x3a, 0x20, 0x21, 0x10,␊ |
146 | 0xa2, 0x6f, 0xf3, 0xfe, 0xff, 0x8b, 0x19, 0x80, 0x0a, 0x6a, 0x14, 0x81,␊ |
147 | 0x3c, 0x06, 0x2a, 0x61, 0xc5, 0xd3, 0x43, 0x69, 0xc1, 0xb4, 0xab, 0xf9,␊ |
148 | 0x70, 0xac, 0x83, 0xca, 0xbb, 0xfb, 0xa4, 0x8b, 0xae, 0x26, 0x46, 0xb6,␊ |
149 | 0x4c, 0x0f, 0xe8, 0xc3, 0x18, 0xfa, 0xb3, 0x7d, 0xa8, 0x1a, 0xeb, 0x17,␊ |
150 | 0xa5, 0x46, 0x54, 0x46, 0x4e, 0x2a, 0xe2, 0xce, 0x95, 0x3d, 0xba, 0xb0,␊ |
151 | 0x64, 0x93, 0x85, 0x9b, 0x0b, 0x73, 0x71, 0x83, 0x75, 0xd7, 0xf2, 0xa7,␊ |
152 | 0x90, 0xf2, 0x20, 0x9d, 0xfb, 0x16, 0xd2, 0xeb, 0x43, 0xf9, 0xfd, 0xf2,␊ |
153 | 0x0d, 0xa4, 0x29, 0x14, 0xcb, 0xda, 0x47, 0xac, 0x44, 0x00, 0x00, 0x00,␊ |
154 | 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82␊ |
155 | };␊ |
156 | ␊ |
157 | unsigned char ftv2lastnode_png[] = {␊ |
158 | 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,␊ |
159 | 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x16,␊ |
160 | 0x04, 0x03, 0x00, 0x00, 0x01, 0x4c, 0x83, 0x31, 0xd9, 0x00, 0x00, 0x00,␊ |
161 | 0x30, 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,␊ |
162 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
163 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
164 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
165 | 0x00, 0x00, 0x80, 0x80, 0x80, 0x18, 0xd3, 0xa0, 0x90, 0x00, 0x00, 0x00,␊ |
166 | 0x01, 0x74, 0x52, 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00,␊ |
167 | 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61,␊ |
168 | 0x72, 0x65, 0x00, 0x67, 0x69, 0x66, 0x32, 0x70, 0x6e, 0x67, 0x20, 0x32,␊ |
169 | 0x2e, 0x34, 0x2e, 0x32, 0xa3, 0x5e, 0x47, 0x0e, 0x00, 0x00, 0x00, 0x26,␊ |
170 | 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00,␊ |
171 | 0x55, 0x6c, 0x65, 0x61, 0x64, 0x20, 0x47, 0x49, 0x46, 0x20, 0x53, 0x6d,␊ |
172 | 0x61, 0x72, 0x74, 0x53, 0x61, 0x76, 0x65, 0x72, 0x20, 0x56, 0x65, 0x72,␊ |
173 | 0x20, 0x32, 0x2e, 0x30, 0x69, 0x01, 0x6f, 0x3f, 0xcd, 0x06, 0x00, 0x00,␊ |
174 | 0x00, 0x13, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x63, 0x60, 0x18, 0x30,␊ |
175 | 0xc0, 0x4f, 0x0c, 0x03, 0x04, 0xc8, 0x33, 0x1e, 0x00, 0x24, 0xa7, 0x00,␊ |
176 | 0x88, 0x10, 0xca, 0x33, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e,␊ |
177 | 0x44, 0xae, 0x42, 0x60, 0x82␊ |
178 | };␊ |
179 | ␊ |
180 | unsigned char ftv2link_png[] = {␊ |
181 | 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,␊ |
182 | 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x16,␊ |
183 | 0x04, 0x03, 0x00, 0x00, 0x01, 0x5f, 0x54, 0x71, 0x2d, 0x00, 0x00, 0x00,␊ |
184 | 0x30, 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xff, 0x00, 0x80, 0x00, 0xff,␊ |
185 | 0xff, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x00, 0x80, 0x80, 0x80,␊ |
186 | 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
187 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
188 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x7e, 0x9b, 0x08, 0x00, 0x00, 0x00,␊ |
189 | 0x01, 0x74, 0x52, 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00,␊ |
190 | 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61,␊ |
191 | 0x72, 0x65, 0x00, 0x67, 0x69, 0x66, 0x32, 0x70, 0x6e, 0x67, 0x20, 0x32,␊ |
192 | 0x2e, 0x34, 0x2e, 0x32, 0xa3, 0x5e, 0x47, 0x0e, 0x00, 0x00, 0x00, 0x26,␊ |
193 | 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00,␊ |
194 | 0x55, 0x6c, 0x65, 0x61, 0x64, 0x20, 0x47, 0x49, 0x46, 0x20, 0x53, 0x6d,␊ |
195 | 0x61, 0x72, 0x74, 0x53, 0x61, 0x76, 0x65, 0x72, 0x20, 0x56, 0x65, 0x72,␊ |
196 | 0x20, 0x32, 0x2e, 0x30, 0x19, 0x02, 0xd9, 0x09, 0xe5, 0x4a, 0x00, 0x00,␊ |
197 | 0x00, 0x90, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x7d, 0x8c, 0xb1, 0x0a,␊ |
198 | 0xc2, 0x30, 0x14, 0x45, 0x6f, 0x33, 0xb4, 0x63, 0x7e, 0xa1, 0x53, 0x57,␊ |
199 | 0x8b, 0x7e, 0x80, 0x6e, 0xae, 0x16, 0x5a, 0xb2, 0xbe, 0x3a, 0x64, 0x35,␊ |
200 | 0xb8, 0x64, 0xec, 0x2f, 0x07, 0x05, 0x1d, 0x9f, 0x79, 0x8d, 0x21, 0x50,␊ |
201 | 0xd0, 0x03, 0xc9, 0xcd, 0xe1, 0xbe, 0x17, 0x00, 0xa8, 0x00, 0x82, 0xe0,␊ |
202 | 0x81, 0x66, 0x7d, 0xc0, 0x9e, 0x51, 0x70, 0x40, 0x1d, 0xcf, 0xad, 0x07,␊ |
203 | 0x18, 0x1b, 0x74, 0x90, 0xdb, 0x1c, 0x62, 0x0f, 0xe2, 0x20, 0xc1, 0xcc,␊ |
204 | 0x61, 0x3b, 0x06, 0x6a, 0xbb, 0x14, 0x3b, 0xe9, 0x68, 0xba, 0xac, 0x51,␊ |
205 | 0x9d, 0x24, 0xec, 0xdc, 0x4b, 0x68, 0xed, 0xd2, 0x5e, 0x1b, 0x7e, 0xfd,␊ |
206 | 0x92, 0xa8, 0x6d, 0x84, 0xb2, 0x28, 0x28, 0x38, 0xca, 0xd2, 0x4c, 0x46,␊ |
207 | 0x2d, 0x59, 0xcc, 0x38, 0x5c, 0x8b, 0xcc, 0xe3, 0xfe, 0x2b, 0x71, 0xfa,␊ |
208 | 0x79, 0xbc, 0x67, 0x79, 0x85, 0x07, 0x54, 0x69, 0xde, 0xde, 0x2f, 0xf8,␊ |
209 | 0xcf, 0x07, 0x71, 0x95, 0x2b, 0xa1, 0x10, 0x78, 0xd0, 0xff, 0x00, 0x00,␊ |
210 | 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82␊ |
211 | };␊ |
212 | ␊ |
213 | unsigned char ftv2mlastnode_png[] = {␊ |
214 | 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,␊ |
215 | 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x16,␊ |
216 | 0x02, 0x03, 0x00, 0x00, 0x01, 0xc3, 0xc3, 0xc4, 0x79, 0x00, 0x00, 0x00,␊ |
217 | 0x09, 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xff, 0x80, 0x80, 0x80, 0x00,␊ |
218 | 0x00, 0x00, 0x3c, 0x5e, 0xbb, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x74, 0x52,␊ |
219 | 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00, 0x00, 0x16, 0x74,␊ |
220 | 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00,␊ |
221 | 0x67, 0x69, 0x66, 0x32, 0x70, 0x6e, 0x67, 0x20, 0x32, 0x2e, 0x34, 0x2e,␊ |
222 | 0x32, 0xa3, 0x5e, 0x47, 0x0e, 0x00, 0x00, 0x00, 0x23, 0x49, 0x44, 0x41,␊ |
223 | 0x54, 0x78, 0xda, 0x63, 0x60, 0x20, 0x0b, 0x08, 0x08, 0x20, 0x10, 0x0a,␊ |
224 | 0x60, 0x84, 0x11, 0x8c, 0xa1, 0xa1, 0x20, 0x06, 0x90, 0xc9, 0xa8, 0xb5,␊ |
225 | 0x50, 0x10, 0xca, 0x02, 0x89, 0x61, 0x01, 0x00, 0x6d, 0x17, 0x02, 0xba,␊ |
226 | 0xc0, 0xdc, 0x69, 0xc8, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44,␊ |
227 | 0xae, 0x42, 0x60, 0x82␊ |
228 | };␊ |
229 | ␊ |
230 | unsigned char ftv2mnode_png[] = {␊ |
231 | 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,␊ |
232 | 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x16,␊ |
233 | 0x04, 0x03, 0x00, 0x00, 0x01, 0x4c, 0x83, 0x31, 0xd9, 0x00, 0x00, 0x00,␊ |
234 | 0x24, 0x50, 0x4c, 0x54, 0x45, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00,␊ |
235 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
236 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
237 | 0x00, 0x00, 0x80, 0x80, 0x80, 0x53, 0xbe, 0x1e, 0x99, 0x00, 0x00, 0x00,␊ |
238 | 0x01, 0x74, 0x52, 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00,␊ |
239 | 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61,␊ |
240 | 0x72, 0x65, 0x00, 0x67, 0x69, 0x66, 0x32, 0x70, 0x6e, 0x67, 0x20, 0x32,␊ |
241 | 0x2e, 0x34, 0x2e, 0x32, 0xa3, 0x5e, 0x47, 0x0e, 0x00, 0x00, 0x00, 0x2a,␊ |
242 | 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x63, 0x60, 0xa0, 0x2e, 0xe0, 0x06,␊ |
243 | 0x42, 0x74, 0x02, 0xa7, 0x52, 0x54, 0x06, 0xf7, 0x6e, 0x20, 0x80, 0xf1,␊ |
244 | 0xc1, 0x62, 0xdc, 0x4c, 0x4a, 0x4a, 0xdc, 0xdc, 0xdc, 0xc8, 0x22, 0x30,␊ |
245 | 0x35, 0x98, 0xda, 0xd1, 0x19, 0x00, 0xb7, 0x79, 0x07, 0x27, 0xaa, 0xf7,␊ |
246 | 0x96, 0x03, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42,␊ |
247 | 0x60, 0x82␊ |
248 | };␊ |
249 | ␊ |
250 | unsigned char ftv2node_png[] = {␊ |
251 | 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,␊ |
252 | 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x16,␊ |
253 | 0x04, 0x03, 0x00, 0x00, 0x01, 0x4c, 0x83, 0x31, 0xd9, 0x00, 0x00, 0x00,␊ |
254 | 0x30, 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,␊ |
255 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
256 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
257 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
258 | 0x00, 0x00, 0x80, 0x80, 0x80, 0x18, 0xd3, 0xa0, 0x90, 0x00, 0x00, 0x00,␊ |
259 | 0x01, 0x74, 0x52, 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00,␊ |
260 | 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61,␊ |
261 | 0x72, 0x65, 0x00, 0x67, 0x69, 0x66, 0x32, 0x70, 0x6e, 0x67, 0x20, 0x32,␊ |
262 | 0x2e, 0x34, 0x2e, 0x32, 0xa3, 0x5e, 0x47, 0x0e, 0x00, 0x00, 0x00, 0x26,␊ |
263 | 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00,␊ |
264 | 0x55, 0x6c, 0x65, 0x61, 0x64, 0x20, 0x47, 0x49, 0x46, 0x20, 0x53, 0x6d,␊ |
265 | 0x61, 0x72, 0x74, 0x53, 0x61, 0x76, 0x65, 0x72, 0x20, 0x56, 0x65, 0x72,␊ |
266 | 0x20, 0x32, 0x2e, 0x30, 0x69, 0x01, 0x6f, 0x3f, 0xcd, 0x06, 0x00, 0x00,␊ |
267 | 0x00, 0x15, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x63, 0x60, 0x18, 0x30,␊ |
268 | 0xc0, 0x4f, 0x0c, 0x03, 0x04, 0x88, 0x56, 0x8c, 0xc2, 0x00, 0x00, 0x2e,␊ |
269 | 0x52, 0x00, 0xe2, 0xfa, 0x45, 0x3a, 0xe1, 0x00, 0x00, 0x00, 0x00, 0x49,␊ |
270 | 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82␊ |
271 | };␊ |
272 | ␊ |
273 | unsigned char ftv2plastnode_png[] = {␊ |
274 | 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,␊ |
275 | 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x16,␊ |
276 | 0x02, 0x03, 0x00, 0x00, 0x01, 0xc3, 0xc3, 0xc4, 0x79, 0x00, 0x00, 0x00,␊ |
277 | 0x09, 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xff, 0x80, 0x80, 0x80, 0x00,␊ |
278 | 0x00, 0x00, 0x3c, 0x5e, 0xbb, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x74, 0x52,␊ |
279 | 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00, 0x00, 0x16, 0x74,␊ |
280 | 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x00,␊ |
281 | 0x67, 0x69, 0x66, 0x32, 0x70, 0x6e, 0x67, 0x20, 0x32, 0x2e, 0x34, 0x2e,␊ |
282 | 0x32, 0xa3, 0x5e, 0x47, 0x0e, 0x00, 0x00, 0x00, 0x28, 0x49, 0x44, 0x41,␊ |
283 | 0x54, 0x78, 0xda, 0x63, 0x60, 0x20, 0x0b, 0x08, 0x08, 0x30, 0x08, 0x81,␊ |
284 | 0x11, 0x90, 0x81, 0x02, 0x18, 0x61, 0x04, 0x63, 0x68, 0x28, 0x90, 0x60,␊ |
285 | 0x02, 0x32, 0x19, 0xb5, 0x16, 0x0a, 0x42, 0x59, 0x20, 0x31, 0x2c, 0x00,␊ |
286 | 0x00, 0x6e, 0xc1, 0x02, 0xc2, 0xe5, 0xed, 0x75, 0xa7, 0x00, 0x00, 0x00,␊ |
287 | 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82␊ |
288 | };␊ |
289 | ␊ |
290 | unsigned char ftv2pnode_png[] = {␊ |
291 | 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,␊ |
292 | 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x16,␊ |
293 | 0x04, 0x03, 0x00, 0x00, 0x01, 0x4c, 0x83, 0x31, 0xd9, 0x00, 0x00, 0x00,␊ |
294 | 0x24, 0x50, 0x4c, 0x54, 0x45, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00,␊ |
295 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
296 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
297 | 0x00, 0x00, 0x80, 0x80, 0x80, 0x53, 0xbe, 0x1e, 0x99, 0x00, 0x00, 0x00,␊ |
298 | 0x01, 0x74, 0x52, 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00,␊ |
299 | 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61,␊ |
300 | 0x72, 0x65, 0x00, 0x67, 0x69, 0x66, 0x32, 0x70, 0x6e, 0x67, 0x20, 0x32,␊ |
301 | 0x2e, 0x34, 0x2e, 0x32, 0xa3, 0x5e, 0x47, 0x0e, 0x00, 0x00, 0x00, 0x30,␊ |
302 | 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x63, 0x60, 0xa0, 0x2e, 0xe0, 0x06,␊ |
303 | 0x42, 0x06, 0x6e, 0x26, 0x38, 0x01, 0xe2, 0xe2, 0x54, 0x8a, 0xca, 0xe0,␊ |
304 | 0xde, 0x0d, 0x04, 0x10, 0x3e, 0x13, 0x44, 0x8c, 0x9b, 0x49, 0x49, 0x89,␊ |
305 | 0x9b, 0x9b, 0x1b, 0x59, 0x04, 0xa6, 0x06, 0x53, 0x3b, 0x3a, 0x03, 0x00,␊ |
306 | 0xba, 0x6b, 0x07, 0x2f, 0xaa, 0xcb, 0x1f, 0x6f, 0x00, 0x00, 0x00, 0x00,␊ |
307 | 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82␊ |
308 | };␊ |
309 | ␊ |
310 | unsigned char ftv2vertline_png[] = {␊ |
311 | 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d,␊ |
312 | 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x16,␊ |
313 | 0x04, 0x03, 0x00, 0x00, 0x01, 0x4c, 0x83, 0x31, 0xd9, 0x00, 0x00, 0x00,␊ |
314 | 0x30, 0x50, 0x4c, 0x54, 0x45, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,␊ |
315 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
316 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
317 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,␊ |
318 | 0x00, 0x00, 0x80, 0x80, 0x80, 0x18, 0xd3, 0xa0, 0x90, 0x00, 0x00, 0x00,␊ |
319 | 0x01, 0x74, 0x52, 0x4e, 0x53, 0x00, 0x40, 0xe6, 0xd8, 0x66, 0x00, 0x00,␊ |
320 | 0x00, 0x16, 0x74, 0x45, 0x58, 0x74, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61,␊ |
321 | 0x72, 0x65, 0x00, 0x67, 0x69, 0x66, 0x32, 0x70, 0x6e, 0x67, 0x20, 0x32,␊ |
322 | 0x2e, 0x34, 0x2e, 0x32, 0xa3, 0x5e, 0x47, 0x0e, 0x00, 0x00, 0x00, 0x26,␊ |
323 | 0x74, 0x45, 0x58, 0x74, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x00,␊ |
324 | 0x55, 0x6c, 0x65, 0x61, 0x64, 0x20, 0x47, 0x49, 0x46, 0x20, 0x53, 0x6d,␊ |
325 | 0x61, 0x72, 0x74, 0x53, 0x61, 0x76, 0x65, 0x72, 0x20, 0x56, 0x65, 0x72,␊ |
326 | 0x20, 0x32, 0x2e, 0x30, 0x69, 0x01, 0x6f, 0x3f, 0xcd, 0x06, 0x00, 0x00,␊ |
327 | 0x00, 0x0f, 0x49, 0x44, 0x41, 0x54, 0x78, 0xda, 0x63, 0x60, 0x18, 0x30,␊ |
328 | 0xc0, 0x4f, 0x5b, 0x06, 0x00, 0x21, 0x14, 0x00, 0xa6, 0xe5, 0x3c, 0xe8,␊ |
329 | 0x3a, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60,␊ |
330 | 0x82␊ |
331 | };␊ |
332 | #endif␊ |
333 | ␊ |
334 | ␊ |
335 | static unsigned char blank_png[352] =␊ |
336 | {␊ |
337 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
338 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
339 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
340 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
341 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
342 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
343 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
344 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
345 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
346 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
347 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
348 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
349 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
350 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
351 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
352 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
353 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
354 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
355 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
356 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
357 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
358 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0␊ |
359 | };␊ |
360 | ␊ |
361 | static unsigned char folderopen_png[528] =␊ |
362 | {␊ |
363 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
364 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
365 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
366 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
367 | 255,255,255,255,255,255,228,195,193,190,187,218,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
368 | 255,255,255,255,255,255,195,215,221,225,225,178,176,176,175,176,178,180,255,255,255,255,255,255,␊ |
369 | 255,255,255,255,255,255,189,206,215,219,226,220,214,212,207,204,200,176,255,255,255,255,255,255,␊ |
370 | 255,255,255,255,168,154,153,153,152,152,151,149,150,150,149,147,146,145,145,167,255,255,255,255,␊ |
371 | 255,255,255,255,146,187,187,188,187,187,185,183,183,182,179,178,175,173,174,145,255,255,255,255,␊ |
372 | 255,255,255,255,146,180,182,182,181,181,179,178,176,174,173,171,169,170,168,144,255,255,255,255,␊ |
373 | 255,255,255,255,144,173,176,176,177,175,175,174,171,170,168,168,166,166,164,143,255,255,255,255,␊ |
374 | 255,255,255,255,142,168,170,171,170,170,169,168,166,166,165,163,163,164,162,142,255,255,255,255,␊ |
375 | 255,255,255,255,141,162,166,164,164,165,163,163,161,161,161,161,161,160,159,141,255,255,255,255,␊ |
376 | 255,255,255,255,138,157,159,159,158,158,158,157,157,157,157,156,157,157,155,138,255,255,255,255,␊ |
377 | 255,255,255,255,137,154,153,154,154,153,154,154,154,153,154,154,154,154,154,137,255,255,255,255,␊ |
378 | 255,255,255,255,137,154,154,154,154,154,154,154,153,154,154,153,153,153,154,137,255,255,255,255,␊ |
379 | 255,255,255,255,137,125,125,125,125,124,125,124,124,125,124,124,125,124,125,138,255,255,255,255,␊ |
380 | 255,255,255,255,212,209,204,199,193,190,186,183,180,181,185,188,192,197,202,203,255,255,255,255,␊ |
381 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
382 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
383 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
384 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255␊ |
385 | };␊ |
386 | ␊ |
387 | static unsigned char folderopen_a_png[528] =␊ |
388 | {␊ |
389 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
390 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
391 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
392 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
393 | 0, 0, 0, 0, 0, 0,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
394 | 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0,␊ |
395 | 0, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0,␊ |
396 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
397 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
398 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
399 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
400 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
401 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
402 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
403 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
404 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
405 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
406 | 0, 0, 0, 0,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148, 0, 0, 0, 0,␊ |
407 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
408 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
409 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
410 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0␊ |
411 | };␊ |
412 | ␊ |
413 | static unsigned char folderclosed_png[528] =␊ |
414 | {␊ |
415 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
416 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
417 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
418 | 255,255,255,255,255,197,155,155,155,155,196,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
419 | 255,255,255,255,255,155,191,191,191,192,155,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
420 | 255,255,255,255,168,144,180,180,181,180,145,145,146,145,146,146,146,146,145,167,255,255,255,255,␊ |
421 | 255,255,255,255,147,225,226,226,225,226,225,221,221,219,215,214,212,211,213,145,255,255,255,255,␊ |
422 | 255,255,255,255,147,212,211,211,210,211,210,205,206,205,201,201,199,196,201,145,255,255,255,255,␊ |
423 | 255,255,255,255,146,204,203,204,203,203,202,200,200,197,197,196,195,194,196,145,255,255,255,255,␊ |
424 | 255,255,255,255,146,202,200,201,201,200,199,198,198,195,194,194,193,192,194,145,255,255,255,255,␊ |
425 | 255,255,255,255,145,200,196,196,196,195,195,193,192,192,190,189,189,189,191,143,255,255,255,255,␊ |
426 | 255,255,255,255,143,192,191,190,190,189,189,188,186,187,186,185,185,185,187,142,255,255,255,255,␊ |
427 | 255,255,255,255,142,186,184,183,182,183,182,183,180,181,181,181,181,181,182,141,255,255,255,255,␊ |
428 | 255,255,255,255,138,177,175,176,176,177,177,176,175,174,175,175,175,174,176,138,255,255,255,255,␊ |
429 | 255,255,255,255,138,173,169,170,168,170,169,170,170,169,171,171,171,171,174,137,255,255,255,255,␊ |
430 | 255,255,255,255,138,166,163,163,162,162,162,162,162,162,164,163,163,163,166,137,255,255,255,255,␊ |
431 | 255,255,255,255,137,124,124,124,125,124,124,124,125,125,124,124,125,124,125,138,255,255,255,255,␊ |
432 | 255,255,255,255,231,231,228,225,222,220,218,216,214,215,217,219,221,224,227,226,255,255,255,255,␊ |
433 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
434 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
435 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
436 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255␊ |
437 | };␊ |
438 | ␊ |
439 | static unsigned char folderclosed_a_png[528] =␊ |
440 | {␊ |
441 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
442 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
443 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
444 | 0, 0, 0, 0, 0,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
445 | 0, 0, 0, 0, 0,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
446 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
447 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
448 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
449 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
450 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
451 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
452 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
453 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
454 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
455 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
456 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
457 | 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0,␊ |
458 | 0, 0, 0, 0,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148,148, 0, 0, 0, 0,␊ |
459 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
460 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
461 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
462 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0␊ |
463 | };␊ |
464 | ␊ |
465 | static unsigned char doc_png[528] =␊ |
466 | {␊ |
467 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
468 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
469 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
470 | 255,255,255,255,255,218,214,208,208,204,191,179,190,197,209,231,255,255,255,255,255,255,255,255,␊ |
471 | 255,255,255,255,255,195,224,226,226,222,214,204,181,203,229,188,225,255,255,255,255,255,255,255,␊ |
472 | 255,255,255,255,255,198,226,228,227,227,224,215,203,180,252,229,184,224,255,255,255,255,255,255,␊ |
473 | 255,255,255,255,255,198,229,230,229,229,228,224,214,154,252,252,229,187,235,255,255,255,255,255,␊ |
474 | 255,255,255,255,255,198,232,233,233,232,231,230,223,176,154,144,165,177,216,255,255,255,255,255,␊ |
475 | 255,255,255,255,255,198,236,236,216,226,238,219,232,225,209,190,189,166,193,255,255,255,255,255,␊ |
476 | 255,255,255,255,255,198,239,240,178,177,230,175,169,184,188,219,208,189,187,255,255,255,255,255,␊ |
477 | 255,255,255,255,255,198,241,242,240,218,237,236,240,235,241,244,221,208,182,255,255,255,255,255,␊ |
478 | 255,255,255,255,255,198,243,243,188,154,183,158,166,140,185,198,231,219,177,255,255,255,255,255,␊ |
479 | 255,255,255,255,255,198,243,245,248,228,241,241,226,249,237,227,239,232,177,255,255,255,255,255,␊ |
480 | 255,255,255,255,255,198,244,246,213,172,163,149,171,200,167,149,242,239,177,255,255,255,255,255,␊ |
481 | 255,255,255,255,255,198,249,248,240,218,237,236,240,235,241,244,244,242,177,255,255,255,255,255,␊ |
482 | 255,255,255,255,255,198,249,251,188,155,184,158,166,140,185,198,246,244,177,255,255,255,255,255,␊ |
483 | 255,255,255,255,255,198,251,253,248,228,241,241,226,249,237,227,249,246,177,255,255,255,255,255,␊ |
484 | 255,255,255,255,255,196,253,252,252,252,252,251,251,250,250,249,249,248,175,255,255,255,255,255,␊ |
485 | 255,255,255,255,255,194, 64, 30, 37, 37, 37, 37, 37, 37, 37, 37, 30, 64,188,255,255,255,255,255,␊ |
486 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
487 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
488 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255␊ |
489 | };␊ |
490 | ␊ |
491 | static unsigned char doc_a_png[528] =␊ |
492 | {␊ |
493 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
494 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
495 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
496 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
497 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0,␊ |
498 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0,␊ |
499 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0,␊ |
500 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0,␊ |
501 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0,␊ |
502 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0,␊ |
503 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0,␊ |
504 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0,␊ |
505 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0,␊ |
506 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0,␊ |
507 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0,␊ |
508 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0,␊ |
509 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0,␊ |
510 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0,␊ |
511 | 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 0, 0, 0, 0, 0,␊ |
512 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
513 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
514 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0␊ |
515 | };␊ |
516 | ␊ |
517 | static unsigned char arrow_right_png[352] =␊ |
518 | {␊ |
519 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
520 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
521 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
522 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
523 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
524 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
525 | 255,255,255,152,152,255,255,255,255,255,255,255,255,255,255,255,␊ |
526 | 255,255,255,152,152,152,152,255,255,255,255,255,255,255,255,255,␊ |
527 | 255,255,255,152,152,152,152,152,255,255,255,255,255,255,255,255,␊ |
528 | 255,255,255,152,152,152,152,152,152,152,255,255,255,255,255,255,␊ |
529 | 255,255,255,152,152,152,152,152,152,152,152,255,255,255,255,255,␊ |
530 | 255,255,255,152,152,152,152,152,152,152,255,255,255,255,255,255,␊ |
531 | 255,255,255,152,152,152,152,152,255,255,255,255,255,255,255,255,␊ |
532 | 255,255,255,152,152,152,152,255,255,255,255,255,255,255,255,255,␊ |
533 | 255,255,255,152,152,255,255,255,255,255,255,255,255,255,255,255,␊ |
534 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
535 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
536 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
537 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
538 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
539 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
540 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255␊ |
541 | };␊ |
542 | ␊ |
543 | static unsigned char arrow_right_a_png[352] =␊ |
544 | {␊ |
545 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
546 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
547 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
548 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
549 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
550 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
551 | 0, 0, 0,223, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
552 | 0, 0, 0,255,255,176, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
553 | 0, 0, 0,255,255,255,248,117, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
554 | 0, 0, 0,255,255,255,255,255,211, 60, 0, 0, 0, 0, 0, 0,␊ |
555 | 0, 0, 0,255,255,255,255,255,255,255, 77, 0, 0, 0, 0, 0,␊ |
556 | 0, 0, 0,255,255,255,255,255,211, 60, 0, 0, 0, 0, 0, 0,␊ |
557 | 0, 0, 0,255,255,255,248,117, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
558 | 0, 0, 0,255,255,176, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
559 | 0, 0, 0,223, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
560 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
561 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
562 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
563 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
564 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
565 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
566 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0␊ |
567 | };␊ |
568 | ␊ |
569 | static unsigned char arrow_down_png[352] =␊ |
570 | {␊ |
571 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
572 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
573 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
574 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
575 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
576 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
577 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
578 | 255,255,255,152,152,152,152,152,152,152,152,152,255,255,255,255,␊ |
579 | 255,255,255,152,152,152,152,152,152,152,152,152,255,255,255,255,␊ |
580 | 255,255,255,255,152,152,152,152,152,152,152,255,255,255,255,255,␊ |
581 | 255,255,255,255,152,152,152,152,152,152,152,255,255,255,255,255,␊ |
582 | 255,255,255,255,255,152,152,152,152,152,255,255,255,255,255,255,␊ |
583 | 255,255,255,255,255,255,152,152,152,255,255,255,255,255,255,255,␊ |
584 | 255,255,255,255,255,255,152,152,152,255,255,255,255,255,255,255,␊ |
585 | 255,255,255,255,255,255,255,152,255,255,255,255,255,255,255,255,␊ |
586 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
587 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
588 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
589 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
590 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
591 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,␊ |
592 | 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255␊ |
593 | };␊ |
594 | ␊ |
595 | static unsigned char arrow_down_a_png[352] =␊ |
596 | {␊ |
597 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
598 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
599 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
600 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
601 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
602 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
603 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
604 | 0, 0, 0,231,255,255,255,255,255,255,255,216, 0, 0, 0, 0,␊ |
605 | 0, 0, 0, 87,255,255,255,255,255,255,255, 65, 0, 0, 0, 0,␊ |
606 | 0, 0, 0, 0,186,255,255,255,255,255,164, 0, 0, 0, 0, 0,␊ |
607 | 0, 0, 0, 0, 38,251,255,255,255,241, 25, 0, 0, 0, 0, 0,␊ |
608 | 0, 0, 0, 0, 0,127,255,255,255,107, 0, 0, 0, 0, 0, 0,␊ |
609 | 0, 0, 0, 0, 0, 0,221,255,204, 0, 0, 0, 0, 0, 0, 0,␊ |
610 | 0, 0, 0, 0, 0, 0, 72,253, 52, 0, 0, 0, 0, 0, 0, 0,␊ |
611 | 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
612 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
613 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
614 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
615 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
616 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
617 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
618 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0␊ |
619 | };␊ |
620 | ␊ |
621 | #define SPLITBAR_LINE 170,242,224,202,183,170␊ |
622 | #define SPLITBAR_BLOCK2 SPLITBAR_LINE , SPLITBAR_LINE ␊ |
623 | #define SPLITBAR_BLOCK4 SPLITBAR_BLOCK2 , SPLITBAR_BLOCK2 ␊ |
624 | #define SPLITBAR_BLOCK8 SPLITBAR_BLOCK4 , SPLITBAR_BLOCK4 ␊ |
625 | #define SPLITBAR_BLOCK16 SPLITBAR_BLOCK8 , SPLITBAR_BLOCK8 ␊ |
626 | #define SPLITBAR_BLOCK32 SPLITBAR_BLOCK16 , SPLITBAR_BLOCK16␊ |
627 | ␊ |
628 | #define SPLITBAR_ALTLINE1 170,242,170,202,170,170␊ |
629 | #define SPLITBAR_ALTLINE2 170,243,224,255,183,255␊ |
630 | #define SPLITBAR_ALTBLOCK2 SPLITBAR_ALTLINE1 , SPLITBAR_ALTLINE2 ␊ |
631 | #define SPLITBAR_ALTBLOCK4 SPLITBAR_ALTBLOCK2 , SPLITBAR_ALTBLOCK2 ␊ |
632 | #define SPLITBAR_ALTBLOCK8 SPLITBAR_ALTBLOCK4 , SPLITBAR_ALTBLOCK4␊ |
633 | ␊ |
634 | static unsigned char splitbar_png[32*32*6] =␊ |
635 | {␊ |
636 | SPLITBAR_BLOCK32,␊ |
637 | SPLITBAR_BLOCK32,␊ |
638 | SPLITBAR_BLOCK32,␊ |
639 | SPLITBAR_BLOCK32,␊ |
640 | SPLITBAR_BLOCK32,␊ |
641 | SPLITBAR_BLOCK32,␊ |
642 | SPLITBAR_BLOCK32,␊ |
643 | SPLITBAR_BLOCK32,␊ |
644 | SPLITBAR_BLOCK32,␊ |
645 | SPLITBAR_BLOCK32,␊ |
646 | SPLITBAR_BLOCK32,␊ |
647 | SPLITBAR_BLOCK32,␊ |
648 | SPLITBAR_BLOCK32,␊ |
649 | SPLITBAR_BLOCK32,␊ |
650 | SPLITBAR_BLOCK32,␊ |
651 | SPLITBAR_BLOCK8,␊ |
652 | SPLITBAR_BLOCK8,␊ |
653 | SPLITBAR_ALTBLOCK8,␊ |
654 | SPLITBAR_BLOCK8,␊ |
655 | SPLITBAR_BLOCK32,␊ |
656 | SPLITBAR_BLOCK32,␊ |
657 | SPLITBAR_BLOCK32,␊ |
658 | SPLITBAR_BLOCK32,␊ |
659 | SPLITBAR_BLOCK32,␊ |
660 | SPLITBAR_BLOCK32,␊ |
661 | SPLITBAR_BLOCK32,␊ |
662 | SPLITBAR_BLOCK32,␊ |
663 | SPLITBAR_BLOCK32,␊ |
664 | SPLITBAR_BLOCK32,␊ |
665 | SPLITBAR_BLOCK32,␊ |
666 | SPLITBAR_BLOCK32,␊ |
667 | SPLITBAR_BLOCK32,␊ |
668 | SPLITBAR_BLOCK32,␊ |
669 | SPLITBAR_BLOCK32,␊ |
670 | SPLITBAR_BLOCK32␊ |
671 | };␊ |
672 | ␊ |
673 | struct FTVImageInfo␊ |
674 | {␊ |
675 | const char *alt;␊ |
676 | const char *name;␊ |
677 | const unsigned char *data;␊ |
678 | unsigned int len;␊ |
679 | unsigned short width, height;␊ |
680 | };␊ |
681 | ␊ |
682 | //extern FTVImageInfo image_info[];␊ |
683 | ␊ |
684 | #define FTVIMG_blank 0␊ |
685 | #define FTVIMG_doc 1␊ |
686 | #define FTVIMG_folderclosed 2␊ |
687 | #define FTVIMG_folderopen 3␊ |
688 | #define FTVIMG_lastnode 4␊ |
689 | #define FTVIMG_link 5␊ |
690 | #define FTVIMG_mlastnode 6␊ |
691 | #define FTVIMG_mnode 7␊ |
692 | #define FTVIMG_node 8␊ |
693 | #define FTVIMG_plastnode 9␊ |
694 | #define FTVIMG_pnode 10␊ |
695 | #define FTVIMG_vertline 11␊ |
696 | ␊ |
697 | #define FTV_S(name) #name␊ |
698 | #define FTV_ICON_FILE(name) "ftv2" FTV_S(name) ".png"␊ |
699 | #define FTVIMG_INDEX(name) FTVIMG_ ## name␊ |
700 | #define FTV_INFO(name) ( image_info[FTVIMG_INDEX(name)] )␊ |
701 | #define FTV_IMGATTRIBS(name) \␊ |
702 | "src=\"" FTV_ICON_FILE(name) "\" " \␊ |
703 | "alt=\"" << FTV_INFO(name).alt << "\" " \␊ |
704 | "width=\"" << FTV_INFO(name).width << "\" " \␊ |
705 | "height=\"" << FTV_INFO(name).height << "\" "␊ |
706 | ␊ |
707 | ␊ |
708 | static FTVImageInfo image_info[] =␊ |
709 | {␊ |
710 | { " ", "ftv2blank.png", 0 /*ftv2blank_png*/ ,174,16,22 },␊ |
711 | { "*", "ftv2doc.png", 0 /*ftv2doc_png*/ ,255,24,22 },␊ |
712 | { "+", "ftv2folderclosed.png", 0 /*ftv2folderclosed_png*/ ,259,24,22 },␊ |
713 | { "-", "ftv2folderopen.png", 0 /*ftv2folderopen_png*/ ,261,24,22 },␊ |
714 | { "\\", "ftv2lastnode.png", 0 /*ftv2lastnode_png*/ ,233,16,22 },␊ |
715 | { "-", "ftv2link.png", 0 /*ftv2link_png*/ ,358,24,22 },␊ |
716 | { "\\", "ftv2mlastnode.png", 0 /*ftv2mlastnode_png*/ ,160,16,22 },␊ |
717 | { "o", "ftv2mnode.png", 0 /*ftv2mnode_png*/ ,194,16,22 },␊ |
718 | { "o", "ftv2node.png", 0 /*ftv2node_png*/ ,235,16,22 },␊ |
719 | { "\\", "ftv2plastnode.png", 0 /*ftv2plastnode_png*/ ,165,16,22 },␊ |
720 | { "o", "ftv2pnode.png", 0 /*ftv2pnode_png*/ ,200,16,22 },␊ |
721 | { "|", "ftv2vertline.png", 0 /*ftv2vertline_png*/ ,229,16,22 },␊ |
722 | { 0, 0, 0, 0, 0, 0 }␊ |
723 | };␊ |
724 | ␊ |
725 | static ColoredImgDataItem ftv_image_data[] =␊ |
726 | {␊ |
727 | { "ftv2blank.png", 16, 22, blank_png, blank_png },␊ |
728 | { "ftv2doc.png", 24, 22, doc_png, doc_a_png },␊ |
729 | { "ftv2folderclosed.png", 24, 22, folderclosed_png, folderclosed_a_png },␊ |
730 | { "ftv2folderopen.png", 24, 22, folderopen_png, folderopen_a_png },␊ |
731 | { "ftv2lastnode.png", 16, 22, blank_png, blank_png },␊ |
732 | { "ftv2link.png", 24, 22, doc_png, doc_a_png },␊ |
733 | { "ftv2mlastnode.png", 16, 22, arrow_down_png, arrow_down_a_png },␊ |
734 | { "ftv2mnode.png", 16, 22, arrow_down_png, arrow_down_a_png },␊ |
735 | { "ftv2node.png", 16, 22, blank_png, blank_png },␊ |
736 | { "ftv2plastnode.png", 16, 22, arrow_right_png, arrow_right_a_png },␊ |
737 | { "ftv2pnode.png", 16, 22, arrow_right_png, arrow_right_a_png },␊ |
738 | { "ftv2vertline.png", 16, 22, blank_png, blank_png },␊ |
739 | { "ftv2splitbar.png", 6,1024, splitbar_png, 0 },␊ |
740 | { 0, 0, 0, 0, 0 }␊ |
741 | };␊ |
742 | ␊ |
743 | struct FTVNode␊ |
744 | {␊ |
745 | FTVNode(bool dir,const char *r,const char *f,const char *a,const char *n)␊ |
746 | : isLast(TRUE), isDir(dir),ref(r),file(f),anchor(a),name(n), ␊ |
747 | parent(0) { children.setAutoDelete(TRUE); }␊ |
748 | bool isLast;␊ |
749 | bool isDir;␊ |
750 | QCString ref;␊ |
751 | QCString file;␊ |
752 | QCString anchor;␊ |
753 | QCString name;␊ |
754 | QList<FTVNode> children;␊ |
755 | FTVNode *parent;␊ |
756 | };␊ |
757 | ␊ |
758 | ␊ |
759 | //----------------------------------------------------------------------------␊ |
760 | ␊ |
761 | /*! Constructs an ftv help object. ␊ |
762 | * The object has to be \link initialize() initialized\endlink before it can ␊ |
763 | * be used.␊ |
764 | */␊ |
765 | FTVHelp::FTVHelp(bool TLI) ␊ |
766 | {␊ |
767 | /* initial depth */␊ |
768 | m_indentNodes = new QList<FTVNode>[MAX_INDENT];␊ |
769 | m_indentNodes[0].setAutoDelete(TRUE);␊ |
770 | m_indent=0;␊ |
771 | m_topLevelIndex = TLI;␊ |
772 | }␊ |
773 | ␊ |
774 | FTVHelp::~FTVHelp()␊ |
775 | {␊ |
776 | delete[] m_indentNodes;␊ |
777 | }␊ |
778 | ␊ |
779 | /*! This will create a folder tree view table of contents file (tree.js).␊ |
780 | * \sa finalize()␊ |
781 | */␊ |
782 | void FTVHelp::initialize()␊ |
783 | {␊ |
784 | }␊ |
785 | ␊ |
786 | /*! Finalizes the FTV help. This will finish and close the␊ |
787 | * contents file (index.js).␊ |
788 | * \sa initialize()␊ |
789 | */␊ |
790 | void FTVHelp::finalize()␊ |
791 | {␊ |
792 | generateTreeView();␊ |
793 | }␊ |
794 | ␊ |
795 | /*! Increase the level of the contents hierarchy. ␊ |
796 | * This will start a new sublist in contents file.␊ |
797 | * \sa decContentsDepth()␊ |
798 | */␊ |
799 | void FTVHelp::incContentsDepth()␊ |
800 | {␊ |
801 | m_indent++;␊ |
802 | ASSERT(m_indent<MAX_INDENT);␊ |
803 | }␊ |
804 | ␊ |
805 | /*! Decrease the level of the contents hierarchy.␊ |
806 | * This will end the current sublist.␊ |
807 | * \sa incContentsDepth()␊ |
808 | */␊ |
809 | void FTVHelp::decContentsDepth()␊ |
810 | {␊ |
811 | ASSERT(m_indent>0);␊ |
812 | if (m_indent>0)␊ |
813 | {␊ |
814 | m_indent--;␊ |
815 | QList<FTVNode> *nl = &m_indentNodes[m_indent];␊ |
816 | FTVNode *parent = nl->getLast();␊ |
817 | QList<FTVNode> *children = &m_indentNodes[m_indent+1];␊ |
818 | while (!children->isEmpty())␊ |
819 | {␊ |
820 | parent->children.append(children->take(0));␊ |
821 | }␊ |
822 | }␊ |
823 | }␊ |
824 | ␊ |
825 | /*! Add a list item to the contents file.␊ |
826 | * \param isDir TRUE if the item is a directory, FALSE if it is a text␊ |
827 | * \param ref the URL of to the item.␊ |
828 | * \param file the file containing the definition of the item␊ |
829 | * \param anchor the anchor within the file.␊ |
830 | * \param name the name of the item.␊ |
831 | */␊ |
832 | void FTVHelp::addContentsItem(bool isDir,␊ |
833 | const char *name,␊ |
834 | const char *ref,␊ |
835 | const char *file,␊ |
836 | const char *anchor␊ |
837 | )␊ |
838 | {␊ |
839 | QList<FTVNode> *nl = &m_indentNodes[m_indent];␊ |
840 | FTVNode *newNode = new FTVNode(isDir,ref,file,anchor,name);␊ |
841 | if (!nl->isEmpty())␊ |
842 | {␊ |
843 | nl->getLast()->isLast=FALSE;␊ |
844 | }␊ |
845 | nl->append(newNode);␊ |
846 | if (m_indent>0)␊ |
847 | {␊ |
848 | QList<FTVNode> *pnl = &m_indentNodes[m_indent-1];␊ |
849 | newNode->parent = pnl->getLast();␊ |
850 | }␊ |
851 | ␊ |
852 | }␊ |
853 | ␊ |
854 | static int folderId=1;␊ |
855 | ␊ |
856 | void FTVHelp::generateIndent(FTextStream &t, FTVNode *n,int level)␊ |
857 | {␊ |
858 | if (n->parent)␊ |
859 | {␊ |
860 | generateIndent(t,n->parent,level+1);␊ |
861 | }␊ |
862 | // from the root up to node n do...␊ |
863 | if (level==0) // item before a dir or document␊ |
864 | {␊ |
865 | if (n->isLast)␊ |
866 | {␊ |
867 | if (n->isDir)␊ |
868 | {␊ |
869 | t << "<img " << FTV_IMGATTRIBS(plastnode) << "onclick=\"toggleFolder('folder" << folderId << "', this)\"/>";␊ |
870 | }␊ |
871 | else␊ |
872 | {␊ |
873 | t << "<img " << FTV_IMGATTRIBS(lastnode) << "/>";␊ |
874 | }␊ |
875 | }␊ |
876 | else␊ |
877 | {␊ |
878 | if (n->isDir)␊ |
879 | {␊ |
880 | t << "<img " << FTV_IMGATTRIBS(pnode) << "onclick=\"toggleFolder('folder" << folderId << "', this)\"/>";␊ |
881 | }␊ |
882 | else␊ |
883 | {␊ |
884 | t << "<img " << FTV_IMGATTRIBS(node) << "/>";␊ |
885 | }␊ |
886 | }␊ |
887 | }␊ |
888 | else // item at another level␊ |
889 | {␊ |
890 | if (n->isLast)␊ |
891 | {␊ |
892 | t << "<img " << FTV_IMGATTRIBS(blank) << "/>";␊ |
893 | }␊ |
894 | else␊ |
895 | {␊ |
896 | t << "<img " << FTV_IMGATTRIBS(vertline) << "/>";␊ |
897 | }␊ |
898 | }␊ |
899 | }␊ |
900 | ␊ |
901 | void FTVHelp::generateLink(FTextStream &t,FTVNode *n)␊ |
902 | {␊ |
903 | //printf("FTVHelp::generateLink(ref=%s,file=%s,anchor=%s\n",␊ |
904 | // n->ref.data(),n->file.data(),n->anchor.data());␊ |
905 | if (n->file.isEmpty()) // no link␊ |
906 | {␊ |
907 | t << "<b>" << convertToHtml(n->name) << "</b>";␊ |
908 | }␊ |
909 | else // link into other frame␊ |
910 | {␊ |
911 | if (!n->ref.isEmpty()) // link to entity imported via tag file␊ |
912 | {␊ |
913 | t << "<a class=\"elRef\" ";␊ |
914 | t << externalLinkTarget() << externalRef("",n->ref,FALSE);␊ |
915 | }␊ |
916 | else // local link␊ |
917 | {␊ |
918 | t << "<a class=\"el\" ";␊ |
919 | }␊ |
920 | t << "href=\"";␊ |
921 | t << externalRef("",n->ref,TRUE);␊ |
922 | t << n->file << Doxygen::htmlFileExtension;␊ |
923 | if (!n->anchor.isEmpty()) t << "#" << n->anchor;␊ |
924 | if (m_topLevelIndex)␊ |
925 | t << "\" target=\"basefrm\">";␊ |
926 | else␊ |
927 | t << "\" target=\"_self\">";␊ |
928 | t << convertToHtml(n->name);␊ |
929 | t << "</a>";␊ |
930 | if (!n->ref.isEmpty())␊ |
931 | {␊ |
932 | t << " [external]";␊ |
933 | }␊ |
934 | }␊ |
935 | }␊ |
936 | ␊ |
937 | void FTVHelp::generateJSLink(FTextStream &t,FTVNode *n)␊ |
938 | {␊ |
939 | if (n->file.isEmpty()) // no link␊ |
940 | {␊ |
941 | t << "\"" << convertToJSString(n->name) << "\", null, ";␊ |
942 | }␊ |
943 | else // link into other page␊ |
944 | {␊ |
945 | // TODO: external links with installdox␊ |
946 | // TODO: use m_topLevelIndex␊ |
947 | t << "\"" << convertToJSString(n->name) << "\", \"";␊ |
948 | t << externalRef("",n->ref,TRUE);␊ |
949 | t << n->file << Doxygen::htmlFileExtension;␊ |
950 | if (!n->anchor.isEmpty()) t << "#" << n->anchor;␊ |
951 | t << "\", ";␊ |
952 | }␊ |
953 | }␊ |
954 | ␊ |
955 | void FTVHelp::generateTree(FTextStream &t, const QList<FTVNode> &nl,int level)␊ |
956 | {␊ |
957 | QCString spaces;␊ |
958 | spaces.fill(' ',level*2+8);␊ |
959 | QListIterator<FTVNode> nli(nl);␊ |
960 | FTVNode *n;␊ |
961 | for (nli.toFirst();(n=nli.current());++nli)␊ |
962 | {␊ |
963 | t << spaces << "<p>";␊ |
964 | generateIndent(t,n,0);␊ |
965 | if (n->isDir)␊ |
966 | {␊ |
967 | t << "<img " << FTV_IMGATTRIBS(folderclosed) << "onclick=\"toggleFolder('folder" << folderId << "', this)\"/>";␊ |
968 | generateLink(t,n);␊ |
969 | t << "</p>\n";␊ |
970 | t << spaces << "<div id=\"folder" << folderId << "\">\n";␊ |
971 | folderId++;␊ |
972 | generateTree(t,n->children,level+1);␊ |
973 | t << spaces << "</div>\n";␊ |
974 | }␊ |
975 | else␊ |
976 | {␊ |
977 | t << "<img " << FTV_IMGATTRIBS(doc) << "/>";␊ |
978 | generateLink(t,n);␊ |
979 | t << "</p>\n";␊ |
980 | }␊ |
981 | }␊ |
982 | }␊ |
983 | ␊ |
984 | bool FTVHelp::generateJSTree(FTextStream &t, const QList<FTVNode> &nl,int level,bool &first)␊ |
985 | {␊ |
986 | QCString indentStr;␊ |
987 | indentStr.fill(' ',level*2);␊ |
988 | bool found=FALSE;␊ |
989 | QListIterator<FTVNode> nli(nl);␊ |
990 | FTVNode *n;␊ |
991 | for (nli.toFirst();(n=nli.current());++nli)␊ |
992 | {␊ |
993 | // terminate previous entry␊ |
994 | if (!first) t << "," << endl;␊ |
995 | first=FALSE;␊ |
996 | ␊ |
997 | // start entry␊ |
998 | if (!found)␊ |
999 | {␊ |
1000 | t << "[" << endl;␊ |
1001 | }␊ |
1002 | found=TRUE;␊ |
1003 | ␊ |
1004 | bool firstChild=TRUE;␊ |
1005 | t << indentStr << " [ ";␊ |
1006 | generateJSLink(t,n);␊ |
1007 | bool emptySection = !generateJSTree(t,n->children,level+1,firstChild);␊ |
1008 | if (emptySection)␊ |
1009 | t << "null ]";␊ |
1010 | else␊ |
1011 | t << endl << indentStr << " ] ]"; ␊ |
1012 | }␊ |
1013 | return found;␊ |
1014 | }␊ |
1015 | ␊ |
1016 | ␊ |
1017 | #if 0␊ |
1018 | void FTVHelp::generateTreeViewImages()␊ |
1019 | {␊ |
1020 | static bool done=FALSE;␊ |
1021 | if (done) return;␊ |
1022 | done=TRUE;␊ |
1023 | ␊ |
1024 | // Generate tree view images␊ |
1025 | FTVImageInfo *p = image_info;␊ |
1026 | while (p->name)␊ |
1027 | {␊ |
1028 | QCString fileName=Config_getString("HTML_OUTPUT")+"/"+p->name;␊ |
1029 | QFile f(fileName);␊ |
1030 | if (f.open(IO_WriteOnly)) ␊ |
1031 | {␊ |
1032 | f.writeBlock((char *)p->data,p->len);␊ |
1033 | }␊ |
1034 | else␊ |
1035 | {␊ |
1036 | fprintf(stderr,"warning: Cannot open file %s for writing\n",fileName.data());␊ |
1037 | }␊ |
1038 | f.close();␊ |
1039 | p++;␊ |
1040 | }␊ |
1041 | } ␊ |
1042 | #endif␊ |
1043 | ␊ |
1044 | // new style images␊ |
1045 | void FTVHelp::generateTreeViewImages()␊ |
1046 | {␊ |
1047 | QCString dname=Config_getString("HTML_OUTPUT");␊ |
1048 | writeColoredImgData(dname,ftv_image_data);␊ |
1049 | }␊ |
1050 | ␊ |
1051 | // new style scripts␊ |
1052 | void FTVHelp::generateTreeViewScripts()␊ |
1053 | {␊ |
1054 | // generate navtree.js␊ |
1055 | {␊ |
1056 | QFile f(Config_getString("HTML_OUTPUT")+"/navtree.js");␊ |
1057 | if (f.open(IO_WriteOnly))␊ |
1058 | {␊ |
1059 | FTextStream t(&f);␊ |
1060 | t << "var NAVTREE =" << endl;␊ |
1061 | t << "[" << endl;␊ |
1062 | t << " [ ";␊ |
1063 | QCString &projName = Config_getString("PROJECT_NAME");␊ |
1064 | if (projName.isEmpty())␊ |
1065 | {␊ |
1066 | LayoutNavEntry *lne = LayoutDocManager::instance().rootNavEntry()->find(LayoutNavEntry::MainPage);␊ |
1067 | t << "\"" << convertToJSString(lne->title()) << "\", ";␊ |
1068 | }␊ |
1069 | else␊ |
1070 | {␊ |
1071 | t << "\"" << convertToJSString(projName) << "\", ";␊ |
1072 | }␊ |
1073 | t << "\"index" << Doxygen::htmlFileExtension << "\", ";␊ |
1074 | ␊ |
1075 | bool first=TRUE;␊ |
1076 | generateJSTree(t,m_indentNodes[0],1,first);␊ |
1077 | if (first) t << "]";␊ |
1078 | ␊ |
1079 | t << endl << " ] ]" << endl;␊ |
1080 | t << "];" << endl;␊ |
1081 | t << endl << navtree_script;␊ |
1082 | }␊ |
1083 | }␊ |
1084 | // generate resize.js␊ |
1085 | {␊ |
1086 | QFile f(Config_getString("HTML_OUTPUT")+"/resize.js");␊ |
1087 | if (f.open(IO_WriteOnly))␊ |
1088 | {␊ |
1089 | FTextStream t(&f);␊ |
1090 | t << resize_script;␊ |
1091 | }␊ |
1092 | }␊ |
1093 | #if 0␊ |
1094 | // generate jquery.js␊ |
1095 | {␊ |
1096 | QFile f(Config_getString("HTML_OUTPUT")+"/jquery.js");␊ |
1097 | if (f.open(IO_WriteOnly))␊ |
1098 | {␊ |
1099 | FTextStream t(&f);␊ |
1100 | t << jquery_script1 << jquery_script2 << jquery_script3;␊ |
1101 | }␊ |
1102 | }␊ |
1103 | #endif␊ |
1104 | // generate navtree.css␊ |
1105 | {␊ |
1106 | QFile f(Config_getString("HTML_OUTPUT")+"/navtree.css");␊ |
1107 | if (f.open(IO_WriteOnly))␊ |
1108 | {␊ |
1109 | FTextStream t(&f);␊ |
1110 | t << replaceColorMarkers(navtree_css);␊ |
1111 | }␊ |
1112 | }␊ |
1113 | }␊ |
1114 | ␊ |
1115 | // old style script (used for inline trees)␊ |
1116 | void FTVHelp::generateScript(FTextStream &t)␊ |
1117 | {␊ |
1118 | t << " <script type=\"text/javascript\">\n";␊ |
1119 | t << " <!-- // Hide script from old browsers\n";␊ |
1120 | t << " \n";␊ |
1121 | ␊ |
1122 | /* User has clicked on a node (folder or +/-) in the tree */␊ |
1123 | t << " function toggleFolder(id, imageNode) \n";␊ |
1124 | t << " {\n";␊ |
1125 | t << " var folder = document.getElementById(id);\n";␊ |
1126 | t << " var l = imageNode.src.length;\n";␊ |
1127 | /* If the user clicks on the book icon, we move left one image so ␊ |
1128 | * the code (below) will also adjust the '+' icon. ␊ |
1129 | */␊ |
1130 | t << " if (imageNode.src.substring(l-20,l)==\"" FTV_ICON_FILE(folderclosed) "\" || \n";␊ |
1131 | t << " imageNode.src.substring(l-18,l)==\"" FTV_ICON_FILE(folderopen) "\")\n";␊ |
1132 | t << " {\n";␊ |
1133 | t << " imageNode = imageNode.previousSibling;\n";␊ |
1134 | t << " l = imageNode.src.length;\n";␊ |
1135 | t << " }\n";␊ |
1136 | t << " if (folder == null) \n";␊ |
1137 | t << " {\n";␊ |
1138 | t << " } \n";␊ |
1139 | /* Node controls a open section, we need to close it */␊ |
1140 | t << " else if (folder.style.display == \"block\") \n";␊ |
1141 | t << " {\n";␊ |
1142 | t << " if (imageNode != null) \n";␊ |
1143 | t << " {\n";␊ |
1144 | t << " imageNode.nextSibling.src = \"" FTV_ICON_FILE(folderclosed) "\";\n";␊ |
1145 | t << " if (imageNode.src.substring(l-13,l) == \"" FTV_ICON_FILE(mnode) "\")\n";␊ |
1146 | t << " {\n";␊ |
1147 | t << " imageNode.src = \"" FTV_ICON_FILE(pnode) "\";\n";␊ |
1148 | t << " }\n";␊ |
1149 | t << " else if (imageNode.src.substring(l-17,l) == \"" FTV_ICON_FILE(mlastnode) "\")\n";␊ |
1150 | t << " {\n";␊ |
1151 | t << " imageNode.src = \"" FTV_ICON_FILE(plastnode) "\";\n";␊ |
1152 | t << " }\n";␊ |
1153 | t << " }\n";␊ |
1154 | t << " folder.style.display = \"none\";\n";␊ |
1155 | t << " } \n";␊ |
1156 | t << " else \n"; /* section is closed, we need to open it */␊ |
1157 | t << " {\n";␊ |
1158 | t << " if (imageNode != null) \n";␊ |
1159 | t << " {\n";␊ |
1160 | t << " imageNode.nextSibling.src = \"" FTV_ICON_FILE(folderopen) "\";\n";␊ |
1161 | t << " if (imageNode.src.substring(l-13,l) == \"" FTV_ICON_FILE(pnode) "\")\n";␊ |
1162 | t << " {\n";␊ |
1163 | t << " imageNode.src = \"" FTV_ICON_FILE(mnode) "\";\n";␊ |
1164 | t << " }\n";␊ |
1165 | t << " else if (imageNode.src.substring(l-17,l) == \"" FTV_ICON_FILE(plastnode) "\")\n";␊ |
1166 | t << " {\n";␊ |
1167 | t << " imageNode.src = \"" FTV_ICON_FILE(mlastnode) "\";\n";␊ |
1168 | t << " }\n";␊ |
1169 | t << " }\n";␊ |
1170 | t << " folder.style.display = \"block\";\n";␊ |
1171 | t << " }\n";␊ |
1172 | t << " }\n";␊ |
1173 | t << "\n";␊ |
1174 | t << " // End script hiding --> \n";␊ |
1175 | t << " </script>\n";␊ |
1176 | }␊ |
1177 | ␊ |
1178 | // write tree inside page␊ |
1179 | void FTVHelp::generateTreeViewInline(FTextStream &t)␊ |
1180 | {␊ |
1181 | generateScript(t);␊ |
1182 | t << " <div class=\"directory-alt\">\n";␊ |
1183 | t << " <br/>\n";␊ |
1184 | t << " <div style=\"display: block;\">\n";␊ |
1185 | ␊ |
1186 | generateTree(t,m_indentNodes[0],0);␊ |
1187 | ␊ |
1188 | t << " </div>\n";␊ |
1189 | t << " </div>\n";␊ |
1190 | }␊ |
1191 | ␊ |
1192 | // write old style index.html and tree.html␊ |
1193 | void FTVHelp::generateTreeView()␊ |
1194 | {␊ |
1195 | generateTreeViewImages();␊ |
1196 | generateTreeViewScripts();␊ |
1197 | #if 0␊ |
1198 | QCString fileName;␊ |
1199 | QFile f;␊ |
1200 | static bool searchEngine = Config_getBool("SEARCHENGINE");␊ |
1201 | static bool serverBasedSearch = Config_getBool("SERVER_BASED_SEARCH");␊ |
1202 | ␊ |
1203 | fileName=Config_getString("HTML_OUTPUT")+"/index"+Doxygen::htmlFileExtension;␊ |
1204 | f.setName(fileName);␊ |
1205 | if (!f.open(IO_WriteOnly))␊ |
1206 | {␊ |
1207 | err("Cannot open file %s for writing!\n",fileName.data());␊ |
1208 | return;␊ |
1209 | }␊ |
1210 | else␊ |
1211 | {␊ |
1212 | FTextStream t(&f);␊ |
1213 | //t << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\">\n";␊ |
1214 | t << "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">\n";␊ |
1215 | t << "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n";␊ |
1216 | t << "<meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n";␊ |
1217 | t << "<title>"; ␊ |
1218 | if (Config_getString("PROJECT_NAME").isEmpty())␊ |
1219 | {␊ |
1220 | t << "Doxygen Documentation";␊ |
1221 | }␊ |
1222 | else␊ |
1223 | {␊ |
1224 | t << Config_getString("PROJECT_NAME");␊ |
1225 | }␊ |
1226 | t << "</title>\n</head>" << endl;␊ |
1227 | t << "<frameset cols=\"" << Config_getInt("TREEVIEW_WIDTH") << ",*\">" << endl;␊ |
1228 | t << " <frame src=\"tree" << Doxygen::htmlFileExtension << "\" name=\"treefrm\"/>" << endl;␊ |
1229 | t << " <frame src=\"main" << Doxygen::htmlFileExtension << "\" name=\"basefrm\"/>" << endl;␊ |
1230 | t << " <noframes>" << endl;␊ |
1231 | t << " <body>" << endl;␊ |
1232 | t << " <a href=\"main" << Doxygen::htmlFileExtension << "\">Frames are disabled. Click here to go to the main page.</a>" << endl;␊ |
1233 | t << " </body>" << endl;␊ |
1234 | t << " </noframes>" << endl;␊ |
1235 | t << "</frameset>" << endl;␊ |
1236 | t << "</html>" << endl;␊ |
1237 | f.close();␊ |
1238 | }␊ |
1239 | ␊ |
1240 | // Generate tree view␊ |
1241 | fileName=Config_getString("HTML_OUTPUT")+"/tree"+Doxygen::htmlFileExtension;␊ |
1242 | f.setName(fileName);␊ |
1243 | if (!f.open(IO_WriteOnly))␊ |
1244 | {␊ |
1245 | err("Cannot open file %s for writing!\n",fileName.data());␊ |
1246 | return;␊ |
1247 | }␊ |
1248 | else␊ |
1249 | {␊ |
1250 | FTextStream t(&f);␊ |
1251 | ␊ |
1252 | //if (searchEngine)␊ |
1253 | //{␊ |
1254 | // t << "<!-- This comment will put IE 6, 7 and 8 in quirks mode -->" << endl;␊ |
1255 | //}␊ |
1256 | t << "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";␊ |
1257 | t << "<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n";␊ |
1258 | t << " <head>\n";␊ |
1259 | t << " <meta http-equiv=\"Content-Type\" content=\"text/xhtml;charset=UTF-8\"/>\n";␊ |
1260 | t << " <meta http-equiv=\"Content-Style-Type\" content=\"text/css\" />\n";␊ |
1261 | t << " <meta http-equiv=\"Content-Language\" content=\"en\" />\n";␊ |
1262 | if (searchEngine)␊ |
1263 | {␊ |
1264 | t << " <link href=\"search/search.css\" rel=\"stylesheet\" type=\"text/css\"/>" << endl;␊ |
1265 | t << " <script type=\"text/javaScript\" src=\"search/search.js\"></script>" << endl;␊ |
1266 | }␊ |
1267 | t << " <link rel=\"stylesheet\" href=\"";␊ |
1268 | QCString cssname=Config_getString("HTML_STYLESHEET");␊ |
1269 | if (cssname.isEmpty())␊ |
1270 | {␊ |
1271 | t << "doxygen.css";␊ |
1272 | }␊ |
1273 | else␊ |
1274 | {␊ |
1275 | QFileInfo cssfi(cssname);␊ |
1276 | if (!cssfi.exists())␊ |
1277 | {␊ |
1278 | err("Error: user specified HTML style sheet file does not exist!\n");␊ |
1279 | }␊ |
1280 | t << cssfi.fileName();␊ |
1281 | }␊ |
1282 | t << "\"/>" << endl;␊ |
1283 | t << " <title>TreeView</title>\n";␊ |
1284 | generateScript(t);␊ |
1285 | t << " </head>\n";␊ |
1286 | t << "\n";␊ |
1287 | t << " <body class=\"ftvtree\"";␊ |
1288 | if (searchEngine && !serverBasedSearch)␊ |
1289 | {␊ |
1290 | t << " onload='searchBox.OnSelectItem(0);'";␊ |
1291 | }␊ |
1292 | t << ">\n";␊ |
1293 | if (searchEngine)␊ |
1294 | {␊ |
1295 | t << " <script type=\"text/javascript\"><!--\n";␊ |
1296 | t << " var searchBox = new SearchBox(\"searchBox\", \"search\", true, '" ␊ |
1297 | << theTranslator->trSearch() << "');\n";␊ |
1298 | t << " --></script>\n";␊ |
1299 | if (!serverBasedSearch)␊ |
1300 | {␊ |
1301 | t << " <div class=\"tabsearch\">\n";␊ |
1302 | t << " <div id=\"MSearchBox\" class=\"MSearchBoxInactive\">\n";␊ |
1303 | t << " <span class=\"left\">\n";␊ |
1304 | t << " <a id=\"MSearchClose\" href=\"javascript:searchBox.CloseResultsWindow()\">"␊ |
1305 | << "<img id=\"MSearchCloseImg\" border=\"0\" src=\"search/close.png\" alt=\"\"/></a>\n";␊ |
1306 | t << " <input type=\"text\" id=\"MSearchField\" value=\"" ␊ |
1307 | << theTranslator->trSearch() << "\" accesskey=\"S\"\n";␊ |
1308 | t << " onfocus=\"searchBox.OnSearchFieldFocus(true)\" \n";␊ |
1309 | t << " onblur=\"searchBox.OnSearchFieldFocus(false)\" \n";␊ |
1310 | t << " onkeyup=\"searchBox.OnSearchFieldChange(event)\"/>\n";␊ |
1311 | t << " </span><span class=\"right\">\n";␊ |
1312 | t << " <img id=\"MSearchSelect\" src=\"search/mag_sel.png\"\n";␊ |
1313 | t << " onmouseover=\"return searchBox.OnSearchSelectShow()\"\n";␊ |
1314 | t << " onmouseout=\"return searchBox.OnSearchSelectHide()\"\n";␊ |
1315 | t << " alt=\"\"/>\n";␊ |
1316 | t << " </span>\n";␊ |
1317 | t << " </div>\n";␊ |
1318 | t << " </div>\n";␊ |
1319 | HtmlGenerator::writeSearchFooter(t,QCString());␊ |
1320 | }␊ |
1321 | else␊ |
1322 | {␊ |
1323 | t << " <div class=\"tabsearch\">\n";␊ |
1324 | t << " <div id=\"MSearchBox\" class=\"MSearchBoxInactive\">\n";␊ |
1325 | t << " <span class=\"left\">\n";␊ |
1326 | t << " <form id=\"FSearchBox\" action=\"search.php\" method=\"get\" target=\"basefrm\">\n";␊ |
1327 | t << " <img id=\"MSearchSelect\" src=\"search/mag.png\" alt=\"\"/>\n";␊ |
1328 | t << " <input type=\"text\" id=\"MSearchField\" name=\"query\" value=\""␊ |
1329 | << theTranslator->trSearch() << "\" size=\"20\" accesskey=\"S\" \n";␊ |
1330 | t << " onfocus=\"searchBox.OnSearchFieldFocus(true)\" \n";␊ |
1331 | t << " onblur=\"searchBox.OnSearchFieldFocus(false)\"/>\n";␊ |
1332 | t << " </form>\n";␊ |
1333 | t << " </span><span class=\"right\"></span>\n";␊ |
1334 | t << " </div>\n";␊ |
1335 | t << " </div>\n";␊ |
1336 | }␊ |
1337 | }␊ |
1338 | t << " <div class=\"directory\">\n";␊ |
1339 | t << " <h3 class=\"swap\"><span>";␊ |
1340 | QCString &projName = Config_getString("PROJECT_NAME");␊ |
1341 | if (projName.isEmpty())␊ |
1342 | {␊ |
1343 | t << "Root";␊ |
1344 | }␊ |
1345 | else␊ |
1346 | {␊ |
1347 | t << projName;␊ |
1348 | }␊ |
1349 | t << "</span></h3>\n";␊ |
1350 | t << " <div style=\"display: block;\">\n";␊ |
1351 | ␊ |
1352 | generateTree(t,m_indentNodes[0],0);␊ |
1353 | ␊ |
1354 | t << " </div>\n";␊ |
1355 | t << " </div>\n";␊ |
1356 | ␊ |
1357 | t << " </body>\n";␊ |
1358 | t << "</html>\n";␊ |
1359 | ␊ |
1360 | f.close();␊ |
1361 | }␊ |
1362 | #endif␊ |
1363 | }␊ |
1364 | ␊ |
1365 |