Update ooo320-m1
[ooovba.git] / autodoc / source / display / html / cfrstd.cxx
blob58006ae188c0d9795174331598d7c169ce1897e8
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: cfrstd.cxx,v $
10 * $Revision: 1.17 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #include <precomp.h>
32 #include <cfrstd.hxx>
35 // NOT FULLY DEFINED SERVICES
36 #include <time.h>
39 /* CSS Styles
40 ----------
42 Colors:
43 - light background color #eeeeff
44 - dark background color #ccccff
45 - self in navibar background color #2222ad
48 Fonts:
49 - page title 20, bold, Arial
50 - navibar main 12, bold, Arial
51 - navibar sub 8, Arial, kapitälchen
52 - attrtable title line 8, bold, Arial, kapitälchen
53 - attrtable value line 8, Arial kapitälchen
55 - namespace chain 13, bold
56 - table title 13, bold
57 - template line 13
59 - member paragraph title 12, bold
61 - docu paragraph title 11, bold
62 - standard text 11
64 - hierarchy 11, monospace
67 classes:
69 td.title page title
70 h3 table title
71 h4 member paragraph title
73 td.nmain navigation main bar
74 td.nsub navigation sub bar
75 a.nmain links in navigation main bar
76 a.nsub links in navigation sub bar
78 td.attr1 attribute table head line
79 td.attr2 attribute table value line
81 p.namechain namespace chain in head of pages
82 p.tpl template line in head of pages
84 pre.doc preformatted docu
85 pre.hierarchy class bases hierarchy graphic
87 dl.syntax function- or variable-declaration field
88 a.syntax link in function- or variable-declaration field
90 p.dt docu paragraph title
91 dl.dt docu paragraph title
93 p standard text
94 dl standard text
95 dd standard text
99 #define CRLF "\n"
101 namespace
104 bool bUse_OOoFrameDiv = true;
107 //*************** These are used for IDL currently only! ********************
109 const char * const C_sStdStyle =
110 "/*See bottom of file for explanations.*/"CRLF
111 CRLF
112 "body { background-color:#ffffff; }"CRLF
113 CRLF
114 "h3 { font-size:13pt; font-weight:bold;"CRLF
115 " margin-top:3pt; margin-bottom:1pt; }"CRLF
116 "p, dt, dd, pre { font-size:11pt;"CRLF
117 " margin-top:3pt; margin-bottom:1pt; }"CRLF
118 "pre { font-family:monospace; }"CRLF
119 CRLF
120 "table.navimain { background-color:#eeeeff; }"CRLF
121 "table.subtitle { margin-top:6pt; margin-bottom:6pt; }"CRLF
122 CRLF
123 "td { font-size:11pt; }"CRLF
124 "td.title { font-family: Arial; font-size:19pt; font-weight:bold;"CRLF
125 " line-height:30pt; background-color:#ccccff; text-align:center; }"CRLF
126 "td.subtitle { font-family: Arial; font-size:13pt;"CRLF
127 " line-height:20pt; background-color:#ccccff; }"CRLF
128 "td.crosstitle { font-size:12pt; font-weight:bold;"CRLF
129 " line-height:15pt; background-color:#eeeeff; }"CRLF
130 "td.imdetail { width:100%; background-color:#eeeeff; }"CRLF
131 CRLF
132 "td.imsum_left { width:30%; }"CRLF
133 "td.imsum_right { width:70%; }"CRLF
134 CRLF
135 "td.navimain, a.navimain"CRLF
136 " { text-align:center; font-family: Arial; font-size:12pt; font-weight:bold; }"CRLF
137 "td.navimainself { text-align:center; font-family: Arial; font-size:12pt; font-weight:bold;"CRLF
138 " color:#ffffff; background-color:#2222ad; }"CRLF
139 "td.navimainnone { text-align:center; font-family: Arial; font-size:12pt; }"CRLF
140 "td.navisub, a.navisub"CRLF
141 " { text-align:center; font-family: Arial; font-size:9pt; font-variant:small-caps; }"CRLF
142 "td.navimain, td.navisub"CRLF
143 " { padding-left:7pt; padding-right:7pt; }"CRLF
144 CRLF
145 "a.membertitle { font-size:12pt; font-weight:bold; line-height:18pt; }"CRLF
146 "a.navimain, a.navisub { color:#000000; }"CRLF
147 ".dt { font-weight:bold; }"CRLF
148 ".namechain { font-size:13pt; font-weight:bold;"CRLF
149 " margin-top:3pt; margin-bottom:6pt; }"CRLF
150 ".title2 { font-size:13pt; font-style:italic; font-weight:bold; text-align:left; }"CRLF
154 const char * const C_sCssExplanations =
155 "/* Explanation of CSS classes:"CRLF
156 CRLF
157 ".navimain Text in main navigation bar."CRLF
158 ".navisub Text in lower navigation bar."CRLF
159 "td.navimainself Cell in main navigation bar with \"selected\" shadow: You are here."CRLF
160 "td.navimainnone Cell in main navigation bar with no link."CRLF
161 CRLF
162 ".namechain Line with current module path."CRLF
163 CRLF
164 "td.crosstitle Comment box for bases (base interfaces etc.)"CRLF
165 "td.imsum_left Left part of such boxes."CRLF
166 "td.imsum_right Right part of such boxes."CRLF
167 CRLF
168 "td.title Main title of the page like \"interface XYz\""CRLF
169 ".subtitle Tables, and head cells of those, which list members"CRLF
170 " like \"method summary\" and \"method details\"."CRLF
171 CRLF
172 "td.imdetail Background table of method's detail description."CRLF
173 "a.membertitle Method name (as jump label) in method's detail"CRLF
174 " description."CRLF
175 ".title2 smaller font prefixes to page titles"CRLF
176 "*/"CRLF
179 const char * const C_sStdStyle_withDivFrame =
180 "/*See bottom of file for explanations.*/"CRLF
181 CRLF
182 "body { background-color:#ffffff; }"CRLF
183 CRLF
184 "#adc-idlref h3 { font-size:13pt; font-weight:bold;"CRLF
185 " margin-top:3pt; margin-bottom:1pt; }"CRLF
186 "#adc-idlref p, #adc-idlref dt, #adc-idlref dd, #adc-idlref pre"CRLF
187 " { font-size:11pt;"CRLF
188 " margin-top:3pt; margin-bottom:1pt; }"CRLF
189 "#adc-idlref pre { font-family:monospace; }"CRLF
190 CRLF
191 "#adc-idlref table.navimain { background-color:#eeeeff; }"CRLF
192 "#adc-idlref table.subtitle { margin-top:6pt; margin-bottom:6pt; }"CRLF
193 CRLF
194 "#adc-idlref td { font-size:11pt; }"CRLF
195 "#adc-idlref td.title { font-family: Arial; font-size:19pt; font-weight:bold;"CRLF
196 " line-height:30pt; background-color:#ccccff; text-align:center; }"CRLF
197 "#adc-idlref td.subtitle { font-family: Arial; font-size:13pt;"CRLF
198 " line-height:20pt; background-color:#ccccff; }"CRLF
199 "#adc-idlref td.crosstitle { font-size:12pt; font-weight:bold;"CRLF
200 " line-height:15pt; background-color:#eeeeff; }"CRLF
201 "#adc-idlref td.imdetail { width:100%; background-color:#eeeeff; }"CRLF
202 CRLF
203 "#adc-idlref td.imsum_left { width:30%; }"CRLF
204 "#adc-idlref td.imsum_right { width:70%; }"CRLF
205 CRLF
206 "#adc-idlref td.navimain, #adc-idlref a.navimain"CRLF
207 " { text-align:center; font-family: Arial; font-size:12pt; font-weight:bold; }"CRLF
208 "#adc-idlref td.navimainself { text-align:center; font-family: Arial; font-size:12pt; font-weight:bold;"CRLF
209 " color:#ffffff; background-color:#2222ad; }"CRLF
210 "#adc-idlref td.navimainnone { text-align:center; font-family: Arial; font-size:12pt; }"CRLF
211 "#adc-idlref td.navisub, #adc-idlref a.navisub"CRLF
212 " { text-align:center; font-family: Arial; font-size:9pt; font-variant:small-caps; }"CRLF
213 "#adc-idlref td.navimain, #adc-idlref td.navisub"CRLF
214 " { padding-left:7pt; padding-right:7pt; }"CRLF
215 CRLF
216 "#adc-idlref a.membertitle { font-size:12pt; font-weight:bold; line-height:18pt; }"CRLF
217 "#adc-idlref a.navimain, #adc-idlref a.navisub { color:#000000; }"CRLF
218 "#adc-idlref .dt { font-weight:bold; }"CRLF
219 "#adc-idlref .namechain { font-size:13pt; font-weight:bold;"CRLF
220 " margin-top:3pt; margin-bottom:6pt; }"CRLF
221 "#adc-idlref .title2 { font-size:13pt; font-style:italic; font-weight:bold; text-align:left; }"CRLF
222 ""CRLF
223 "#adc-idlref table { empty-cells:show; }"CRLF
224 ""CRLF
225 "#adc-idlref .childlist td, "CRLF
226 "#adc-idlref .commentedlinks td, "CRLF
227 "#adc-idlref .memberlist td, "CRLF
228 "#adc-idlref .subtitle td, "CRLF
229 "#adc-idlref .crosstitle td { border: .1pt solid #000000; }"CRLF
230 ""CRLF
231 "#adc-idlref .flag-table td { border: .1pt solid #cccccc; } "CRLF
232 ""CRLF
233 "#adc-idlref .title-table td, "CRLF
234 "#adc-idlref .table-in-method td, "CRLF
235 "#adc-idlref .table-in-data td, "CRLF
236 "#adc-idlref .navimain td, "CRLF
237 "#adc-idlref .navisub td, "CRLF
238 "#adc-idlref .expl-table td, "CRLF
239 "#adc-idlref .param-table td { border: none; }"CRLF
243 } // anonymous namespace
246 StdFrame::StdFrame()
247 : sDevelopersGuideHtmlRoot(),
248 bSimpleLinks(false)
252 DYN Html_Image *
253 StdFrame::LogoSrc() const
255 return 0;
257 // return new Html_Image( "logodot-blu.gif",
258 // "109",
259 // "54",
260 // "RIGHT",
261 // "0",
262 // "OpenOffice" );
266 const char *
267 StdFrame::LogoLink() const
269 return "";
270 // return "http://www.sun.com";
271 // return "http://www.openoffice.org";
275 String MakeCopyRight();
277 const char *
278 StdFrame::CopyrightText() const
280 static String sCopyRight_( MakeCopyRight() );
281 return sCopyRight_.c_str();
284 const char *
285 StdFrame::CssStyle() const
287 if (bUse_OOoFrameDiv)
288 return C_sStdStyle_withDivFrame;
289 else
290 return C_sStdStyle;
293 const char *
294 StdFrame::CssStylesExplanation() const
296 return C_sCssExplanations;
299 const char *
300 StdFrame::DevelopersGuideHtmlRoot() const
302 return sDevelopersGuideHtmlRoot;
305 bool
306 StdFrame::SimpleLinks() const
308 return bSimpleLinks;
311 void
312 StdFrame::Set_DevelopersGuideHtmlRoot( const String & i_directory )
314 if (NOT i_directory.empty())
316 if (i_directory.char_at(i_directory.length()-1) == '/')
318 sDevelopersGuideHtmlRoot.assign(i_directory,i_directory.length()-1);
319 return;
322 sDevelopersGuideHtmlRoot = i_directory;
325 void
326 StdFrame::Set_SimpleLinks()
328 bSimpleLinks = true;
331 String
332 MakeCopyRight()
334 StreamStr cr(700);
335 time_t
337 time(&gt);
338 tm *
339 plt = localtime(&gt);
340 int year = 1900 + plt->tm_year;
342 cr << "Copyright &copy; "
343 << year
344 << " Sun Microsystems, Inc.";
345 return String(cr.c_str());
347 // return "Copyright &copy; 2003 Sun Microsystems, Inc.";
348 // return "Copyright &copy; 2002 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303 USA.";
349 // return "Copyright 2001 OpenOffice.org Foundation. All Rights Reserved.";