merged tag ooo/OOO330_m14
[LibreOffice.git] / sw / inc / poolfmt.hxx
blob7c4be27c76a79f899afdf536f432b0c05a3b16d7
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
27 #ifndef _POOLFMT_HXX
28 #define _POOLFMT_HXX
30 #include <limits.h>
31 #include <tools/solar.h>
32 #include <editeng/frmdir.hxx>
34 // POOLCOLL-IDs:
35 // +----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
36 // !User! Bereich ! 0 ! Offset !
37 // +----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
39 // Bereich: 1 - Text
40 // 2 - Listen
41 // 3 - Sonderbereiche
42 // 4 - Verzeichnisse
43 // 5 - Kapitel / Dokument
44 // 6 - HTML-Vorlagen
46 // Andere IDs:
47 // +----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
48 // !User! Bereich ! 1 ! Offset !
49 // +----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
50 // Bereich: 0 - Zeichenvorlagen
51 // 1 - Frame-Vorlagen
52 // 2 - Seitenvorlagen
53 // 3 - Absatzformate (?)
54 // 4 - Grafikformate (?)
56 // F�r alle IDs gilt:
57 // Herkunft: 0 -Pool
58 // 1 -Benutzer
59 // Offset: innerhalb der Gruppe
62 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
64 // ACHTUNG: neue ID's koennen nur noch am Ende der jeweiligen Gruppe
65 // zugefuegt werden. Diese Id's werden vom Reader/Writer ge-
66 // lesen und geschrieben. Diese kennen nur den Offset zum Start
68 // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
70 // Maske fuer Erkennung von COLLPOOL-Ids:
72 const USHORT POOLGRP_NOCOLLID = (1 << 10);
74 // POLLCOLL-Gruppen:
76 const USHORT USER_FMT = (1 << 15);
77 const USHORT POOL_FMT = (0 << 15);
79 const USHORT COLL_TEXT_BITS = (1 << 11);
80 const USHORT COLL_LISTS_BITS = (2 << 11);
81 const USHORT COLL_EXTRA_BITS = (3 << 11);
82 const USHORT COLL_REGISTER_BITS = (4 << 11);
83 const USHORT COLL_DOC_BITS = (5 << 11);
84 const USHORT COLL_HTML_BITS = (6 << 11);
85 const USHORT COLL_GET_RANGE_BITS = (15 << 11);
87 // Sonstige Gruppen:
89 const USHORT POOLGRP_CHARFMT = (0 << 11) + POOLGRP_NOCOLLID;
90 const USHORT POOLGRP_FRAMEFMT = (1 << 11) + POOLGRP_NOCOLLID;
91 const USHORT POOLGRP_PAGEDESC = (2 << 11) + POOLGRP_NOCOLLID;
92 const USHORT POOLGRP_NUMRULE = (3 << 11) + POOLGRP_NOCOLLID;
93 //const USHORT POOLGRP_GRFFMT = (4 << 11) + POOLGRP_NOCOLLID; // ?
95 // fuer Erkennung ob Benutzer-Vorlage oder nicht:
96 const USHORT POOL_IDUSER_FMT =
97 USHRT_MAX & ~(COLL_GET_RANGE_BITS + POOLGRP_NOCOLLID);
99 inline BOOL IsPoolUserFmt( USHORT nId )
101 return POOL_IDUSER_FMT ==
102 (nId & ~(COLL_GET_RANGE_BITS + POOLGRP_NOCOLLID))
103 ? TRUE : FALSE;
107 // ID-s fuer die Bereiche
108 enum RES_POOLFMT
110 RES_POOLFMT_BEGIN = 1, // HIER GEHT'S LOS !!!
111 RES_POOL_CHRFMT = RES_POOLFMT_BEGIN,
112 RES_POOL_FRMFMT,
113 RES_POOL_TXTCOLL,
114 RES_POOL_PAGEFMT,
116 RES_POOL_PARFMT, // ???
117 RES_POOL_GRFFMT, // ???
118 RES_POOLFMT_END
121 // Bereiche fuer die Id's der einzelnen Formate
123 // die Id's fuer die Zeichen-Vorlagen
124 enum RES_POOL_CHRFMT_TYPE
126 RES_POOLCHR_BEGIN = POOLGRP_CHARFMT,
127 RES_POOLCHR_NORMAL_BEGIN = POOLGRP_CHARFMT,
129 RES_POOLCHR_FOOTNOTE = RES_POOLCHR_NORMAL_BEGIN, // Fussnote
130 RES_POOLCHR_PAGENO, // Seiten/Feld
131 RES_POOLCHR_LABEL, // Beschriftung
132 RES_POOLCHR_DROPCAPS, // Initialienzeichen
133 RES_POOLCHR_NUM_LEVEL, // Nummerierungszeichen
134 RES_POOLCHR_BUL_LEVEL, // Aufzaehlungszeichen
136 RES_POOLCHR_INET_NORMAL, // Internet normal
137 RES_POOLCHR_INET_VISIT, // Internet besucht
138 RES_POOLCHR_JUMPEDIT, // Platzhalter
139 RES_POOLCHR_TOXJUMP, // Sprung aus Verzeichnis
140 RES_POOLCHR_ENDNOTE, // Endnote
141 RES_POOLCHR_LINENUM, // Zeilennummerierung
142 RES_POOLCHR_IDX_MAIN_ENTRY, // main entry in indexes
143 RES_POOLCHR_FOOTNOTE_ANCHOR, // Fussnotenanker
144 RES_POOLCHR_ENDNOTE_ANCHOR, // Endnotenanker
145 RES_POOLCHR_RUBYTEXT, // Rubytext
146 RES_POOLCHR_VERT_NUM, // Vertical numbering symbols
148 RES_POOLCHR_NORMAL_END,
150 RES_POOLCHR_HTML_BEGIN = RES_POOLCHR_BEGIN + 50, // HTML-Vorlagen
151 RES_POOLCHR_HTML_EMPHASIS= RES_POOLCHR_HTML_BEGIN,
152 RES_POOLCHR_HTML_CITIATION,
153 RES_POOLCHR_HTML_STRONG,
154 RES_POOLCHR_HTML_CODE,
155 RES_POOLCHR_HTML_SAMPLE,
156 RES_POOLCHR_HTML_KEYBOARD,
157 RES_POOLCHR_HTML_VARIABLE,
158 RES_POOLCHR_HTML_DEFINSTANCE,
159 RES_POOLCHR_HTML_TELETYPE,
160 RES_POOLCHR_HTML_END,
162 RES_POOLCHR_END = RES_POOLCHR_HTML_END
166 // die Id's fuer die Rahmen-Vorlagen
167 enum RES_POOL_FRMFMT_TYPE
169 RES_POOLFRM_BEGIN = POOLGRP_FRAMEFMT,
171 RES_POOLFRM_FRAME = RES_POOLFRM_BEGIN, // Rahmen
172 RES_POOLFRM_GRAPHIC, // Graphic
173 RES_POOLFRM_OLE, // OLE
174 RES_POOLFRM_FORMEL, // Formeln
175 RES_POOLFRM_MARGINAL, // Marginalen
176 RES_POOLFRM_WATERSIGN, // Wasserzeichen
177 RES_POOLFRM_LABEL, // Etikette
179 RES_POOLFRM_END
182 // die Id's fuer die Seiten-Vorlagen
183 enum RES_POOL_PAGEFMT_TYPE
185 RES_POOLPAGE_BEGIN = POOLGRP_PAGEDESC,
187 RES_POOLPAGE_STANDARD = RES_POOLPAGE_BEGIN, // Standard-Seite
188 RES_POOLPAGE_FIRST, // Erste Seite
189 RES_POOLPAGE_LEFT, // Linke Seite
190 RES_POOLPAGE_RIGHT, // Rechte Seite
191 RES_POOLPAGE_JAKET, // Umschlag
192 RES_POOLPAGE_REGISTER, // Verzeichnis
193 RES_POOLPAGE_HTML, // HTML
194 RES_POOLPAGE_FOOTNOTE, // Fussnote bei Dokumentende
195 RES_POOLPAGE_ENDNOTE, // Endnotensseite
196 RES_POOLPAGE_LANDSCAPE, // Landscape Page Style
198 RES_POOLPAGE_END
201 // die Id's fuer die NumRule-Vorlagen
202 enum RES_POOL_NUMRULE_TYPE
204 RES_POOLNUMRULE_BEGIN = POOLGRP_NUMRULE,
205 RES_POOLNUMRULE_NUM1 = RES_POOLNUMRULE_BEGIN, // NumRule Numerierung 1
206 RES_POOLNUMRULE_NUM2, // NumRule Numerierung 2
207 RES_POOLNUMRULE_NUM3, // NumRule Numerierung 3
208 RES_POOLNUMRULE_NUM4, // NumRule Numerierung 4
209 RES_POOLNUMRULE_NUM5, // NumRule Numerierung 5
210 RES_POOLNUMRULE_BUL1, // NumRule Bullets 1
211 RES_POOLNUMRULE_BUL2, // NumRule Bullets 2
212 RES_POOLNUMRULE_BUL3, // NumRule Bullets 3
213 RES_POOLNUMRULE_BUL4, // NumRule Bullets 4
214 RES_POOLNUMRULE_BUL5, // NumRule Bullets 5
215 RES_POOLNUMRULE_END
218 // die Id's fuer die Absatz-Vorlagen
219 enum RES_POOL_COLLFMT_TYPE
221 // Gruppe Text
222 RES_POOLCOLL_TEXT_BEGIN = COLL_TEXT_BITS,
224 RES_POOLCOLL_STANDARD = RES_POOLCOLL_TEXT_BEGIN, // Standard
225 RES_POOLCOLL_TEXT, // Textkoerper
226 RES_POOLCOLL_TEXT_IDENT, // Textkoerper Einzug
227 RES_POOLCOLL_TEXT_NEGIDENT, // Textkoerper neg. Einzug
228 RES_POOLCOLL_TEXT_MOVE, // Textkoerper Einrueckung
229 RES_POOLCOLL_GREETING, // Grussformel
230 RES_POOLCOLL_SIGNATURE, // Unterschrift
231 RES_POOLCOLL_CONFRONTATION, // Gegenueberstellung
232 RES_POOLCOLL_MARGINAL, // Marginalie
234 // Untergruppierung Ueberschriften
235 RES_POOLCOLL_HEADLINE_BASE, // Basis-Ueberschrift
236 RES_POOLCOLL_HEADLINE1, // Ueberschrift 1
237 RES_POOLCOLL_HEADLINE2, // Ueberschrift 2
238 RES_POOLCOLL_HEADLINE3, // Ueberschrift 3
239 RES_POOLCOLL_HEADLINE4, // Ueberschrift 4
240 RES_POOLCOLL_HEADLINE5, // Ueberschrift 5
241 RES_POOLCOLL_HEADLINE6, // Ueberschrift 6
242 RES_POOLCOLL_HEADLINE7, // Ueberschrift 7
243 RES_POOLCOLL_HEADLINE8, // Ueberschrift 8
244 RES_POOLCOLL_HEADLINE9, // Ueberschrift 9
245 RES_POOLCOLL_HEADLINE10, // Ueberschrift 10
247 RES_POOLCOLL_TEXT_END,
250 // Gruppe Listen
251 RES_POOLCOLL_LISTS_BEGIN = COLL_LISTS_BITS,
253 RES_POOLCOLL_NUMBUL_BASE = RES_POOLCOLL_LISTS_BEGIN, // Basis-Liste
255 // Untergruppe Nummerierung
256 RES_POOLCOLL_NUM_LEVEL1S, // Start Level1
257 RES_POOLCOLL_NUM_LEVEL1, // 1. Level
258 RES_POOLCOLL_NUM_LEVEL1E, // Ende Level1
259 RES_POOLCOLL_NUM_NONUM1, // keine Nummerierung
260 RES_POOLCOLL_NUM_LEVEL2S, // Start 2. Level
261 RES_POOLCOLL_NUM_LEVEL2, // 2. Level
262 RES_POOLCOLL_NUM_LEVEL2E, // Ende 2. Level
263 RES_POOLCOLL_NUM_NONUM2, // keine Nummerierung
264 RES_POOLCOLL_NUM_LEVEL3S, // Start 3. Level
265 RES_POOLCOLL_NUM_LEVEL3, // 3. Level
266 RES_POOLCOLL_NUM_LEVEL3E, // Ende 3. Level
267 RES_POOLCOLL_NUM_NONUM3, // keine Nummerierung
268 RES_POOLCOLL_NUM_LEVEL4S, // Start 4. Level
269 RES_POOLCOLL_NUM_LEVEL4, // 4. Level
270 RES_POOLCOLL_NUM_LEVEL4E, // Ende 4. Level
271 RES_POOLCOLL_NUM_NONUM4, // keine Nummerierung
272 RES_POOLCOLL_NUM_LEVEL5S, // Start 5. Level
273 RES_POOLCOLL_NUM_LEVEL5, // 5. Level
274 RES_POOLCOLL_NUM_LEVEL5E, // Ende 5. Level
275 RES_POOLCOLL_NUM_NONUM5, // keine Nummerierung
277 // Untergruppe Aufzaehlung
278 RES_POOLCOLL_BUL_LEVEL1S, // Start Level1
279 RES_POOLCOLL_BUL_LEVEL1, // 1. Level
280 RES_POOLCOLL_BUL_LEVEL1E, // Ende Level1
281 RES_POOLCOLL_BUL_NONUM1, // keine Nummerierung
282 RES_POOLCOLL_BUL_LEVEL2S, // Start 2. Level
283 RES_POOLCOLL_BUL_LEVEL2, // 2. Level
284 RES_POOLCOLL_BUL_LEVEL2E, // Ende 2. Level
285 RES_POOLCOLL_BUL_NONUM2, // keine Nummerierung
286 RES_POOLCOLL_BUL_LEVEL3S, // Start 3. Level
287 RES_POOLCOLL_BUL_LEVEL3, // 3. Level
288 RES_POOLCOLL_BUL_LEVEL3E, // Ende 3. Level
289 RES_POOLCOLL_BUL_NONUM3, // keine Nummerierung
290 RES_POOLCOLL_BUL_LEVEL4S, // Start 4. Level
291 RES_POOLCOLL_BUL_LEVEL4, // 4. Level
292 RES_POOLCOLL_BUL_LEVEL4E, // Ende 4. Level
293 RES_POOLCOLL_BUL_NONUM4, // keine Nummerierung
294 RES_POOLCOLL_BUL_LEVEL5S, // Start 5. Level
295 RES_POOLCOLL_BUL_LEVEL5, // 5. Level
296 RES_POOLCOLL_BUL_LEVEL5E, // Ende 5. Level
297 RES_POOLCOLL_BUL_NONUM5, // keine Nummerierung
299 RES_POOLCOLL_LISTS_END,
302 // Sonderbereiche
303 RES_POOLCOLL_EXTRA_BEGIN = COLL_EXTRA_BITS,
305 // Untergruppe Header
306 RES_POOLCOLL_HEADER = RES_POOLCOLL_EXTRA_BEGIN, // Header Left&Right
307 RES_POOLCOLL_HEADERL, // Header Left
308 RES_POOLCOLL_HEADERR, // Header Right
310 // Untergruppe Footer
311 RES_POOLCOLL_FOOTER, // Footer Left&Right
312 RES_POOLCOLL_FOOTERL, // Footer Left
313 RES_POOLCOLL_FOOTERR, // Footer Right
315 // Untergruppe Tabelle
316 RES_POOLCOLL_TABLE, // Tabelle "Inhalt"
317 RES_POOLCOLL_TABLE_HDLN, // Tabellen-Headline
320 // Untergruppe Beschriftung
321 RES_POOLCOLL_LABEL, // Beschriftung-Basis
322 RES_POOLCOLL_LABEL_ABB, // Beschriftung-Abbildung
323 RES_POOLCOLL_LABEL_TABLE, // Beschriftung-Tabelle
324 RES_POOLCOLL_LABEL_FRAME, // Beschriftung-Rahmen
326 // sonstiges
327 RES_POOLCOLL_FRAME, // Rahmen
328 RES_POOLCOLL_FOOTNOTE, // Fussnoten
329 RES_POOLCOLL_JAKETADRESS, // UmschlagAdresse
330 RES_POOLCOLL_SENDADRESS, // AbsenderAdresse
331 RES_POOLCOLL_ENDNOTE, // Endnoten
333 RES_POOLCOLL_LABEL_DRAWING, // Beschriftung-Zeichen-Objekte
334 RES_POOLCOLL_EXTRA_END,
337 // Gruppe Verzeichnisse
338 RES_POOLCOLL_REGISTER_BEGIN = COLL_REGISTER_BITS,
340 RES_POOLCOLL_REGISTER_BASE = RES_POOLCOLL_REGISTER_BEGIN, // Basis-Verzeichnis
342 // Untergruppe Index-Verzeichnisse
343 RES_POOLCOLL_TOX_IDXH, // Header
344 RES_POOLCOLL_TOX_IDX1, // 1. Ebene
345 RES_POOLCOLL_TOX_IDX2, // 2. Ebene
346 RES_POOLCOLL_TOX_IDX3, // 3. Ebene
347 RES_POOLCOLL_TOX_IDXBREAK, // Trenner
349 // Untergruppe Inhalts-Verzeichnisse
350 RES_POOLCOLL_TOX_CNTNTH, // Header
351 RES_POOLCOLL_TOX_CNTNT1, // 1. Ebene
352 RES_POOLCOLL_TOX_CNTNT2, // 2. Ebene
353 RES_POOLCOLL_TOX_CNTNT3, // 3. Ebene
354 RES_POOLCOLL_TOX_CNTNT4, // 4. Ebene
355 RES_POOLCOLL_TOX_CNTNT5, // 5. Ebene
357 // Untergruppe Benutzer-Verzeichnisse:
358 RES_POOLCOLL_TOX_USERH, // Header
359 RES_POOLCOLL_TOX_USER1, // 1. Ebene
360 RES_POOLCOLL_TOX_USER2, // 2. Ebene
361 RES_POOLCOLL_TOX_USER3, // 3. Ebene
362 RES_POOLCOLL_TOX_USER4, // 4. Ebene
363 RES_POOLCOLL_TOX_USER5, // 5. Ebene
366 RES_POOLCOLL_TOX_CNTNT6, // Inhalt 6. Ebene
367 RES_POOLCOLL_TOX_CNTNT7, // Inhalt 7. Ebene
368 RES_POOLCOLL_TOX_CNTNT8, // Inhalt 8. Ebene
369 RES_POOLCOLL_TOX_CNTNT9, // Inhalt 9. Ebene
370 RES_POOLCOLL_TOX_CNTNT10, // Inhalt 10. Ebene
372 // illustrations index
373 RES_POOLCOLL_TOX_ILLUSH, // illustrations header
374 RES_POOLCOLL_TOX_ILLUS1, // illustrations all levels
376 // object index
377 RES_POOLCOLL_TOX_OBJECTH, // objects header
378 RES_POOLCOLL_TOX_OBJECT1, // objects all levels
380 // tables index
381 RES_POOLCOLL_TOX_TABLESH, // tables header
382 RES_POOLCOLL_TOX_TABLES1, // tables all levels
384 // index of authorities
385 RES_POOLCOLL_TOX_AUTHORITIESH, // authorities header
386 RES_POOLCOLL_TOX_AUTHORITIES1, // authorities all levels
388 // user index 6..10
389 RES_POOLCOLL_TOX_USER6, // level 6
390 RES_POOLCOLL_TOX_USER7, // level 7
391 RES_POOLCOLL_TOX_USER8, // level 8
392 RES_POOLCOLL_TOX_USER9, // level 9
393 RES_POOLCOLL_TOX_USER10, // level 10
395 RES_POOLCOLL_REGISTER_END,
398 // Gruppe Kapitel/Dokument
399 RES_POOLCOLL_DOC_BEGIN = COLL_DOC_BITS,
401 RES_POOLCOLL_DOC_TITEL = RES_POOLCOLL_DOC_BEGIN, // Doc. Titel
402 RES_POOLCOLL_DOC_SUBTITEL, // Doc. UnterTitel
404 RES_POOLCOLL_DOC_END,
406 // Gruppe HTML-Vorlagen
407 RES_POOLCOLL_HTML_BEGIN = COLL_HTML_BITS,
409 RES_POOLCOLL_HTML_BLOCKQUOTE = RES_POOLCOLL_HTML_BEGIN,
410 RES_POOLCOLL_HTML_PRE,
411 RES_POOLCOLL_HTML_HR,
412 RES_POOLCOLL_HTML_DD,
413 RES_POOLCOLL_HTML_DT,
415 RES_POOLCOLL_HTML_END
417 // Ende der Textformat-Vorlagen Sammlung
422 // erfrage den definierten Parent zu einer POOL-Id
423 // returnt: 0 -> Standard
424 // USHRT_MAX -> kein Parent
425 // sonst -> den Parent
426 USHORT GetPoolParent( USHORT nId );
428 SvxFrameDirection GetDefaultFrameDirection(ULONG nLanguage);
430 inline BOOL IsConditionalByPoolId(USHORT nId)
432 return RES_POOLCOLL_TEXT == nId;
434 // die Id's fuer die Grafik-Formate
435 /*enum RES_POOL_GRFFMT_TYPE
437 RES_POOLGRF_BEGIN = RES_POOLPAR_END,
438 RES_POOLGRF_1 = RES_POOLGRF_BEGIN,
439 RES_POOLGRF_END
443 #endif