| /************************************************************** |
| * |
| * 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 <limits.h> |
| #include <tools/solar.h> |
| #include <editeng/frmdir.hxx> |
| |
| // 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 |