/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef _POOLFMT_HXX #define _POOLFMT_HXX #include #include #include // POOLCOLL-IDs: // +----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ // !User! Bereich ! 0 ! Offset ! // +----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ // // Bereich: 1 - Text // 2 - Listen // 3 - Sonderbereiche // 4 - Verzeichnisse // 5 - Kapitel / Dokument // 6 - HTML-Vorlagen // Andere IDs: // +----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ // !User! Bereich ! 1 ! Offset ! // +----+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ // Bereich: 0 - Zeichenvorlagen // 1 - Frame-Vorlagen // 2 - Seitenvorlagen // 3 - Absatzformate (?) // 4 - Grafikformate (?) // Fr alle IDs gilt: // Herkunft: 0 -Pool // 1 -Benutzer // Offset: innerhalb der Gruppe // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // // ACHTUNG: neue ID's koennen nur noch am Ende der jeweiligen Gruppe // zugefuegt werden. Diese Id's werden vom Reader/Writer ge- // lesen und geschrieben. Diese kennen nur den Offset zum Start // // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // Maske fuer Erkennung von COLLPOOL-Ids: const sal_uInt16 POOLGRP_NOCOLLID = (1 << 10); // POLLCOLL-Gruppen: const sal_uInt16 USER_FMT = (1 << 15); const sal_uInt16 POOL_FMT = (0 << 15); const sal_uInt16 COLL_TEXT_BITS = (1 << 11); const sal_uInt16 COLL_LISTS_BITS = (2 << 11); const sal_uInt16 COLL_EXTRA_BITS = (3 << 11); const sal_uInt16 COLL_REGISTER_BITS = (4 << 11); const sal_uInt16 COLL_DOC_BITS = (5 << 11); const sal_uInt16 COLL_HTML_BITS = (6 << 11); const sal_uInt16 COLL_GET_RANGE_BITS = (15 << 11); // Sonstige Gruppen: const sal_uInt16 POOLGRP_CHARFMT = (0 << 11) + POOLGRP_NOCOLLID; const sal_uInt16 POOLGRP_FRAMEFMT = (1 << 11) + POOLGRP_NOCOLLID; const sal_uInt16 POOLGRP_PAGEDESC = (2 << 11) + POOLGRP_NOCOLLID; const sal_uInt16 POOLGRP_NUMRULE = (3 << 11) + POOLGRP_NOCOLLID; //const sal_uInt16 POOLGRP_GRFFMT = (4 << 11) + POOLGRP_NOCOLLID; // ? // fuer Erkennung ob Benutzer-Vorlage oder nicht: const sal_uInt16 POOL_IDUSER_FMT = USHRT_MAX & ~(COLL_GET_RANGE_BITS + POOLGRP_NOCOLLID); inline sal_Bool IsPoolUserFmt( sal_uInt16 nId ) { return POOL_IDUSER_FMT == (nId & ~(COLL_GET_RANGE_BITS + POOLGRP_NOCOLLID)) ? sal_True : sal_False; } // ID-s fuer die Bereiche enum RES_POOLFMT { RES_POOLFMT_BEGIN = 1, // HIER GEHT'S LOS !!! RES_POOL_CHRFMT = RES_POOLFMT_BEGIN, RES_POOL_FRMFMT, RES_POOL_TXTCOLL, RES_POOL_PAGEFMT, RES_POOL_PARFMT, // ??? RES_POOL_GRFFMT, // ??? RES_POOLFMT_END }; // Bereiche fuer die Id's der einzelnen Formate // die Id's fuer die Zeichen-Vorlagen enum RES_POOL_CHRFMT_TYPE { RES_POOLCHR_BEGIN = POOLGRP_CHARFMT, RES_POOLCHR_NORMAL_BEGIN = POOLGRP_CHARFMT, RES_POOLCHR_FOOTNOTE = RES_POOLCHR_NORMAL_BEGIN, // Fussnote RES_POOLCHR_PAGENO, // Seiten/Feld RES_POOLCHR_LABEL, // Beschriftung RES_POOLCHR_DROPCAPS, // Initialienzeichen RES_POOLCHR_NUM_LEVEL, // Nummerierungszeichen RES_POOLCHR_BUL_LEVEL, // Aufzaehlungszeichen RES_POOLCHR_INET_NORMAL, // Internet normal RES_POOLCHR_INET_VISIT, // Internet besucht RES_POOLCHR_JUMPEDIT, // Platzhalter RES_POOLCHR_TOXJUMP, // Sprung aus Verzeichnis RES_POOLCHR_ENDNOTE, // Endnote RES_POOLCHR_LINENUM, // Zeilennummerierung RES_POOLCHR_IDX_MAIN_ENTRY, // main entry in indexes RES_POOLCHR_FOOTNOTE_ANCHOR, // Fussnotenanker RES_POOLCHR_ENDNOTE_ANCHOR, // Endnotenanker RES_POOLCHR_RUBYTEXT, // Rubytext RES_POOLCHR_VERT_NUM, // Vertical numbering symbols RES_POOLCHR_NORMAL_END, RES_POOLCHR_HTML_BEGIN = RES_POOLCHR_BEGIN + 50, // HTML-Vorlagen RES_POOLCHR_HTML_EMPHASIS= RES_POOLCHR_HTML_BEGIN, RES_POOLCHR_HTML_CITIATION, RES_POOLCHR_HTML_STRONG, RES_POOLCHR_HTML_CODE, RES_POOLCHR_HTML_SAMPLE, RES_POOLCHR_HTML_KEYBOARD, RES_POOLCHR_HTML_VARIABLE, RES_POOLCHR_HTML_DEFINSTANCE, RES_POOLCHR_HTML_TELETYPE, RES_POOLCHR_HTML_END, RES_POOLCHR_END = RES_POOLCHR_HTML_END }; // die Id's fuer die Rahmen-Vorlagen enum RES_POOL_FRMFMT_TYPE { RES_POOLFRM_BEGIN = POOLGRP_FRAMEFMT, RES_POOLFRM_FRAME = RES_POOLFRM_BEGIN, // Rahmen RES_POOLFRM_GRAPHIC, // Graphic RES_POOLFRM_OLE, // OLE RES_POOLFRM_FORMEL, // Formeln RES_POOLFRM_MARGINAL, // Marginalen RES_POOLFRM_WATERSIGN, // Wasserzeichen RES_POOLFRM_LABEL, // Etikette RES_POOLFRM_END }; // die Id's fuer die Seiten-Vorlagen enum RES_POOL_PAGEFMT_TYPE { RES_POOLPAGE_BEGIN = POOLGRP_PAGEDESC, RES_POOLPAGE_STANDARD = RES_POOLPAGE_BEGIN, // Standard-Seite RES_POOLPAGE_FIRST, // Erste Seite RES_POOLPAGE_LEFT, // Linke Seite RES_POOLPAGE_RIGHT, // Rechte Seite RES_POOLPAGE_JAKET, // Umschlag RES_POOLPAGE_REGISTER, // Verzeichnis RES_POOLPAGE_HTML, // HTML RES_POOLPAGE_FOOTNOTE, // Fussnote bei Dokumentende RES_POOLPAGE_ENDNOTE, // Endnotensseite RES_POOLPAGE_LANDSCAPE, // Landscape Page Style RES_POOLPAGE_END }; // die Id's fuer die NumRule-Vorlagen enum RES_POOL_NUMRULE_TYPE { RES_POOLNUMRULE_BEGIN = POOLGRP_NUMRULE, RES_POOLNUMRULE_NUM1 = RES_POOLNUMRULE_BEGIN, // NumRule Numerierung 1 RES_POOLNUMRULE_NUM2, // NumRule Numerierung 2 RES_POOLNUMRULE_NUM3, // NumRule Numerierung 3 RES_POOLNUMRULE_NUM4, // NumRule Numerierung 4 RES_POOLNUMRULE_NUM5, // NumRule Numerierung 5 RES_POOLNUMRULE_BUL1, // NumRule Bullets 1 RES_POOLNUMRULE_BUL2, // NumRule Bullets 2 RES_POOLNUMRULE_BUL3, // NumRule Bullets 3 RES_POOLNUMRULE_BUL4, // NumRule Bullets 4 RES_POOLNUMRULE_BUL5, // NumRule Bullets 5 RES_POOLNUMRULE_END }; // die Id's fuer die Absatz-Vorlagen enum RES_POOL_COLLFMT_TYPE { // Gruppe Text RES_POOLCOLL_TEXT_BEGIN = COLL_TEXT_BITS, RES_POOLCOLL_STANDARD = RES_POOLCOLL_TEXT_BEGIN, // Standard RES_POOLCOLL_TEXT, // Textkoerper RES_POOLCOLL_TEXT_IDENT, // Textkoerper Einzug RES_POOLCOLL_TEXT_NEGIDENT, // Textkoerper neg. Einzug RES_POOLCOLL_TEXT_MOVE, // Textkoerper Einrueckung RES_POOLCOLL_GREETING, // Grussformel RES_POOLCOLL_SIGNATURE, // Unterschrift RES_POOLCOLL_CONFRONTATION, // Gegenueberstellung RES_POOLCOLL_MARGINAL, // Marginalie // Untergruppierung Ueberschriften RES_POOLCOLL_HEADLINE_BASE, // Basis-Ueberschrift RES_POOLCOLL_HEADLINE1, // Ueberschrift 1 RES_POOLCOLL_HEADLINE2, // Ueberschrift 2 RES_POOLCOLL_HEADLINE3, // Ueberschrift 3 RES_POOLCOLL_HEADLINE4, // Ueberschrift 4 RES_POOLCOLL_HEADLINE5, // Ueberschrift 5 RES_POOLCOLL_HEADLINE6, // Ueberschrift 6 RES_POOLCOLL_HEADLINE7, // Ueberschrift 7 RES_POOLCOLL_HEADLINE8, // Ueberschrift 8 RES_POOLCOLL_HEADLINE9, // Ueberschrift 9 RES_POOLCOLL_HEADLINE10, // Ueberschrift 10 RES_POOLCOLL_TEXT_END, // Gruppe Listen RES_POOLCOLL_LISTS_BEGIN = COLL_LISTS_BITS, RES_POOLCOLL_NUMBUL_BASE = RES_POOLCOLL_LISTS_BEGIN, // Basis-Liste // Untergruppe Nummerierung RES_POOLCOLL_NUM_LEVEL1S, // Start Level1 RES_POOLCOLL_NUM_LEVEL1, // 1. Level RES_POOLCOLL_NUM_LEVEL1E, // Ende Level1 RES_POOLCOLL_NUM_NONUM1, // keine Nummerierung RES_POOLCOLL_NUM_LEVEL2S, // Start 2. Level RES_POOLCOLL_NUM_LEVEL2, // 2. Level RES_POOLCOLL_NUM_LEVEL2E, // Ende 2. Level RES_POOLCOLL_NUM_NONUM2, // keine Nummerierung RES_POOLCOLL_NUM_LEVEL3S, // Start 3. Level RES_POOLCOLL_NUM_LEVEL3, // 3. Level RES_POOLCOLL_NUM_LEVEL3E, // Ende 3. Level RES_POOLCOLL_NUM_NONUM3, // keine Nummerierung RES_POOLCOLL_NUM_LEVEL4S, // Start 4. Level RES_POOLCOLL_NUM_LEVEL4, // 4. Level RES_POOLCOLL_NUM_LEVEL4E, // Ende 4. Level RES_POOLCOLL_NUM_NONUM4, // keine Nummerierung RES_POOLCOLL_NUM_LEVEL5S, // Start 5. Level RES_POOLCOLL_NUM_LEVEL5, // 5. Level RES_POOLCOLL_NUM_LEVEL5E, // Ende 5. Level RES_POOLCOLL_NUM_NONUM5, // keine Nummerierung // Untergruppe Aufzaehlung RES_POOLCOLL_BUL_LEVEL1S, // Start Level1 RES_POOLCOLL_BUL_LEVEL1, // 1. Level RES_POOLCOLL_BUL_LEVEL1E, // Ende Level1 RES_POOLCOLL_BUL_NONUM1, // keine Nummerierung RES_POOLCOLL_BUL_LEVEL2S, // Start 2. Level RES_POOLCOLL_BUL_LEVEL2, // 2. Level RES_POOLCOLL_BUL_LEVEL2E, // Ende 2. Level RES_POOLCOLL_BUL_NONUM2, // keine Nummerierung RES_POOLCOLL_BUL_LEVEL3S, // Start 3. Level RES_POOLCOLL_BUL_LEVEL3, // 3. Level RES_POOLCOLL_BUL_LEVEL3E, // Ende 3. Level RES_POOLCOLL_BUL_NONUM3, // keine Nummerierung RES_POOLCOLL_BUL_LEVEL4S, // Start 4. Level RES_POOLCOLL_BUL_LEVEL4, // 4. Level RES_POOLCOLL_BUL_LEVEL4E, // Ende 4. Level RES_POOLCOLL_BUL_NONUM4, // keine Nummerierung RES_POOLCOLL_BUL_LEVEL5S, // Start 5. Level RES_POOLCOLL_BUL_LEVEL5, // 5. Level RES_POOLCOLL_BUL_LEVEL5E, // Ende 5. Level RES_POOLCOLL_BUL_NONUM5, // keine Nummerierung RES_POOLCOLL_LISTS_END, // Sonderbereiche RES_POOLCOLL_EXTRA_BEGIN = COLL_EXTRA_BITS, // Untergruppe Header RES_POOLCOLL_HEADER = RES_POOLCOLL_EXTRA_BEGIN, // Header Left&Right RES_POOLCOLL_HEADERL, // Header Left RES_POOLCOLL_HEADERR, // Header Right // Untergruppe Footer RES_POOLCOLL_FOOTER, // Footer Left&Right RES_POOLCOLL_FOOTERL, // Footer Left RES_POOLCOLL_FOOTERR, // Footer Right // Untergruppe Tabelle RES_POOLCOLL_TABLE, // Tabelle "Inhalt" RES_POOLCOLL_TABLE_HDLN, // Tabellen-Headline // Untergruppe Beschriftung RES_POOLCOLL_LABEL, // Beschriftung-Basis RES_POOLCOLL_LABEL_ABB, // Beschriftung-Abbildung RES_POOLCOLL_LABEL_TABLE, // Beschriftung-Tabelle RES_POOLCOLL_LABEL_FRAME, // Beschriftung-Rahmen // sonstiges RES_POOLCOLL_FRAME, // Rahmen RES_POOLCOLL_FOOTNOTE, // Fussnoten RES_POOLCOLL_JAKETADRESS, // UmschlagAdresse RES_POOLCOLL_SENDADRESS, // AbsenderAdresse RES_POOLCOLL_ENDNOTE, // Endnoten RES_POOLCOLL_LABEL_DRAWING, // Beschriftung-Zeichen-Objekte RES_POOLCOLL_EXTRA_END, // Gruppe Verzeichnisse RES_POOLCOLL_REGISTER_BEGIN = COLL_REGISTER_BITS, RES_POOLCOLL_REGISTER_BASE = RES_POOLCOLL_REGISTER_BEGIN, // Basis-Verzeichnis // Untergruppe Index-Verzeichnisse RES_POOLCOLL_TOX_IDXH, // Header RES_POOLCOLL_TOX_IDX1, // 1. Ebene RES_POOLCOLL_TOX_IDX2, // 2. Ebene RES_POOLCOLL_TOX_IDX3, // 3. Ebene RES_POOLCOLL_TOX_IDXBREAK, // Trenner // Untergruppe Inhalts-Verzeichnisse RES_POOLCOLL_TOX_CNTNTH, // Header RES_POOLCOLL_TOX_CNTNT1, // 1. Ebene RES_POOLCOLL_TOX_CNTNT2, // 2. Ebene RES_POOLCOLL_TOX_CNTNT3, // 3. Ebene RES_POOLCOLL_TOX_CNTNT4, // 4. Ebene RES_POOLCOLL_TOX_CNTNT5, // 5. Ebene // Untergruppe Benutzer-Verzeichnisse: RES_POOLCOLL_TOX_USERH, // Header RES_POOLCOLL_TOX_USER1, // 1. Ebene RES_POOLCOLL_TOX_USER2, // 2. Ebene RES_POOLCOLL_TOX_USER3, // 3. Ebene RES_POOLCOLL_TOX_USER4, // 4. Ebene RES_POOLCOLL_TOX_USER5, // 5. Ebene RES_POOLCOLL_TOX_CNTNT6, // Inhalt 6. Ebene RES_POOLCOLL_TOX_CNTNT7, // Inhalt 7. Ebene RES_POOLCOLL_TOX_CNTNT8, // Inhalt 8. Ebene RES_POOLCOLL_TOX_CNTNT9, // Inhalt 9. Ebene RES_POOLCOLL_TOX_CNTNT10, // Inhalt 10. Ebene // illustrations index RES_POOLCOLL_TOX_ILLUSH, // illustrations header RES_POOLCOLL_TOX_ILLUS1, // illustrations all levels // object index RES_POOLCOLL_TOX_OBJECTH, // objects header RES_POOLCOLL_TOX_OBJECT1, // objects all levels // tables index RES_POOLCOLL_TOX_TABLESH, // tables header RES_POOLCOLL_TOX_TABLES1, // tables all levels // index of authorities RES_POOLCOLL_TOX_AUTHORITIESH, // authorities header RES_POOLCOLL_TOX_AUTHORITIES1, // authorities all levels // user index 6..10 RES_POOLCOLL_TOX_USER6, // level 6 RES_POOLCOLL_TOX_USER7, // level 7 RES_POOLCOLL_TOX_USER8, // level 8 RES_POOLCOLL_TOX_USER9, // level 9 RES_POOLCOLL_TOX_USER10, // level 10 RES_POOLCOLL_REGISTER_END, // Gruppe Kapitel/Dokument RES_POOLCOLL_DOC_BEGIN = COLL_DOC_BITS, RES_POOLCOLL_DOC_TITEL = RES_POOLCOLL_DOC_BEGIN, // Doc. Titel RES_POOLCOLL_DOC_SUBTITEL, // Doc. UnterTitel RES_POOLCOLL_DOC_END, // Gruppe HTML-Vorlagen RES_POOLCOLL_HTML_BEGIN = COLL_HTML_BITS, RES_POOLCOLL_HTML_BLOCKQUOTE = RES_POOLCOLL_HTML_BEGIN, RES_POOLCOLL_HTML_PRE, RES_POOLCOLL_HTML_HR, RES_POOLCOLL_HTML_DD, RES_POOLCOLL_HTML_DT, RES_POOLCOLL_HTML_END // Ende der Textformat-Vorlagen Sammlung }; // erfrage den definierten Parent zu einer POOL-Id // returnt: 0 -> Standard // USHRT_MAX -> kein Parent // sonst -> den Parent sal_uInt16 GetPoolParent( sal_uInt16 nId ); SvxFrameDirection GetDefaultFrameDirection(sal_uLong nLanguage); inline sal_Bool IsConditionalByPoolId(sal_uInt16 nId) { return RES_POOLCOLL_TEXT == nId; } // die Id's fuer die Grafik-Formate /*enum RES_POOL_GRFFMT_TYPE { RES_POOLGRF_BEGIN = RES_POOLPAR_END, RES_POOLGRF_1 = RES_POOLGRF_BEGIN, RES_POOLGRF_END }; */ #endif