LibreOffice Module sw (master) 1
DocumentStylePoolManager.cxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
20#include <SwStyleNameMapper.hxx>
21#include <doc.hxx>
23#include <IDocumentState.hxx>
24#include <IDocumentUndoRedo.hxx>
25#include <fmtanchr.hxx>
26#include <fmtfsize.hxx>
27#include <paratr.hxx>
28#include <poolfmt.hxx>
29#include <fmtornt.hxx>
30#include <charfmt.hxx>
31#include <fmtsrnd.hxx>
32#include <docary.hxx>
33#include <pagedesc.hxx>
34#include <frmfmt.hxx>
35#include <fmtline.hxx>
36#include <numrule.hxx>
37#include <hints.hxx>
38#include <editeng/paperinf.hxx>
39#include <editeng/wghtitem.hxx>
40#include <editeng/fontitem.hxx>
41#include <editeng/fhgtitem.hxx>
42#include <editeng/tstpitem.hxx>
43#include <editeng/lrspitem.hxx>
44#include <editeng/ulspitem.hxx>
45#include <editeng/lspcitem.hxx>
47#include <editeng/postitem.hxx>
48#include <editeng/keepitem.hxx>
49#include <editeng/opaqitem.hxx>
50#include <editeng/boxitem.hxx>
51#include <editeng/cmapitem.hxx>
52#include <editeng/udlnitem.hxx>
53#include <editeng/colritem.hxx>
54#include <editeng/protitem.hxx>
56#include <editeng/langitem.hxx>
61#include <svx/strings.hrc>
62#include <svx/dialmgr.hxx>
63#include <sal/log.hxx>
64#include <osl/diagnose.h>
65#include <strings.hrc>
66#include <frmatr.hxx>
67#include <frameformats.hxx>
68#include <com/sun/star/text/VertOrientation.hpp>
69#include <com/sun/star/text/RelOrientation.hpp>
70#include <com/sun/star/text/HoriOrientation.hpp>
73#include <comphelper/lok.hxx>
74
75using namespace ::editeng;
76using namespace ::com::sun::star;
77
78bool IsConditionalByPoolId(sal_uInt16 nId)
79{
80 // TODO: why is this style conditional?
81 // If it is changed to no longer be conditional, then a style "Text Body"
82 // will be imported without its conditions from ODF.
83 return RES_POOLCOLL_TEXT == nId;
84}
85
86namespace
87{
88 const sal_uInt16 PT_3 = 3 * 20; // 3 pt
89 const sal_uInt16 PT_6 = 6 * 20; // 6 pt
90 const sal_uInt16 PT_7 = 7 * 20; // 7 pt
91 const sal_uInt16 PT_9 = 9 * 20; // 9 pt
92 const sal_uInt16 PT_10 = 10 * 20; // 10 pt
93 const sal_uInt16 PT_12 = 12 * 20; // 12 pt
94 const sal_uInt16 PT_13 = 13 * 20; // 13 pt
95 const sal_uInt16 PT_14 = 14 * 20; // 14 pt
96 const sal_uInt16 PT_16 = 16 * 20; // 16 pt
97 const sal_uInt16 PT_18 = 18 * 20; // 18 pt
98 const sal_uInt16 PT_24 = 24 * 20; // 24 pt
99 const sal_uInt16 PT_28 = 28 * 20; // 28 pt
100
102
103 const sal_uInt16 aHeadlineSizes[ 2 * MAXLEVEL ] = {
104 // we do everything percentual now:
105 PT_18, PT_16, PT_14, PT_13, PT_12,
106 PT_12, PT_10, PT_10, PT_9, PT_9, // normal
107
108 PT_24, PT_18, PT_14, PT_12, PT_10,
109 PT_7, PT_7, PT_7, PT_7, PT_7 // HTML mode
110 };
111
112 tools::Long lcl_GetRightMargin( SwDoc& rDoc )
113 {
114 // Make sure that the printer settings are taken over to the standard
115 // page style
116 const SwFrameFormat& rPgDscFormat = rDoc.GetPageDesc( 0 ).GetMaster();
117 const SvxLRSpaceItem& rLR = rPgDscFormat.GetLRSpace();
118 const tools::Long nLeft = rLR.GetLeft();
119 const tools::Long nRight = rLR.GetRight();
120 const tools::Long nWidth = rPgDscFormat.GetFrameSize().GetWidth();
121 return nWidth - nLeft - nRight;
122 }
123
124 void lcl_SetDfltFont( DefaultFontType nFntType, SfxItemSet& rSet )
125 {
126 static struct {
127 sal_uInt16 nResLngId;
128 sal_uInt16 nResFntId;
129 } aArr[ 3 ] = {
133 };
134 for(const auto & n : aArr)
135 {
136 LanguageType nLng = static_cast<const SvxLanguageItem&>(rSet.GetPool()->GetDefaultItem(
137 n.nResLngId )).GetLanguage();
139 nLng, GetDefaultFontFlags::OnlyOne ) );
140
141 rSet.Put( SvxFontItem( aFnt.GetFamilyType(), aFnt.GetFamilyName(),
142 OUString(), aFnt.GetPitch(),
143 aFnt.GetCharSet(), n.nResFntId ));
144 }
145 }
146
147 void lcl_SetDfltFont( DefaultFontType nLatinFntType, DefaultFontType nCJKFntType,
148 DefaultFontType nCTLFntType, SfxItemSet& rSet )
149 {
150 static struct {
151 sal_uInt16 nResLngId;
152 sal_uInt16 nResFntId;
153 DefaultFontType nFntType;
154 } aArr[ 3 ] = {
158 };
159 aArr[0].nFntType = nLatinFntType;
160 aArr[1].nFntType = nCJKFntType;
161 aArr[2].nFntType = nCTLFntType;
162
163 for(const auto & n : aArr)
164 {
165 LanguageType nLng = static_cast<const SvxLanguageItem&>(rSet.GetPool()->GetDefaultItem(
166 n.nResLngId )).GetLanguage();
168 nLng, GetDefaultFontFlags::OnlyOne ) );
169
170 rSet.Put( SvxFontItem( aFnt.GetFamilyType(), aFnt.GetFamilyName(),
171 OUString(), aFnt.GetPitch(),
172 aFnt.GetCharSet(), n.nResFntId ));
173 }
174 }
175
176 void lcl_SetHeadline( SwDoc& rDoc, SwTextFormatColl* pColl,
177 SfxItemSet& rSet,
178 sal_uInt16 nOutLvlBits, sal_uInt8 nLevel, bool bItalic )
179 {
180 SetAllScriptItem( rSet, SvxWeightItem( WEIGHT_BOLD, RES_CHRATR_WEIGHT ) );
181 SvxFontHeightItem aHItem(240, 100, RES_CHRATR_FONTSIZE);
182 const bool bHTMLMode = rDoc.GetDocumentSettingManager().get(DocumentSettingId::HTML_MODE);
183 if( bHTMLMode )
184 aHItem.SetHeight( aHeadlineSizes[ MAXLEVEL + nLevel ] );
185 else
186 aHItem.SetHeight( aHeadlineSizes[ nLevel ] );
187 SetAllScriptItem( rSet, aHItem );
188
189 if( bItalic && !bHTMLMode )
190 SetAllScriptItem( rSet, SvxPostureItem( ITALIC_NORMAL, RES_CHRATR_POSTURE ) );
191
192 if( bHTMLMode )
193 {
194 lcl_SetDfltFont( DefaultFontType::LATIN_TEXT, DefaultFontType::CJK_TEXT,
195 DefaultFontType::CTL_TEXT, rSet );
196 }
197
198 if( !pColl )
199 return;
200
201 if( !( nOutLvlBits & ( 1 << nLevel )) )
202 {
203 pColl->AssignToListLevelOfOutlineStyle(nLevel);
204 if( !bHTMLMode )
205 {
206 SwNumRule * pOutlineRule = rDoc.GetOutlineNumRule();
207 const SwNumFormat& rNFormat = pOutlineRule->Get( nLevel );
208
209 if ( rNFormat.GetPositionAndSpaceMode() ==
211 ( rNFormat.GetAbsLSpace() || rNFormat.GetFirstLineOffset() ) )
212 {
215 firstLine.SetTextFirstLineOffsetValue(rNFormat.GetFirstLineOffset());
216 //TODO: overflow
217 leftMargin.SetTextLeft(rNFormat.GetAbsLSpace());
218 pColl->SetFormatAttr(firstLine);
219 pColl->SetFormatAttr(leftMargin);
220 }
221
222 // All paragraph styles, which are assigned to a level of the
223 // outline style has to have the outline style set as its list style.
224 SwNumRuleItem aItem(pOutlineRule->GetName());
225 pColl->SetFormatAttr(aItem);
226 }
227 }
229 }
230
231 void lcl_SetRegister( SwDoc& rDoc, SfxItemSet& rSet, sal_uInt16 nFact,
232 bool bHeader, bool bTab )
233 {
234 sal_uInt16 nLeft = o3tl::convert(5 * nFact, o3tl::Length::mm, o3tl::Length::twip);
236 SvxTextLeftMarginItem const leftMargin(nLeft, RES_MARGIN_TEXTLEFT);
237 rSet.Put(firstLine);
238 rSet.Put(leftMargin);
239 if( bHeader )
240 {
241 SetAllScriptItem( rSet, SvxWeightItem( WEIGHT_BOLD, RES_CHRATR_WEIGHT ) );
243 }
244 if( bTab )
245 {
246 tools::Long nRightMargin = lcl_GetRightMargin( rDoc );
247 SvxTabStopItem aTStops( 0, 0, SvxTabAdjust::Default, RES_PARATR_TABSTOP );
248 aTStops.Insert( SvxTabStop( nRightMargin - nLeft,
249 SvxTabAdjust::Right,
250 cDfltDecimalChar, '.' ));
251 rSet.Put( aTStops );
252 }
253 }
254
255 void lcl_SetNumBul( SwDoc& rDoc, SwTextFormatColl* pColl,
256 SfxItemSet& rSet,
257 sal_uInt16 nNxt, SwTwips nEZ, SwTwips nLeft,
258 SwTwips nUpper, SwTwips nLower )
259 {
260 SvxFirstLineIndentItem const firstLine(sal_uInt16(nEZ), RES_MARGIN_FIRSTLINE);
261 SvxTextLeftMarginItem const leftMargin(sal_uInt16(nLeft), RES_MARGIN_TEXTLEFT);
262 rSet.Put(firstLine);
263 rSet.Put(leftMargin);
265 aUL.SetUpper( sal_uInt16(nUpper) );
266 aUL.SetLower( sal_uInt16(nLower) );
267 rSet.Put( aUL );
268
269 if( pColl )
271 }
272
273 void lcl_PutStdPageSizeIntoItemSet( SwDoc& rDoc, SfxItemSet& rSet )
274 {
276 SwFormatFrameSize aFrameSz( pStdPgDsc->GetMaster().GetFrameSize() );
277 if( pStdPgDsc->GetLandscape() )
278 {
279 SwTwips nTmp = aFrameSz.GetHeight();
280 aFrameSz.SetHeight( aFrameSz.GetWidth() );
281 aFrameSz.SetWidth( nTmp );
282 }
283 rSet.Put( aFrameSz );
284 }
285}
286
288{
289 // Category Text
290 STR_POOLCOLL_STANDARD,
291 STR_POOLCOLL_TEXT,
292 STR_POOLCOLL_TEXT_IDENT,
293 STR_POOLCOLL_TEXT_NEGIDENT,
294 STR_POOLCOLL_TEXT_MOVE,
295 STR_POOLCOLL_GREETING,
296 STR_POOLCOLL_SIGNATURE,
297 STR_POOLCOLL_CONFRONTATION,
298 STR_POOLCOLL_MARGINAL,
299 // Subcategory Headlines
300 STR_POOLCOLL_HEADLINE_BASE,
301 STR_POOLCOLL_HEADLINE1,
302 STR_POOLCOLL_HEADLINE2,
303 STR_POOLCOLL_HEADLINE3,
304 STR_POOLCOLL_HEADLINE4,
305 STR_POOLCOLL_HEADLINE5,
306 STR_POOLCOLL_HEADLINE6,
307 STR_POOLCOLL_HEADLINE7,
308 STR_POOLCOLL_HEADLINE8,
309 STR_POOLCOLL_HEADLINE9,
310 STR_POOLCOLL_HEADLINE10
311};
312
314{
315 // Category Lists
316 STR_POOLCOLL_NUMBER_BULLET_BASE,
317 // Subcategory Numbering
318 STR_POOLCOLL_NUM_LEVEL1S,
319 STR_POOLCOLL_NUM_LEVEL1,
320 STR_POOLCOLL_NUM_LEVEL1E,
321 STR_POOLCOLL_NUM_NONUM1,
322 STR_POOLCOLL_NUM_LEVEL2S,
323 STR_POOLCOLL_NUM_LEVEL2,
324 STR_POOLCOLL_NUM_LEVEL2E,
325 STR_POOLCOLL_NUM_NONUM2,
326 STR_POOLCOLL_NUM_LEVEL3S,
327 STR_POOLCOLL_NUM_LEVEL3,
328 STR_POOLCOLL_NUM_LEVEL3E,
329 STR_POOLCOLL_NUM_NONUM3,
330 STR_POOLCOLL_NUM_LEVEL4S,
331 STR_POOLCOLL_NUM_LEVEL4,
332 STR_POOLCOLL_NUM_LEVEL4E,
333 STR_POOLCOLL_NUM_NONUM4,
334 STR_POOLCOLL_NUM_LEVEL5S,
335 STR_POOLCOLL_NUM_LEVEL5,
336 STR_POOLCOLL_NUM_LEVEL5E,
337 STR_POOLCOLL_NUM_NONUM5,
338
339 // Subcategory Enumeration
340 STR_POOLCOLL_BULLET_LEVEL1S,
341 STR_POOLCOLL_BULLET_LEVEL1,
342 STR_POOLCOLL_BULLET_LEVEL1E,
343 STR_POOLCOLL_BULLET_NONUM1,
344 STR_POOLCOLL_BULLET_LEVEL2S,
345 STR_POOLCOLL_BULLET_LEVEL2,
346 STR_POOLCOLL_BULLET_LEVEL2E,
347 STR_POOLCOLL_BULLET_NONUM2,
348 STR_POOLCOLL_BULLET_LEVEL3S,
349 STR_POOLCOLL_BULLET_LEVEL3,
350 STR_POOLCOLL_BULLET_LEVEL3E,
351 STR_POOLCOLL_BULLET_NONUM3,
352 STR_POOLCOLL_BULLET_LEVEL4S,
353 STR_POOLCOLL_BULLET_LEVEL4,
354 STR_POOLCOLL_BULLET_LEVEL4E,
355 STR_POOLCOLL_BULLET_NONUM4,
356 STR_POOLCOLL_BULLET_LEVEL5S,
357 STR_POOLCOLL_BULLET_LEVEL5,
358 STR_POOLCOLL_BULLET_LEVEL5E,
359 STR_POOLCOLL_BULLET_NONUM5
360};
361
362// Special Areas
364{
365 // Subcategory Header
366 STR_POOLCOLL_HEADERFOOTER,
367 STR_POOLCOLL_HEADER,
368 STR_POOLCOLL_HEADERL,
369 STR_POOLCOLL_HEADERR,
370 // Subcategory Footer
371 STR_POOLCOLL_FOOTER,
372 STR_POOLCOLL_FOOTERL,
373 STR_POOLCOLL_FOOTERR,
374 // Subcategory Table
375 STR_POOLCOLL_TABLE,
376 STR_POOLCOLL_TABLE_HDLN,
377 // Subcategory Labels
378 STR_POOLCOLL_LABEL,
379 STR_POOLCOLL_LABEL_ABB,
380 STR_POOLCOLL_LABEL_TABLE,
381 STR_POOLCOLL_LABEL_FRAME,
382 STR_POOLCOLL_LABEL_FIGURE,
383 // Miscellaneous
384 STR_POOLCOLL_FRAME,
385 STR_POOLCOLL_FOOTNOTE,
386 STR_POOLCOLL_ENVELOPE_ADDRESS,
387 STR_POOLCOLL_SEND_ADDRESS,
388 STR_POOLCOLL_ENDNOTE,
389 STR_POOLCOLL_LABEL_DRAWING,
390 STR_POOLCOLL_COMMENT
391};
392
394{
395 // Category Directories
396 STR_POOLCOLL_REGISTER_BASE,
397 // Subcategory Index-Directories
398 STR_POOLCOLL_TOX_IDXH,
399 STR_POOLCOLL_TOX_IDX1,
400 STR_POOLCOLL_TOX_IDX2,
401 STR_POOLCOLL_TOX_IDX3,
402 STR_POOLCOLL_TOX_IDXBREAK,
403 // Subcategory Tables of Contents
404 STR_POOLCOLL_TOX_CNTNTH,
405 STR_POOLCOLL_TOX_CNTNT1,
406 STR_POOLCOLL_TOX_CNTNT2,
407 STR_POOLCOLL_TOX_CNTNT3,
408 STR_POOLCOLL_TOX_CNTNT4,
409 STR_POOLCOLL_TOX_CNTNT5,
410 // Subcategory User-Directories:
411 STR_POOLCOLL_TOX_USERH,
412 STR_POOLCOLL_TOX_USER1,
413 STR_POOLCOLL_TOX_USER2,
414 STR_POOLCOLL_TOX_USER3,
415 STR_POOLCOLL_TOX_USER4,
416 STR_POOLCOLL_TOX_USER5,
417 // Subcategory Table of Contents more Levels 5 - 10
418 STR_POOLCOLL_TOX_CNTNT6,
419 STR_POOLCOLL_TOX_CNTNT7,
420 STR_POOLCOLL_TOX_CNTNT8,
421 STR_POOLCOLL_TOX_CNTNT9,
422 STR_POOLCOLL_TOX_CNTNT10,
423 // Illustrations Index
424 STR_POOLCOLL_TOX_ILLUSH,
425 STR_POOLCOLL_TOX_ILLUS1,
426 // Object Index
427 STR_POOLCOLL_TOX_OBJECTH,
428 STR_POOLCOLL_TOX_OBJECT1,
429 // Tables Index
430 STR_POOLCOLL_TOX_TABLESH,
431 STR_POOLCOLL_TOX_TABLES1,
432 // Index of Authorities
433 STR_POOLCOLL_TOX_AUTHORITIESH,
434 STR_POOLCOLL_TOX_AUTHORITIES1,
435 // Subcategory User-Directories more Levels 5 - 10
436 STR_POOLCOLL_TOX_USER6,
437 STR_POOLCOLL_TOX_USER7,
438 STR_POOLCOLL_TOX_USER8,
439 STR_POOLCOLL_TOX_USER9,
440 STR_POOLCOLL_TOX_USER10
441};
442
444{
445 // Category Chapter/Document
446 STR_POOLCOLL_DOC_TITLE,
447 STR_POOLCOLL_DOC_SUBTITLE,
448 STR_POOLCOLL_DOC_APPENDIX
449};
450
452{
453 // Category HTML-Templates
454 STR_POOLCOLL_HTML_BLOCKQUOTE,
455 STR_POOLCOLL_HTML_PRE,
456 STR_POOLCOLL_HTML_HR,
457 STR_POOLCOLL_HTML_DD,
458 STR_POOLCOLL_HTML_DT
459};
460
462{
463 STR_POOLCHR_FOOTNOTE,
464 STR_POOLCHR_PAGENO,
465 STR_POOLCHR_LABEL,
466 STR_POOLCHR_DROPCAPS,
467 STR_POOLCHR_NUM_LEVEL,
468 STR_POOLCHR_BULLET_LEVEL,
469 STR_POOLCHR_INET_NORMAL,
470 STR_POOLCHR_INET_VISIT,
471 STR_POOLCHR_JUMPEDIT,
472 STR_POOLCHR_TOXJUMP,
473 STR_POOLCHR_ENDNOTE,
474 STR_POOLCHR_LINENUM,
475 STR_POOLCHR_IDX_MAIN_ENTRY,
476 STR_POOLCHR_FOOTNOTE_ANCHOR,
477 STR_POOLCHR_ENDNOTE_ANCHOR,
478 STR_POOLCHR_RUBYTEXT,
479 STR_POOLCHR_VERT_NUM
480};
481
483{
484 STR_POOLCHR_HTML_EMPHASIS,
485 STR_POOLCHR_HTML_CITATION,
486 STR_POOLCHR_HTML_STRONG,
487 STR_POOLCHR_HTML_CODE,
488 STR_POOLCHR_HTML_SAMPLE,
489 STR_POOLCHR_HTML_KEYBOARD,
490 STR_POOLCHR_HTML_VARIABLE,
491 STR_POOLCHR_HTML_DEFINSTANCE,
492 STR_POOLCHR_HTML_TELETYPE
493};
494
496{
497 STR_POOLFRM_FRAME,
498 STR_POOLFRM_GRAPHIC,
499 STR_POOLFRM_OLE,
500 STR_POOLFRM_FORMEL,
501 STR_POOLFRM_MARGINAL,
502 STR_POOLFRM_WATERSIGN,
503 STR_POOLFRM_LABEL
504};
505
507{
508 // Page styles
509 STR_POOLPAGE_STANDARD,
510 STR_POOLPAGE_FIRST,
511 STR_POOLPAGE_LEFT,
512 STR_POOLPAGE_RIGHT,
513 STR_POOLPAGE_ENVELOPE,
514 STR_POOLPAGE_REGISTER,
515 STR_POOLPAGE_HTML,
516 STR_POOLPAGE_FOOTNOTE,
517 STR_POOLPAGE_ENDNOTE,
518 STR_POOLPAGE_LANDSCAPE
519};
520
522{
523 // Numbering styles
524 STR_POOLNUMRULE_NOLIST,
525 STR_POOLNUMRULE_NUM1,
526 STR_POOLNUMRULE_NUM2,
527 STR_POOLNUMRULE_NUM3,
528 STR_POOLNUMRULE_NUM4,
529 STR_POOLNUMRULE_NUM5,
530 STR_POOLNUMRULE_BUL1,
531 STR_POOLNUMRULE_BUL2,
532 STR_POOLNUMRULE_BUL3,
533 STR_POOLNUMRULE_BUL4,
534 STR_POOLNUMRULE_BUL5
535};
536
537// XXX MUST match the entries of TableStyleProgNameTable in
538// sw/source/core/doc/SwStyleNameMapper.cxx and MUST match the order of
539// RES_POOL_TABLESTYLE_TYPE in sw/inc/poolfmt.hxx
541{
542 // XXX MUST be in order, Writer first, then Svx old, then Svx new
543 // 1 Writer resource string
544 STR_TABSTYLE_DEFAULT,
545 // 16 old styles Svx resource strings
546 RID_SVXSTR_TBLAFMT_3D,
547 RID_SVXSTR_TBLAFMT_BLACK1,
548 RID_SVXSTR_TBLAFMT_BLACK2,
549 RID_SVXSTR_TBLAFMT_BLUE,
550 RID_SVXSTR_TBLAFMT_BROWN,
551 RID_SVXSTR_TBLAFMT_CURRENCY,
552 RID_SVXSTR_TBLAFMT_CURRENCY_3D,
553 RID_SVXSTR_TBLAFMT_CURRENCY_GRAY,
554 RID_SVXSTR_TBLAFMT_CURRENCY_LAVENDER,
555 RID_SVXSTR_TBLAFMT_CURRENCY_TURQUOISE,
556 RID_SVXSTR_TBLAFMT_GRAY,
557 RID_SVXSTR_TBLAFMT_GREEN,
558 RID_SVXSTR_TBLAFMT_LAVENDER,
559 RID_SVXSTR_TBLAFMT_RED,
560 RID_SVXSTR_TBLAFMT_TURQUOISE,
561 RID_SVXSTR_TBLAFMT_YELLOW,
562 // 10 new styles since LibreOffice 6.0 Svx resource strings
563 RID_SVXSTR_TBLAFMT_LO6_ACADEMIC,
564 RID_SVXSTR_TBLAFMT_LO6_BOX_LIST_BLUE,
565 RID_SVXSTR_TBLAFMT_LO6_BOX_LIST_GREEN,
566 RID_SVXSTR_TBLAFMT_LO6_BOX_LIST_RED,
567 RID_SVXSTR_TBLAFMT_LO6_BOX_LIST_YELLOW,
568 RID_SVXSTR_TBLAFMT_LO6_ELEGANT,
569 RID_SVXSTR_TBLAFMT_LO6_FINANCIAL,
570 RID_SVXSTR_TBLAFMT_LO6_SIMPLE_GRID_COLUMNS,
571 RID_SVXSTR_TBLAFMT_LO6_SIMPLE_GRID_ROWS,
572 RID_SVXSTR_TBLAFMT_LO6_SIMPLE_LIST_SHADED
573};
574
575namespace sw
576{
577
579{
580}
581
583{
584 OSL_ENSURE(
591 "Wrong AutoFormat Id" );
592
593 SwTextFormatColl* pNewColl;
594 sal_uInt16 nOutLvlBits = 0;
595
596 for (size_t n = 0, nSize = m_rDoc.GetTextFormatColls()->size(); n < nSize; ++n)
597 {
598 pNewColl = (*m_rDoc.GetTextFormatColls())[ n ];
599 if( nId == pNewColl->GetPoolFormatId() )
600 {
601 // in online we can have multiple languages, use translated name
603 {
604 OUString aName;
606 if (!aName.isEmpty())
607 pNewColl->SetFormatName(aName);
608 }
609
610 return pNewColl;
611 }
612
614 nOutLvlBits |= ( 1 << pNewColl->GetAssignedOutlineStyleLevel() );
615 }
616
617 // Didn't find it until here -> create anew
618 TranslateId pResId;
620 {
621 static_assert(SAL_N_ELEMENTS(STR_POOLCOLL_TEXT_ARY) == RES_POOLCOLL_TEXT_END - RES_POOLCOLL_TEXT_BEGIN, "### unexpected size!");
623 }
625 {
628 }
630 {
633 }
635 {
638 }
640 {
641 static_assert(SAL_N_ELEMENTS(STR_POOLCOLL_DOC_ARY) == RES_POOLCOLL_DOC_END - RES_POOLCOLL_DOC_BEGIN, "### unexpected size!");
643 }
645 {
646 static_assert(SAL_N_ELEMENTS(STR_POOLCOLL_HTML_ARY) == RES_POOLCOLL_HTML_END - RES_POOLCOLL_HTML_BEGIN, "### unexpected size!");
648 }
649
650 OSL_ENSURE(pResId, "Invalid Pool ID");
651 if (!pResId)
653
654 OUString aNm(SwResId(pResId));
655
656 // A Set for all to-be-set Attributes
658 sal_uInt16 nParent = GetPoolParent( nId );
659
660 {
661
663 pNewColl = new SwConditionTextFormatColl( m_rDoc.GetAttrPool(), aNm, !nParent
665 : GetTextCollFromPool( nParent ));
666 else
667 pNewColl = new SwTextFormatColl( m_rDoc.GetAttrPool(), aNm, !nParent
669 : GetTextCollFromPool( nParent ));
670 pNewColl->SetPoolFormatId( nId );
671 m_rDoc.GetTextFormatColls()->push_back( pNewColl );
672 }
673
675 if ( !bNoDefault )
676 {
677 switch( nId )
678 {
679 // General content forms
681 /* koreans do not like SvxScriptItem(TRUE) */
682 if (bRegardLanguage)
683 {
684 LanguageType nAppLanguage = GetAppLanguage();
685 if (GetDefaultFrameDirection(nAppLanguage) ==
686 SvxFrameDirection::Horizontal_RL_TB)
687 {
688 SvxAdjustItem aAdjust(SvxAdjust::Right, RES_PARATR_ADJUST );
689 aSet.Put(aAdjust);
690 }
691 if (nAppLanguage == LANGUAGE_KOREAN)
692 {
693 SvxScriptSpaceItem aScriptSpace(false, RES_PARATR_SCRIPTSPACE);
694 aSet.Put(aScriptSpace);
695 }
696 }
697 break;
698
699 case RES_POOLCOLL_TEXT: // Text body
700 {
702 SvxULSpaceItem aUL( 0, PT_7, RES_UL_SPACE );
703 aLSpc.SetPropLineSpace( 115 );
705 aSet.Put( aUL );
706 aSet.Put( aLSpc );
707 }
708 break;
709 case RES_POOLCOLL_TEXT_IDENT: // Text body indentation
710 {
713 SvxTextLeftMarginItem const leftMargin(0, RES_MARGIN_TEXTLEFT);
714 aSet.Put(firstLine);
715 aSet.Put(leftMargin);
716 }
717 break;
718 case RES_POOLCOLL_TEXT_NEGIDENT: // Text body neg. indentation
719 {
724 aSet.Put(firstLine);
725 aSet.Put(leftMargin);
726
728 aTStops.Insert( SvxTabStop( 0 ));
729 aSet.Put( aTStops );
730 }
731 break;
732 case RES_POOLCOLL_TEXT_MOVE: // Text body move
733 {
737 aSet.Put(firstLine);
738 aSet.Put(leftMargin);
739 }
740 break;
741
742 case RES_POOLCOLL_CONFRONTATION: // Text body confrontation
743 {
748 aSet.Put(firstLine);
749 aSet.Put(leftMargin);
750
752 aTStops.Insert( SvxTabStop( 0 ));
753 aSet.Put( aTStops );
754 }
755 break;
756 case RES_POOLCOLL_MARGINAL: // Text body marginal
757 {
761 aSet.Put(firstLine);
762 aSet.Put(leftMargin);
763 }
764 break;
765
766 case RES_POOLCOLL_HEADLINE_BASE: // Base headline
767 {
768 static const sal_uInt16 aFontWhich[] =
772 };
773 static const sal_uInt16 aLangTypes[] =
774 {
778 };
779 static const LanguageType aLangs[] =
780 {
784 };
785 static const DefaultFontType nFontTypes[] =
786 {
787 DefaultFontType::LATIN_HEADING,
788 DefaultFontType::CJK_HEADING,
789 DefaultFontType::CTL_HEADING
790 };
791
792 for( int i = 0; i < 3; ++i )
793 {
794 LanguageType nLng = static_cast<const SvxLanguageItem&>(m_rDoc.GetDefault( aLangTypes[i] )).GetLanguage();
795 if( LANGUAGE_DONTKNOW == nLng )
796 nLng = aLangs[i];
797
798 vcl::Font aFnt( OutputDevice::GetDefaultFont( nFontTypes[i],
799 nLng, GetDefaultFontFlags::OnlyOne ) );
800
801 aSet.Put( SvxFontItem( aFnt.GetFamilyType(), aFnt.GetFamilyName(),
802 OUString(), aFnt.GetPitch(),
803 aFnt.GetCharSet(), aFontWhich[i] ));
804 }
805
806 SvxFontHeightItem aFntSize( PT_14, 100, RES_CHRATR_FONTSIZE );
807 SvxULSpaceItem aUL( PT_12, PT_6, RES_UL_SPACE );
809 aUL.SetLower( HTML_PARSPACE );
810 aSet.Put( SvxFormatKeepItem( true, RES_KEEP ));
811
813
814 aSet.Put( aUL );
815 SetAllScriptItem( aSet, aFntSize );
816 }
817 break;
818
819 case RES_POOLCOLL_NUMBER_BULLET_BASE: // Base Numbering
820 break;
821
822 case RES_POOLCOLL_GREETING: // Greeting
823 case RES_POOLCOLL_REGISTER_BASE: // Base indexes
824 case RES_POOLCOLL_SIGNATURE: // Signatures
825 case RES_POOLCOLL_TABLE: // Table content
826 {
828 aLN.SetCountLines( false );
829 aSet.Put( aLN );
830 if (nId == RES_POOLCOLL_TABLE)
831 {
832 aSet.Put( SvxWidowsItem( 0, RES_PARATR_WIDOWS ) );
834 }
835 }
836 break;
837
838 case RES_POOLCOLL_HEADLINE1: // Heading 1
839 {
840 SvxULSpaceItem aUL( PT_12, PT_6, RES_UL_SPACE );
841 aSet.Put( aUL );
842 lcl_SetHeadline( m_rDoc, pNewColl, aSet, nOutLvlBits, 0, false );
843 }
844 break;
845 case RES_POOLCOLL_HEADLINE2: // Heading 2
846 {
847 SvxULSpaceItem aUL( PT_10, PT_6, RES_UL_SPACE );
848 aSet.Put( aUL );
849 lcl_SetHeadline( m_rDoc, pNewColl, aSet, nOutLvlBits, 1, false );
850 }
851 break;
852 case RES_POOLCOLL_HEADLINE3: // Heading 3
853 {
854 SvxULSpaceItem aUL( PT_7, PT_6, RES_UL_SPACE );
855 aSet.Put( aUL );
856 lcl_SetHeadline( m_rDoc, pNewColl, aSet, nOutLvlBits, 2, false );
857 }
858 break;
859 case RES_POOLCOLL_HEADLINE4: // Heading 4
860 {
861 SvxULSpaceItem aUL( PT_6, PT_6, RES_UL_SPACE );
862 aSet.Put( aUL );
863 lcl_SetHeadline( m_rDoc, pNewColl, aSet, nOutLvlBits, 3, true );
864 }
865 break;
866 case RES_POOLCOLL_HEADLINE5: // Heading 5
867 {
868 SvxULSpaceItem aUL( PT_6, PT_3, RES_UL_SPACE );
869 aSet.Put( aUL );
870 lcl_SetHeadline( m_rDoc, pNewColl, aSet, nOutLvlBits, 4, false );
871 }
872 break;
873 case RES_POOLCOLL_HEADLINE6: // Heading 6
874 {
875 SvxULSpaceItem aUL( PT_3, PT_3, RES_UL_SPACE );
876 aSet.Put( aUL );
877 lcl_SetHeadline( m_rDoc, pNewColl, aSet, nOutLvlBits, 5, true );
878 }
879 break;
880 case RES_POOLCOLL_HEADLINE7: // Heading 7
881 {
882 SvxULSpaceItem aUL( PT_3, PT_3, RES_UL_SPACE );
883 aSet.Put( aUL );
884 lcl_SetHeadline( m_rDoc, pNewColl, aSet, nOutLvlBits, 6, false );
885 }
886 break;
887 case RES_POOLCOLL_HEADLINE8: // Heading 8
888 {
889 SvxULSpaceItem aUL( PT_3, PT_3, RES_UL_SPACE );
890 aSet.Put( aUL );
891 lcl_SetHeadline( m_rDoc, pNewColl, aSet, nOutLvlBits, 7, true );
892 }
893 break;
894 case RES_POOLCOLL_HEADLINE9: // Heading 9
895 {
896 SvxULSpaceItem aUL( PT_3, PT_3, RES_UL_SPACE );
897 aSet.Put( aUL );
898 lcl_SetHeadline( m_rDoc, pNewColl, aSet, nOutLvlBits, 8, false );
899 }
900 break;
901 case RES_POOLCOLL_HEADLINE10: // Heading 10
902 {
903 SvxULSpaceItem aUL( PT_3, PT_3, RES_UL_SPACE );
904 aSet.Put( aUL );
905 lcl_SetHeadline( m_rDoc, pNewColl, aSet, nOutLvlBits, 9, false );
906 }
907 break;
908
909 // Special sections:
910 // Header
915 // Footer
919 {
921 aLN.SetCountLines( false );
922 aSet.Put( aLN );
923
924 tools::Long nRightMargin = lcl_GetRightMargin( m_rDoc );
925
926 SvxTabStopItem aTStops( 0, 0, SvxTabAdjust::Default, RES_PARATR_TABSTOP );
927 aTStops.Insert( SvxTabStop( nRightMargin / 2, SvxTabAdjust::Center ) );
928 aTStops.Insert( SvxTabStop( nRightMargin, SvxTabAdjust::Right ) );
929
930 aSet.Put( aTStops );
931
933 SvxAdjustItem aAdjust(SvxAdjust::Right, RES_PARATR_ADJUST );
934 aSet.Put(aAdjust);
935 }
936 }
937 break;
938
940 {
942 aSet.Put( SvxAdjustItem( SvxAdjust::Center, RES_PARATR_ADJUST ) );
944 aLN.SetCountLines( false );
945 aSet.Put( aLN );
946 }
947 break;
948
949 case RES_POOLCOLL_FOOTNOTE: // paragraph style Footnote
950 case RES_POOLCOLL_ENDNOTE: // paragraph style Endnote
951 {
956 aSet.Put(firstLine);
957 aSet.Put(leftMargin);
958
961 aLN.SetCountLines( false );
962 aSet.Put( aLN );
963 }
964 break;
965
966 case RES_POOLCOLL_LABEL: // basic caption
967 {
969 aUL.SetUpper( PT_6 );
970 aUL.SetLower( PT_6 );
971 aSet.Put( aUL );
975 aLN.SetCountLines( false );
976 aSet.Put( aLN );
977 }
978 break;
979
980 case RES_POOLCOLL_FRAME: // Frame content
981 case RES_POOLCOLL_LABEL_ABB: // caption image
982 case RES_POOLCOLL_LABEL_TABLE: // caption table
983 case RES_POOLCOLL_LABEL_FRAME: // caption frame
984 case RES_POOLCOLL_LABEL_DRAWING: // caption drawing
986 break;
987
988 case RES_POOLCOLL_ENVELOPE_ADDRESS: // envelope address
989 {
991 aUL.SetLower( PT_3 );
992 aSet.Put( aUL );
994 aLN.SetCountLines( false );
995 aSet.Put( aLN );
996 }
997 break;
998
999 case RES_POOLCOLL_SEND_ADDRESS: // Sender address
1000 {
1003 else
1004 {
1005 SvxULSpaceItem aUL( RES_UL_SPACE ); aUL.SetLower( PT_3 );
1006 aSet.Put( aUL );
1007 }
1009 aLN.SetCountLines( false );
1010 aSet.Put( aLN );
1011 }
1012 break;
1013
1014 case RES_POOLCOLL_COMMENT: // Comment
1015 {
1017 }
1018 break;
1019
1020 // User defined indexes:
1021 case RES_POOLCOLL_TOX_USERH: // Header
1022 lcl_SetRegister( m_rDoc, aSet, 0, true, false );
1023 {
1025 aLN.SetCountLines( false );
1026 aSet.Put( aLN );
1027 }
1028 break;
1029 case RES_POOLCOLL_TOX_USER1: // 1st level
1030 lcl_SetRegister( m_rDoc, aSet, 0, false, true );
1031 break;
1032 case RES_POOLCOLL_TOX_USER2: // 2nd level
1033 lcl_SetRegister( m_rDoc, aSet, 1, false, true );
1034 break;
1035 case RES_POOLCOLL_TOX_USER3: // 3rd level
1036 lcl_SetRegister( m_rDoc, aSet, 2, false, true );
1037 break;
1038 case RES_POOLCOLL_TOX_USER4: // 4th level
1039 lcl_SetRegister( m_rDoc, aSet, 3, false, true );
1040 break;
1041 case RES_POOLCOLL_TOX_USER5: // 5th level
1042 lcl_SetRegister( m_rDoc, aSet, 4, false, true );
1043 break;
1044 case RES_POOLCOLL_TOX_USER6: // 6th level
1045 lcl_SetRegister( m_rDoc, aSet, 5, false, true );
1046 break;
1047 case RES_POOLCOLL_TOX_USER7: // 7th level
1048 lcl_SetRegister( m_rDoc, aSet, 6, false, true );
1049 break;
1050 case RES_POOLCOLL_TOX_USER8: // 8th level
1051 lcl_SetRegister( m_rDoc, aSet, 7, false, true );
1052 break;
1053 case RES_POOLCOLL_TOX_USER9: // 9th level
1054 lcl_SetRegister( m_rDoc, aSet, 8, false, true );
1055 break;
1056 case RES_POOLCOLL_TOX_USER10: // 10th level
1057 lcl_SetRegister( m_rDoc, aSet, 9, false, true );
1058 break;
1059
1060 // Index
1061 case RES_POOLCOLL_TOX_IDXH: // Header
1062 lcl_SetRegister( m_rDoc, aSet, 0, true, false );
1063 {
1065 aLN.SetCountLines( false );
1066 aSet.Put( aLN );
1067 }
1068 break;
1069 case RES_POOLCOLL_TOX_IDX1: // 1st level
1070 lcl_SetRegister( m_rDoc, aSet, 0, false, false );
1071 break;
1072 case RES_POOLCOLL_TOX_IDX2: // 2nd level
1073 lcl_SetRegister( m_rDoc, aSet, 1, false, false );
1074 break;
1075 case RES_POOLCOLL_TOX_IDX3: // 3rd level
1076 lcl_SetRegister( m_rDoc, aSet, 2, false, false );
1077 break;
1078 case RES_POOLCOLL_TOX_IDXBREAK: // Separator
1079 lcl_SetRegister( m_rDoc, aSet, 0, false, false );
1080 break;
1081
1082 // Table of Content
1083 case RES_POOLCOLL_TOX_CNTNTH: // Header
1084 lcl_SetRegister( m_rDoc, aSet, 0, true, false );
1085 {
1087 aLN.SetCountLines( false );
1088 aSet.Put( aLN );
1089 }
1090 break;
1091 case RES_POOLCOLL_TOX_CNTNT1: // 1st level
1092 lcl_SetRegister( m_rDoc, aSet, 0, false, true );
1093 break;
1094 case RES_POOLCOLL_TOX_CNTNT2: // 2nd level
1095 lcl_SetRegister( m_rDoc, aSet, 1, false, true );
1096 break;
1097 case RES_POOLCOLL_TOX_CNTNT3: // 3rd level
1098 lcl_SetRegister( m_rDoc, aSet, 2, false, true );
1099 break;
1100 case RES_POOLCOLL_TOX_CNTNT4: // 4th level
1101 lcl_SetRegister( m_rDoc, aSet, 3, false, true );
1102 break;
1103 case RES_POOLCOLL_TOX_CNTNT5: // 5th level
1104 lcl_SetRegister( m_rDoc, aSet, 4, false, true );
1105 break;
1106 case RES_POOLCOLL_TOX_CNTNT6: // 6th level
1107 lcl_SetRegister( m_rDoc, aSet, 5, false, true );
1108 break;
1109 case RES_POOLCOLL_TOX_CNTNT7: // 7th level
1110 lcl_SetRegister( m_rDoc, aSet, 6, false, true );
1111 break;
1112 case RES_POOLCOLL_TOX_CNTNT8: // 8th level
1113 lcl_SetRegister( m_rDoc, aSet, 7, false, true );
1114 break;
1115 case RES_POOLCOLL_TOX_CNTNT9: // 9th level
1116 lcl_SetRegister( m_rDoc, aSet, 8, false, true );
1117 break;
1118 case RES_POOLCOLL_TOX_CNTNT10: // 10th level
1119 lcl_SetRegister( m_rDoc, aSet, 9, false, true );
1120 break;
1121
1126 lcl_SetRegister( m_rDoc, aSet, 0, true, false );
1127 {
1129 aLN.SetCountLines( false );
1130 aSet.Put( aLN );
1131 }
1132 break;
1137 lcl_SetRegister( m_rDoc, aSet, 0, false, true );
1138 break;
1139
1141 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL1,
1143 PT_12, PT_6 );
1144 break;
1146 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL1,
1148 0, PT_6 );
1149 break;
1151 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL1,
1153 0, PT_12 );
1154 break;
1156 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM1,
1157 0, SwNumRule::GetNumIndent( 0 ), 0, PT_6 );
1158 break;
1160 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL2,
1162 PT_12, PT_6 );
1163 break;
1165 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL2,
1167 0, PT_6 );
1168 break;
1170 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL2,
1172 0, PT_12 );
1173 break;
1175 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM2,
1176 0, SwNumRule::GetNumIndent( 1 ), 0, PT_6 );
1177 break;
1179 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL3,
1181 PT_12, PT_6 );
1182 break;
1184 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL3,
1186 0, PT_6 );
1187 break;
1189 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL3,
1191 0, PT_12 );
1192 break;
1194 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM3,
1195 0, SwNumRule::GetNumIndent( 2 ), 0, PT_6 );
1196 break;
1198 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL4,
1200 PT_12, PT_6 );
1201 break;
1203 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL4,
1205 0, PT_6 );
1206 break;
1208 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL4,
1210 0, PT_12 );
1211 break;
1213 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM4,
1214 0, SwNumRule::GetNumIndent( 3 ), 0, PT_6 );
1215 break;
1217 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL5,
1219 PT_12, PT_6 );
1220 break;
1222 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL5,
1224 0, PT_6 );
1225 break;
1227 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_LEVEL5,
1229 0, PT_12 );
1230 break;
1232 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_NUM_NONUM5,
1233 0, SwNumRule::GetNumIndent( 4 ), 0, PT_6 );
1234 break;
1235
1237 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL1,
1239 PT_12, PT_6 );
1240 break;
1242 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL1,
1244 0, PT_6 );
1245 break;
1247 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL1,
1249 0, PT_12 );
1250 break;
1252 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_NONUM1,
1253 0, SwNumRule::GetBullIndent( 0 ), 0, PT_6 );
1254 break;
1256 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL2,
1258 PT_12, PT_6 );
1259 break;
1261 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL2,
1263 0, PT_6 );
1264 break;
1266 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL2,
1268 0, PT_12 );
1269 break;
1271 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_NONUM2,
1272 0, SwNumRule::GetBullIndent( 1 ), 0, PT_6 );
1273 break;
1275 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL3,
1277 PT_12, PT_6 );
1278 break;
1280 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL3,
1282 0, PT_6 );
1283 break;
1285 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL3,
1287 0, PT_12 );
1288 break;
1290 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_NONUM3,
1291 0, SwNumRule::GetBullIndent( 2 ), 0, PT_6 );
1292 break;
1294 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL4,
1296 PT_12, PT_6 );
1297 break;
1299 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL4,
1301 0, PT_6 );
1302 break;
1304 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL4,
1306 0, PT_12 );
1307 break;
1309 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_NONUM4,
1310 0, SwNumRule::GetBullIndent( 3 ), 0, PT_6 );
1311 break;
1313 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL5,
1315 PT_12, PT_6 );
1316 break;
1318 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL5,
1320 0, PT_6 );
1321 break;
1323 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_LEVEL5,
1325 0, PT_12 );
1326 break;
1328 lcl_SetNumBul( m_rDoc, pNewColl, aSet, RES_POOLCOLL_BULLET_NONUM5,
1329 0, SwNumRule::GetBullIndent( 4 ), 0, PT_6 );
1330 break;
1331
1332 case RES_POOLCOLL_DOC_TITLE: // Document Title
1333 {
1336
1337 aSet.Put( SvxAdjustItem( SvxAdjust::Center, RES_PARATR_ADJUST ) );
1338
1340 }
1341 break;
1342
1343 case RES_POOLCOLL_DOC_SUBTITLE: // Document subtitle
1344 {
1345 SvxULSpaceItem aUL( PT_3, PT_6, RES_UL_SPACE );
1346 aSet.Put( aUL );
1348
1349 aSet.Put( SvxAdjustItem( SvxAdjust::Center, RES_PARATR_ADJUST ));
1350
1352 }
1353 break;
1354
1355 case RES_POOLCOLL_DOC_APPENDIX: // Document Appendix tdf#114090
1356 {
1359
1360 aSet.Put( SvxAdjustItem( SvxAdjust::Center, RES_PARATR_ADJUST ) );
1361
1363 }
1364 break;
1365
1367 {
1370 SvxFirstLineIndentItem const firstLine(0, RES_MARGIN_FIRSTLINE);
1372 SvxRightMarginItem const rightMargin(right, RES_MARGIN_RIGHT);
1373 aSet.Put(firstLine);
1374 aSet.Put(leftMargin);
1375 aSet.Put(rightMargin);
1376
1377 std::unique_ptr<SvxULSpaceItem> aUL(pNewColl->GetULSpace().Clone());
1378 aUL->SetLower( HTML_PARSPACE );
1379 aSet.Put(std::move(aUL));
1380 }
1381 break;
1382
1384 {
1385 ::lcl_SetDfltFont( DefaultFontType::FIXED, aSet );
1386
1387 // WORKAROUND: Set PRE to 10pt
1389
1390 // The lower paragraph distance is set explicitly (makes
1391 // assigning hard attributes easier)
1392 std::unique_ptr<SvxULSpaceItem> aULSpaceItem(pNewColl->GetULSpace().Clone());
1393 aULSpaceItem->SetLower( 0 );
1394 aSet.Put(std::move(aULSpaceItem));
1395 }
1396 break;
1397
1399 {
1400 SvxBoxItem aBox( RES_BOX );
1401 Color aColor( COL_GRAY );
1402 SvxBorderLine aNew(&aColor, 3, SvxBorderLineStyle::DOUBLE);
1403 aBox.SetLine( &aNew, SvxBoxItemLine::BOTTOM );
1404
1405 aSet.Put( aBox );
1406 aSet.Put( SwParaConnectBorderItem( false ) );
1408
1409 std::unique_ptr<SvxULSpaceItem> aUL;
1410 {
1412 aUL.reset(pNewColl->GetULSpace().Clone());
1413 }
1414 aUL->SetLower( HTML_PARSPACE );
1415 aSet.Put(std::move(aUL));
1417 aLN.SetCountLines( false );
1418 aSet.Put( aLN );
1419 }
1420 break;
1421
1423 {
1424 // We indent by 1 cm. The IDs are always 2 away from each other!
1427 aSet.Put(leftMargin);
1428 }
1429 break;
1431 {
1432 {
1434 }
1435 // We indent by 0 cm. The IDs are always 2 away from each other!
1436 SvxTextLeftMarginItem const leftMargin(0, RES_MARGIN_TEXTLEFT);
1437 aSet.Put(leftMargin);
1438 }
1439 break;
1440 }
1441 }
1442
1443 if( aSet.Count() )
1444 pNewColl->SetFormatAttr( aSet );
1445 return pNewColl;
1446}
1447
1451{
1452 SwFormat *pNewFormat = nullptr;
1453 SwFormat *pDeriveFormat = nullptr;
1454
1455 SwFormatsBase* pArray[ 2 ];
1456 sal_uInt16 nArrCnt = 1;
1457 TranslateId pRCId;
1458 WhichRangesContainer const* pWhichRange;
1459
1461 {
1462 case POOLGRP_CHARFMT:
1463 {
1464 pArray[0] = m_rDoc.GetCharFormats();
1465 pDeriveFormat = m_rDoc.GetDfltCharFormat();
1466 pWhichRange = &aCharFormatSetRange;
1467
1472 else
1473 {
1474 // Fault: unknown Format, but a CharFormat -> return the first one
1475 OSL_ENSURE( false, "invalid Id" );
1476 pRCId = STR_POOLCHR_ARY[0];
1477 }
1478 }
1479 break;
1480 case POOLGRP_FRAMEFMT:
1481 {
1482 pArray[0] = m_rDoc.GetFrameFormats();
1483 pArray[1] = m_rDoc.GetSpzFrameFormats();
1484 pDeriveFormat = m_rDoc.GetDfltFrameFormat();
1485 nArrCnt = 2;
1486 pWhichRange = &aFrameFormatSetRange;
1487
1488 // Fault: unknown Format, but a FrameFormat
1489 // -> return the first one
1491 {
1492 OSL_ENSURE( false, "invalid Id" );
1494 }
1495
1497 }
1498 break;
1499
1500 default:
1501 // Fault, unknown Format
1502 OSL_ENSURE( nId, "invalid Id" );
1503 return nullptr;
1504 }
1505 OSL_ENSURE(pRCId, "invalid Id");
1506
1507 while( nArrCnt-- )
1508 for( size_t n = 0; n < (*pArray[nArrCnt]).GetFormatCount(); ++n )
1509 {
1510 pNewFormat = (*pArray[ nArrCnt ] ).GetFormat( n );
1511 if( nId == pNewFormat->GetPoolFormatId() )
1512 {
1513 return pNewFormat;
1514 }
1515 }
1516
1517 OUString aNm(SwResId(pRCId));
1518 SwAttrSet aSet(m_rDoc.GetAttrPool(), *pWhichRange);
1519
1520 {
1521 bool bIsModified = m_rDoc.getIDocumentState().IsModified();
1522
1523 {
1524 ::sw::UndoGuard const undoGuard(m_rDoc.GetIDocumentUndoRedo());
1526 {
1527 case POOLGRP_CHARFMT:
1528 pNewFormat = m_rDoc.MakeCharFormat_(aNm, pDeriveFormat, false, true);
1529 break;
1530 case POOLGRP_FRAMEFMT:
1531 pNewFormat = m_rDoc.MakeFrameFormat_(aNm, pDeriveFormat, false, true);
1532 break;
1533 default:
1534 break;
1535 }
1536 }
1537
1538 if( !bIsModified )
1540 pNewFormat->SetPoolFormatId( nId );
1541 pNewFormat->SetAuto(false); // no AutoFormat
1542 }
1543
1544 switch( nId )
1545 {
1546 case RES_POOLCHR_FOOTNOTE: // Footnote
1547 case RES_POOLCHR_PAGENO: // Page/Field
1548 case RES_POOLCHR_LABEL: // Label
1549 case RES_POOLCHR_DROPCAPS: // Dropcaps
1550 case RES_POOLCHR_NUM_LEVEL: // Numbering level
1551 case RES_POOLCHR_TOXJUMP: // Table of contents jump
1552 case RES_POOLCHR_ENDNOTE: // Endnote
1553 case RES_POOLCHR_LINENUM: // Line numbering
1554 break;
1555
1556 case RES_POOLCHR_ENDNOTE_ANCHOR: // Endnote anchor
1557 case RES_POOLCHR_FOOTNOTE_ANCHOR: // Footnote anchor
1558 {
1560 }
1561 break;
1562
1563 case RES_POOLCHR_BULLET_LEVEL: // Bullet character
1564 {
1565 const vcl::Font& rBulletFont = numfunc::GetDefBulletFont();
1566 SetAllScriptItem( aSet, SvxFontItem( rBulletFont.GetFamilyType(),
1567 rBulletFont.GetFamilyName(), rBulletFont.GetStyleName(),
1568 rBulletFont.GetPitch(), rBulletFont.GetCharSet(), RES_CHRATR_FONT ));
1569 }
1570 break;
1571
1573 {
1576 }
1577 break;
1579 {
1582 }
1583 break;
1585 {
1588 aSet.Put( SvxCaseMapItem( SvxCaseMap::SmallCaps, RES_CHRATR_CASEMAP ) );
1589 }
1590 break;
1591
1593 {
1594 tools::Long nH = GetDfltAttr( RES_CHRATR_CJK_FONTSIZE )->GetHeight() / 2;
1597 aSet.Put(SvxEmphasisMarkItem( FontEmphasisMark::NONE, RES_CHRATR_EMPHASIS_MARK) );
1598 }
1599 break;
1600
1604 {
1606 }
1607 break;
1608
1611 {
1613 }
1614 break;
1615
1620 {
1621 ::lcl_SetDfltFont( DefaultFontType::FIXED, aSet );
1622 }
1623 break;
1625 aSet.Put( SvxCharRotateItem( 900_deg10, false, RES_CHRATR_ROTATE ) );
1626 break;
1627
1628 case RES_POOLFRM_FRAME:
1629 {
1631 {
1632 aSet.Put( SwFormatAnchor( RndStdIds::FLY_AS_CHAR ));
1633 aSet.Put( SwFormatVertOrient( 0, text::VertOrientation::LINE_CENTER, text::RelOrientation::PRINT_AREA ) );
1634 aSet.Put( SwFormatSurround( css::text::WrapTextMode_NONE ) );
1635 }
1636 else
1637 {
1638 aSet.Put( SwFormatAnchor( RndStdIds::FLY_AT_PARA ));
1639 aSet.Put( SwFormatSurround( css::text::WrapTextMode_PARALLEL ) );
1640 aSet.Put( SwFormatHoriOrient( 0, text::HoriOrientation::CENTER, text::RelOrientation::PRINT_AREA ) );
1641 aSet.Put( SwFormatVertOrient( 0, text::VertOrientation::TOP, text::RelOrientation::PRINT_AREA ) );
1642 Color aCol( COL_BLACK );
1643 SvxBorderLine aLine( &aCol, SvxBorderLineWidth::Hairline );
1644 SvxBoxItem aBox( RES_BOX );
1645 aBox.SetLine( &aLine, SvxBoxItemLine::TOP );
1646 aBox.SetLine( &aLine, SvxBoxItemLine::BOTTOM );
1647 aBox.SetLine( &aLine, SvxBoxItemLine::LEFT );
1648 aBox.SetLine( &aLine, SvxBoxItemLine::RIGHT );
1649 aBox.SetAllDistances( 85 );
1650 aSet.Put( aBox );
1651 aSet.Put( SvxLRSpaceItem( 114, 114, 0, RES_LR_SPACE ) );
1652 aSet.Put( SvxULSpaceItem( 114, 114, RES_UL_SPACE ) );
1653 }
1654
1655 // for styles of FlyFrames do not set the FillStyle to make it a derived attribute
1657 }
1658 break;
1660 case RES_POOLFRM_OLE:
1661 {
1662 aSet.Put( SwFormatAnchor( RndStdIds::FLY_AT_PARA ));
1663 aSet.Put( SwFormatHoriOrient( 0, text::HoriOrientation::CENTER, text::RelOrientation::FRAME ));
1664 aSet.Put( SwFormatVertOrient( 0, text::VertOrientation::TOP, text::RelOrientation::FRAME ));
1665 aSet.Put( SwFormatSurround( css::text::WrapTextMode_DYNAMIC ));
1666 }
1667 break;
1668 case RES_POOLFRM_FORMEL:
1669 {
1670 aSet.Put( SwFormatAnchor( RndStdIds::FLY_AS_CHAR ) );
1671 aSet.Put( SwFormatVertOrient( 0, text::VertOrientation::CHAR_CENTER, text::RelOrientation::FRAME ) );
1672 aSet.Put( SvxLRSpaceItem( 0, 0, 0, RES_LR_SPACE ) );
1673 }
1674 break;
1676 {
1677 aSet.Put( SwFormatAnchor( RndStdIds::FLY_AT_PARA ));
1678 aSet.Put( SwFormatHoriOrient( 0, text::HoriOrientation::LEFT, text::RelOrientation::FRAME ));
1679 aSet.Put( SwFormatVertOrient( 0, text::VertOrientation::TOP, text::RelOrientation::FRAME ));
1680 aSet.Put( SwFormatSurround( css::text::WrapTextMode_PARALLEL ));
1681 // Set the default width to 3.5 cm, use the minimum value for the height
1685 }
1686 break;
1688 {
1689 aSet.Put( SwFormatAnchor( RndStdIds::FLY_AT_PAGE ));
1690 aSet.Put( SwFormatHoriOrient( 0, text::HoriOrientation::CENTER, text::RelOrientation::FRAME ));
1691 aSet.Put( SwFormatVertOrient( 0, text::VertOrientation::CENTER, text::RelOrientation::FRAME ));
1692 aSet.Put( SvxOpaqueItem( RES_OPAQUE, false ));
1693 aSet.Put( SwFormatSurround( css::text::WrapTextMode_THROUGH ));
1694 }
1695 break;
1696 case RES_POOLFRM_LABEL:
1697 {
1698 aSet.Put( SwFormatAnchor( RndStdIds::FLY_AS_CHAR ) );
1699 aSet.Put( SwFormatVertOrient( 0, text::VertOrientation::TOP, text::RelOrientation::FRAME ) );
1700 aSet.Put( SvxLRSpaceItem( 114, 114, 0, RES_LR_SPACE ) );
1701
1702 SvxProtectItem aProtect( RES_PROTECT );
1703 aProtect.SetSizeProtect( true );
1704 aProtect.SetPosProtect( true );
1705 aSet.Put( aProtect );
1706
1707 pNewFormat->SetAutoUpdateOnDirectFormat();
1708 }
1709 break;
1710 }
1711 if( aSet.Count() )
1712 {
1713 pNewFormat->SetFormatAttr( aSet );
1714 }
1715 return pNewFormat;
1716}
1717
1719{
1720 return static_cast<SwFrameFormat*>(GetFormatFromPool( nId ));
1721}
1722
1724{
1725 return static_cast<SwCharFormat*>(GetFormatFromPool( nId ));
1726}
1727
1728SwPageDesc* DocumentStylePoolManager::GetPageDescFromPool( sal_uInt16 nId, bool bRegardLanguage )
1729{
1730 OSL_ENSURE( RES_POOLPAGE_BEGIN <= nId && nId < RES_POOLPAGE_END,
1731 "Wrong AutoFormat Id" );
1732
1733 for( size_t n = 0; n < m_rDoc.GetPageDescCnt(); ++n )
1734 {
1736 {
1737 return &m_rDoc.GetPageDesc(n);
1738 }
1739 }
1740
1742 {
1743 // unknown page pool ID
1744 OSL_ENSURE( false, "<SwDoc::GetPageDescFromPool(..)> - unknown page pool ID" );
1746 }
1747
1748 SwPageDesc* pNewPgDsc = nullptr;
1749 {
1750 static_assert(SAL_N_ELEMENTS(STR_POOLPAGE_ARY) == RES_POOLPAGE_END - RES_POOLPAGE_BEGIN, "### unexpected size!");
1751 const OUString aNm(SwResId(STR_POOLPAGE_ARY[nId - RES_POOLPAGE_BEGIN]));
1752 const bool bIsModified = m_rDoc.getIDocumentState().IsModified();
1753
1754 {
1755 ::sw::UndoGuard const undoGuard(m_rDoc.GetIDocumentUndoRedo());
1756 pNewPgDsc = m_rDoc.MakePageDesc(aNm, nullptr, bRegardLanguage);
1757 }
1758
1759 pNewPgDsc->SetPoolFormatId( nId );
1760 if ( !bIsModified )
1761 {
1763 }
1764 }
1765
1767 {
1769 aLR.SetRight( aLR.GetLeft() );
1770 }
1772 {
1773 aUL.SetUpper( o3tl::narrowing<sal_uInt16>(aLR.GetLeft()) );
1774 aUL.SetLower( o3tl::narrowing<sal_uInt16>(aLR.GetLeft()) );
1775 }
1776
1778 bool bSetLeft = true;
1779
1780 switch( nId )
1781 {
1782 case RES_POOLPAGE_STANDARD: // "Default"
1783 {
1784 aSet.Put( aLR );
1785 aSet.Put( aUL );
1787 }
1788 break;
1789
1790 case RES_POOLPAGE_FIRST: // "First Page"
1791 case RES_POOLPAGE_REGISTER: // "Index"
1792 {
1793 lcl_PutStdPageSizeIntoItemSet( m_rDoc, aSet );
1794 aSet.Put( aLR );
1795 aSet.Put( aUL );
1796 pNewPgDsc->SetUseOn( UseOnPage::All );
1797 if( RES_POOLPAGE_FIRST == nId )
1799 }
1800 break;
1801
1802 case RES_POOLPAGE_LEFT: // "Left Page"
1803 {
1804 lcl_PutStdPageSizeIntoItemSet( m_rDoc, aSet );
1805 aSet.Put( aLR );
1806 aSet.Put( aUL );
1807 bSetLeft = false;
1808 pNewPgDsc->SetUseOn( UseOnPage::Left );
1809 // this relies on GetPageDescFromPool() not going into infinite recursion
1810 // (by this point RES_POOLPAGE_LEFT will not reach this place again)
1812 }
1813 break;
1814 case RES_POOLPAGE_RIGHT: // "Right Page"
1815 {
1816 lcl_PutStdPageSizeIntoItemSet( m_rDoc, aSet );
1817 aSet.Put( aLR );
1818 aSet.Put( aUL );
1819 bSetLeft = false;
1820 pNewPgDsc->SetUseOn( UseOnPage::Right );
1822 }
1823 break;
1824
1825 case RES_POOLPAGE_ENVELOPE: // "Envelope"
1826 {
1828 LandscapeSwap( aPSize );
1829 aSet.Put( SwFormatFrameSize( SwFrameSize::Fixed, aPSize.Width(), aPSize.Height() ));
1830 aLR.SetLeft( 0 ); aLR.SetRight( 0 );
1831 aUL.SetUpper( 0 ); aUL.SetLower( 0 );
1832 aSet.Put( aLR );
1833 aSet.Put( aUL );
1834
1835 pNewPgDsc->SetUseOn( UseOnPage::All );
1836 pNewPgDsc->SetLandscape( true );
1837 }
1838 break;
1839
1840 case RES_POOLPAGE_HTML: // "HTML"
1841 {
1842 lcl_PutStdPageSizeIntoItemSet( m_rDoc, aSet );
1844 aUL.SetUpper( o3tl::narrowing<sal_uInt16>(aLR.GetRight()) );
1845 aUL.SetLower( o3tl::narrowing<sal_uInt16>(aLR.GetRight()) );
1846 aSet.Put( aLR );
1847 aSet.Put( aUL );
1848
1849 pNewPgDsc->SetUseOn( UseOnPage::All );
1850 }
1851 break;
1852
1853 case RES_POOLPAGE_FOOTNOTE: // "Footnote"
1854 case RES_POOLPAGE_ENDNOTE: // "Endnote"
1855 {
1856 lcl_PutStdPageSizeIntoItemSet( m_rDoc, aSet );
1857 aSet.Put( aLR );
1858 aSet.Put( aUL );
1859 pNewPgDsc->SetUseOn( UseOnPage::All );
1860 SwPageFootnoteInfo aInf( pNewPgDsc->GetFootnoteInfo() );
1861 aInf.SetLineWidth( 0 );
1862 aInf.SetTopDist( 0 );
1863 aInf.SetBottomDist( 0 );
1864 pNewPgDsc->SetFootnoteInfo( aInf );
1865 }
1866 break;
1867
1868 case RES_POOLPAGE_LANDSCAPE: // "Landscape"
1869 {
1871 SwFormatFrameSize aFrameSz( pStdPgDsc->GetMaster().GetFrameSize() );
1872 if ( !pStdPgDsc->GetLandscape() )
1873 {
1874 const SwTwips nTmp = aFrameSz.GetHeight();
1875 aFrameSz.SetHeight( aFrameSz.GetWidth() );
1876 aFrameSz.SetWidth( nTmp );
1877 }
1878 aSet.Put( aFrameSz );
1879 aSet.Put( aLR );
1880 aSet.Put( aUL );
1881 pNewPgDsc->SetUseOn( UseOnPage::All );
1882 pNewPgDsc->SetLandscape( true );
1883 }
1884 break;
1885
1886 }
1887
1888 if( aSet.Count() )
1889 {
1890 if( bSetLeft )
1891 {
1892 pNewPgDsc->GetLeft().SetFormatAttr( aSet );
1893 pNewPgDsc->GetFirstLeft().SetFormatAttr( aSet );
1894 }
1895 pNewPgDsc->GetMaster().SetFormatAttr( aSet );
1896 pNewPgDsc->GetFirstMaster().SetFormatAttr( aSet );
1897 }
1898 return pNewPgDsc;
1899}
1900
1902{
1904 "Wrong AutoFormat Id" );
1905
1906 SwNumRule* pNewRule;
1907
1908 for (size_t n = 0; n < m_rDoc.GetNumRuleTable().size(); ++n )
1909 {
1910 pNewRule = m_rDoc.GetNumRuleTable()[ n ];
1911 if (nId == pNewRule->GetPoolFormatId())
1912 {
1913 return pNewRule;
1914 }
1915 }
1916
1917 // error: unknown Pool style
1919 {
1920 OSL_ENSURE( false, "invalid Id" );
1922 }
1923
1924 static_assert(SAL_N_ELEMENTS(STR_POOLNUMRULE_NUM_ARY) == RES_POOLNUMRULE_END - RES_POOLNUMRULE_BEGIN, "### unexpected size!");
1926
1927 SwCharFormat *pNumCFormat = nullptr, *pBullCFormat = nullptr;
1928
1929 const SvxNumberFormat::SvxNumPositionAndSpaceMode eNumberFormatPositionAndSpaceMode
1931 {
1932 bool bIsModified = m_rDoc.getIDocumentState().IsModified();
1933
1934 sal_uInt16 n = m_rDoc.MakeNumRule( aNm, nullptr, false, eNumberFormatPositionAndSpaceMode );
1935
1936 pNewRule = m_rDoc.GetNumRuleTable()[ n ];
1937 pNewRule->SetPoolFormatId( nId );
1938 pNewRule->SetAutoRule( false );
1939
1942
1946
1947 if( !bIsModified )
1949 }
1950
1951 switch( nId )
1952 {
1954 {
1955 SwNumFormat aFormat;
1956 aFormat.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
1958 aFormat.SetCharFormat( pNumCFormat );
1959 aFormat.SetStart( 1 );
1960 aFormat.SetIncludeUpperLevels( 1 );
1961
1962 static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
1963 {
1964// cm: 0.7 cm intervals, with 1 cm = 567
1965 397, 794, 1191, 1588, 1985, 2381, 2778, 3175, 3572, 3969
1966 };
1967 const sal_uInt16* pArr = aAbsSpace;
1968
1969 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
1970 {
1971 aFormat.SetFirstLineOffset( - (*pArr) );
1972 }
1973 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1974 {
1976 aFormat.SetFirstLineIndent( - (*pArr) );
1977 }
1978
1979 for (sal_uInt16 n = 0; n < MAXLEVEL; ++n, ++pArr)
1980 {
1981 aFormat.SetListFormat("", ".", n);
1982 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
1983 {
1984 aFormat.SetAbsLSpace( *pArr + 357 ); // 357 is indent of 0.63 cm
1985 }
1986 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
1987 {
1988 aFormat.SetListtabPos( *pArr );
1989 aFormat.SetIndentAt( *pArr + 357 );
1990 }
1991
1992 pNewRule->Set( n, aFormat );
1993 }
1994 }
1995 break;
1996
1998 {
1999 static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
2000 {
2001 397, 397, 397, 397, // 0.70 cm intervals
2002 397, 397, 397, 397,
2003 397, 397
2004 };
2005
2006 const sal_uInt16* pArr = aAbsSpace;
2007 SwNumFormat aFormat;
2008
2009 aFormat.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2011 aFormat.SetCharFormat( pNumCFormat );
2012 aFormat.SetStart( 1 );
2013 aFormat.SetIncludeUpperLevels( 1 );
2014
2015 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2016 {
2018 }
2019
2020 sal_uInt16 nSpace = 357; // indent of 0.63 cm
2021 for (sal_uInt16 n = 0; n < MAXLEVEL; ++n)
2022 {
2023 aFormat.SetListFormat("", ".", n);
2024 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2025 {
2026 nSpace += pArr[ n ];
2027 aFormat.SetAbsLSpace( nSpace );
2028 aFormat.SetFirstLineOffset( - pArr[ n ] );
2029 }
2030 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2031 {
2032 nSpace += pArr[ n ];
2033 aFormat.SetListtabPos( nSpace );
2034 aFormat.SetIndentAt( nSpace );
2035 aFormat.SetFirstLineIndent( - pArr[ n ] );
2036 }
2037
2038 pNewRule->Set( n, aFormat );
2039 }
2040 }
2041 break;
2043 {
2044 SwNumFormat aFormat;
2045
2046 aFormat.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2048 aFormat.SetCharFormat( pNumCFormat );
2049 aFormat.SetStart( 1 );
2050 aFormat.SetIncludeUpperLevels( 1 );
2051
2052 tools::Long const nOffs = 397; // 0.70 cm
2053
2054 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2055 {
2056 aFormat.SetFirstLineOffset( - nOffs );
2057 }
2058 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2059 {
2061 aFormat.SetFirstLineIndent( - nOffs );
2062 }
2063
2064 for (sal_uInt16 n = 0; n < MAXLEVEL; ++n)
2065 {
2066 aFormat.SetListFormat("", ".", n);
2067 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2068 {
2069 aFormat.SetAbsLSpace( (n+1) * nOffs + 357 ); // 357 is indent of 0.63 cm
2070 }
2071 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2072 {
2073 tools::Long nPos = (n+1) * nOffs;
2074 aFormat.SetListtabPos(nPos + 357);
2075 aFormat.SetIndentAt(nPos + 357);
2076 }
2077
2078 pNewRule->Set( n, aFormat );
2079 }
2080 }
2081 break;
2083 {
2084 SwNumFormat aFormat;
2085
2086 aFormat.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2088 aFormat.SetCharFormat( pNumCFormat );
2089 aFormat.SetStart( 1 );
2090 aFormat.SetIncludeUpperLevels( 1 );
2091 aFormat.SetNumAdjust( SvxAdjust::Right );
2092
2093 static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
2094 {
2095// cm: 1.33 cm intervals
2096 754, 1508, 2262, 3016, 3771, 4525, 5279, 6033, 6787, 7541
2097 };
2098 const sal_uInt16* pArr = aAbsSpace;
2099
2100 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2101 {
2102 aFormat.SetFirstLineOffset( 580 - (*pArr) ); // 1 cm space
2103 }
2104 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2105 {
2107 aFormat.SetFirstLineIndent( 580 - (*pArr) );
2108 }
2109
2110 for (sal_uInt16 n = 0; n < MAXLEVEL; ++n, ++pArr)
2111 {
2112 aFormat.SetListFormat("", ".", n);
2113 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2114 {
2115 aFormat.SetAbsLSpace( *pArr );
2116 }
2117 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2118 {
2119 aFormat.SetListtabPos( *pArr );
2120 aFormat.SetIndentAt( *pArr );
2121 }
2122
2123 pNewRule->Set( n, aFormat );
2124 }
2125 }
2126 break;
2128 {
2129 // [ First, LSpace ]
2130 static const sal_uInt16 aAbsSpace0to2[] =
2131 {
2132 174, 754, // 0.33, 1.33cm
2133 174, 1508, // 0.33, 2.66cm
2134 397, 2262 // 0.70, 4.00cm
2135 };
2136
2137 const sal_uInt16* pArr0to2 = aAbsSpace0to2;
2138 SwNumFormat aFormat;
2139
2140 aFormat.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2142 aFormat.SetStart( 1 );
2143 aFormat.SetIncludeUpperLevels( 1 );
2144 aFormat.SetNumAdjust( SvxAdjust::Right );
2145 aFormat.SetListFormat("", ".", 0);
2146
2147 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2148 {
2150 }
2151
2152 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2153 {
2154 aFormat.SetFirstLineOffset(- pArr0to2[0]); // num ends at 1.00 cm
2155 aFormat.SetAbsLSpace(pArr0to2[1]); // text starts at 1.33 cm
2156 }
2157 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2158 {
2159 aFormat.SetFirstLineIndent( -pArr0to2[0] );
2160 aFormat.SetListtabPos( pArr0to2[1] );
2161 aFormat.SetIndentAt( pArr0to2[1] );
2162 }
2163
2164 aFormat.SetCharFormat( pNumCFormat );
2165 pNewRule->Set( 0, aFormat );
2166
2168 aFormat.SetIncludeUpperLevels( 1 );
2169 aFormat.SetListFormat("", ".", 1);
2170
2171 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2172 {
2173 aFormat.SetFirstLineOffset(- pArr0to2[2]); // num ends at 2.33 cm
2174 aFormat.SetAbsLSpace(pArr0to2[3]); // text starts at 2.66 cm
2175 }
2176 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2177 {
2178 aFormat.SetFirstLineIndent( -pArr0to2[2] );
2179 aFormat.SetListtabPos( pArr0to2[3] );
2180 aFormat.SetIndentAt( pArr0to2[3] );
2181 }
2182
2183 pNewRule->Set( 1, aFormat );
2184
2186 aFormat.SetIncludeUpperLevels( 1 );
2187 aFormat.SetListFormat("", u")", 2);
2188 aFormat.SetNumAdjust( SvxAdjust::Left );
2189
2190 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2191 {
2192 aFormat.SetFirstLineOffset(- pArr0to2[4]); // num starts at 3.30 cm
2193 aFormat.SetAbsLSpace(pArr0to2[5]); // text starts at 4.00 cm
2194 }
2195 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2196 {
2197 aFormat.SetFirstLineIndent( -pArr0to2[4] );
2198 aFormat.SetListtabPos( pArr0to2[5] );
2199 aFormat.SetIndentAt( pArr0to2[5] );
2200 }
2201
2202 pNewRule->Set( 2, aFormat );
2203
2205 aFormat.SetCharFormat( pBullCFormat );
2207 aFormat.SetBulletChar( cBulletChar );
2208 sal_Int16 nOffs = o3tl::convert(660, o3tl::Length::mm100, o3tl::Length::twip),
2210
2211 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2212 {
2213 aFormat.SetFirstLineOffset( - nOffs );
2214 }
2215 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2216 {
2217 aFormat.SetFirstLineIndent( - nOffs );
2218 }
2219
2220 for (sal_uInt16 n = 3; n < MAXLEVEL; ++n)
2221 {
2222 aFormat.SetStart( n+1 );
2223 aFormat.SetListFormat("", "", n);
2224
2225 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2226 {
2227 aFormat.SetAbsLSpace(nOffs2 + ((n - 2) * static_cast<tools::Long>(nOffs)));
2228 }
2229 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2230 {
2231 tools::Long nPos = nOffs2 + ((n - 2) * static_cast<tools::Long>(nOffs));
2232 aFormat.SetListtabPos(nPos);
2233 aFormat.SetIndentAt(nPos);
2234 }
2235
2236 pNewRule->Set( n, aFormat );
2237 }
2238 }
2239 break;
2240
2242 {
2243 SwNumFormat aFormat;
2244
2245 aFormat.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2247 aFormat.SetCharFormat( pBullCFormat );
2248 aFormat.SetStart( 1 );
2249 aFormat.SetIncludeUpperLevels( 1 );
2251 aFormat.SetBulletChar( cBulletChar );
2252
2253 static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
2254 {
2255// cm: 0,4 0,8 1,2 1,6 2,0 2,4 2,8 3,2 3,6 4,0
2256 227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2257 };
2258 const sal_uInt16* pArr = aAbsSpace;
2259
2260 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2261 {
2262 aFormat.SetFirstLineOffset( - (*pArr) );
2263 }
2264 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2265 {
2267 aFormat.SetFirstLineIndent( - (*pArr) );
2268 }
2269
2270 for (sal_uInt16 n = 0; n < MAXLEVEL; ++n, ++pArr)
2271 {
2272 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2273 {
2274 aFormat.SetAbsLSpace( *pArr );
2275 }
2276 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2277 {
2278 aFormat.SetListtabPos( *pArr );
2279 aFormat.SetIndentAt( *pArr );
2280 }
2281
2282 pNewRule->Set( n, aFormat );
2283 }
2284 }
2285 break;
2287 {
2288 SwNumFormat aFormat;
2289
2290 aFormat.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2292 aFormat.SetCharFormat( pBullCFormat );
2293 aFormat.SetStart( 1 );
2294 aFormat.SetIncludeUpperLevels( 1 );
2296 aFormat.SetBulletChar( 0x2013 );
2297
2298 static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
2299 {
2300// cm: 0,3 0,6 0,9 1,2 1,5 1,8 2,1 2,4 2,7 3,0
2301 170, 340, 510, 680, 850, 1020, 1191, 1361, 1531, 1701
2302 };
2303 const sal_uInt16* pArr = aAbsSpace;
2304
2305 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2306 {
2307 aFormat.SetFirstLineOffset( - (*pArr) );
2308 }
2309 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2310 {
2312 aFormat.SetFirstLineIndent( - (*pArr) );
2313 }
2314
2315 for (sal_uInt16 n = 0; n < MAXLEVEL; ++n, ++pArr)
2316 {
2317 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2318 {
2319 aFormat.SetAbsLSpace( *pArr );
2320 }
2321 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2322 {
2323 aFormat.SetListtabPos( *pArr );
2324 aFormat.SetIndentAt( *pArr );
2325 }
2326
2327 pNewRule->Set( n, aFormat );
2328 }
2329 }
2330 break;
2332 {
2333 SwNumFormat aFormat;
2334
2335 aFormat.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2336
2338 aFormat.SetCharFormat( pBullCFormat );
2339 aFormat.SetStart( 1 );
2340 aFormat.SetIncludeUpperLevels( 1 );
2342
2343 sal_uInt16 nOffs = o3tl::convert(4, o3tl::Length::mm, o3tl::Length::twip);
2344
2345 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2346 {
2347 aFormat.SetFirstLineOffset( - nOffs );
2348 }
2349 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2350 {
2352 aFormat.SetFirstLineIndent( - nOffs );
2353 }
2354
2355 for (sal_uInt16 n = 0; n < MAXLEVEL; ++n)
2356 {
2357 aFormat.SetBulletChar( (n & 1) ? 0x25a1 : 0x2611 );
2358
2359 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2360 {
2361 aFormat.SetAbsLSpace( ((n & 1) +1) * nOffs );
2362 }
2363 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2364 {
2365 tools::Long nPos = ((n & 1) +1) * static_cast<tools::Long>(nOffs);
2366 aFormat.SetListtabPos(nPos);
2367 aFormat.SetIndentAt(nPos);
2368 }
2369
2370 pNewRule->Set( n, aFormat );
2371 }
2372 }
2373 break;
2375 {
2376 SwNumFormat aFormat;
2377
2378 aFormat.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2380 aFormat.SetCharFormat( pBullCFormat );
2381 aFormat.SetStart( 1 );
2382 aFormat.SetIncludeUpperLevels( 1 );
2384
2385 static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
2386 {
2387// cm: 0,4 0,8 1,2 1,6 2,0 2,4 2,8 3,2 3,6 4,0
2388 227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2389 };
2390
2391 const sal_uInt16* pArr = aAbsSpace;
2392
2393 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2394 {
2395 aFormat.SetFirstLineOffset( - (*pArr) );
2396 }
2397 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2398 {
2400 aFormat.SetFirstLineIndent( - (*pArr) );
2401 }
2402
2403 for (sal_uInt16 n = 0; n < MAXLEVEL; ++n, ++pArr)
2404 {
2405 switch( n )
2406 {
2407 case 0: aFormat.SetBulletChar( 0x27a2 ); break;
2408 case 1: aFormat.SetBulletChar( 0xE006 ); break;
2409 default: aFormat.SetBulletChar( 0xE004 ); break;
2410 }
2411
2412 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2413 {
2414 aFormat.SetAbsLSpace( *pArr );
2415 }
2416 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2417 {
2418 aFormat.SetListtabPos( *pArr );
2419 aFormat.SetIndentAt( *pArr );
2420 }
2421
2422 pNewRule->Set( n, aFormat );
2423 }
2424 }
2425 break;
2427 {
2428 SwNumFormat aFormat;
2429
2430 aFormat.SetPositionAndSpaceMode( eNumberFormatPositionAndSpaceMode );
2432 aFormat.SetCharFormat( pBullCFormat );
2433 aFormat.SetStart( 1 );
2434 aFormat.SetIncludeUpperLevels( 1 );
2435 aFormat.SetBulletChar( 0x2717 );
2437
2438 static const sal_uInt16 aAbsSpace[ MAXLEVEL ] =
2439 {
2440// cm: 0,4 0,8 1,2 1,6 2,0 2,4 2,8 3,2 3,6 4,0
2441 227, 454, 680, 907, 1134, 1361, 1587, 1814, 2041, 2268
2442 };
2443 const sal_uInt16* pArr = aAbsSpace;
2444
2445 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2446 {
2447 aFormat.SetFirstLineOffset( - (*pArr) );
2448 }
2449 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2450 {
2452 aFormat.SetFirstLineIndent( - (*pArr) );
2453 }
2454
2455 for (sal_uInt16 n = 0; n < MAXLEVEL; ++n, ++pArr)
2456 {
2457 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
2458 {
2459 aFormat.SetAbsLSpace( *pArr );
2460 }
2461 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
2462 {
2463 aFormat.SetListtabPos( *pArr );
2464 aFormat.SetIndentAt( *pArr );
2465 }
2466
2467 pNewRule->Set( n, aFormat );
2468 }
2469 }
2470 break;
2471 }
2472
2473 return pNewRule;
2474}
2475
2478{
2479 OSL_ENSURE(
2486 "Wrong AutoFormat Id" );
2487
2488 SwTextFormatColl* pNewColl = nullptr;
2489 bool bFnd = false;
2490 for( SwTextFormatColls::size_type n = 0; !bFnd && n < m_rDoc.GetTextFormatColls()->size(); ++n )
2491 {
2492 pNewColl = (*m_rDoc.GetTextFormatColls())[ n ];
2493 if( nId == pNewColl->GetPoolFormatId() )
2494 bFnd = true;
2495 }
2496
2497 if( !bFnd || !pNewColl->HasWriterListeners() )
2498 return false;
2499
2501 return !pNewColl->GetInfo( aGetHt );
2502}
2503
2506{
2507 const SwFormat *pNewFormat = nullptr;
2508 const SwFormatsBase* pArray[ 2 ];
2509 sal_uInt16 nArrCnt = 1;
2510 bool bFnd = true;
2511
2513 {
2514 pArray[0] = m_rDoc.GetCharFormats();
2515 }
2516 else if (RES_POOLFRM_BEGIN <= nId && nId < RES_POOLFRM_END)
2517 {
2518 pArray[0] = m_rDoc.GetFrameFormats();
2519 pArray[1] = m_rDoc.GetSpzFrameFormats();
2520 nArrCnt = 2;
2521 }
2522 else
2523 {
2524 SAL_WARN("sw.core", "Invalid Pool Id: " << nId << " should be within "
2525 "[" << int(RES_POOLCHR_BEGIN) << "," << int(RES_POOLCHR_END) << ") or "
2526 "[" << int(RES_POOLFRM_BEGIN) << "," << int(RES_POOLFRM_END) << ")");
2527 bFnd = false;
2528 }
2529
2530 if( bFnd )
2531 {
2532 bFnd = false;
2533 while( nArrCnt-- && !bFnd )
2534 for( size_t n = 0; !bFnd && n < (*pArray[nArrCnt]).GetFormatCount(); ++n )
2535 {
2536 pNewFormat = (*pArray[ nArrCnt ] ).GetFormat( n );
2537 if( nId == pNewFormat->GetPoolFormatId() )
2538 bFnd = true;
2539 }
2540 }
2541
2542 // Not found or no dependencies?
2543 if( bFnd && pNewFormat->HasWriterListeners() )
2544 {
2545 // Check if we have dependent ContentNodes in the Nodes array
2546 // (also indirect ones for derived Formats)
2548 bFnd = !pNewFormat->GetInfo( aGetHt );
2549 }
2550 else
2551 bFnd = false;
2552
2553 return bFnd;
2554}
2555
2558{
2559 OSL_ENSURE( RES_POOLPAGE_BEGIN <= nId && nId < RES_POOLPAGE_END,
2560 "Wrong AutoFormat Id" );
2561 SwPageDesc *pNewPgDsc = nullptr;
2562 bool bFnd = false;
2563 for( size_t n = 0; !bFnd && n < m_rDoc.GetPageDescCnt(); ++n )
2564 {
2565 pNewPgDsc = &m_rDoc.GetPageDesc(n);
2566 if( nId == pNewPgDsc->GetPoolFormatId() )
2567 bFnd = true;
2568 }
2569
2570 // Not found or no dependencies?
2571 if( !bFnd || !pNewPgDsc->HasWriterListeners() ) // ??????
2572 return false;
2573
2574 // Check if we have dependent ContentNodes in the Nodes array
2575 // (also indirect ones for derived Formats)
2577 return !pNewPgDsc->GetInfo( aGetHt );
2578}
2579
2581{
2582}
2583
2584}
2585
2586static std::vector<OUString>
2587lcl_NewUINameArray(const TranslateId* pIds, const size_t nLen, const size_t nSvxIds = 0)
2588{
2589 assert(nSvxIds <= nLen);
2590 const size_t nWriterIds = nLen - nSvxIds;
2591 std::vector<OUString> aNameArray;
2592 aNameArray.reserve(nLen);
2593 for (size_t i = 0; i < nWriterIds; ++i)
2594 aNameArray.push_back(SwResId(pIds[i]));
2595 for (size_t i = nWriterIds; i < nLen; ++i)
2596 aNameArray.push_back(SvxResId(pIds[i]));
2597 return aNameArray;
2598}
2599
2600const std::vector<OUString>& SwStyleNameMapper::GetTextUINameArray()
2601{
2602 SvtSysLocale aSysLocale;
2603 const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
2604 static std::map<LanguageTag, std::vector<OUString>> s_aTextUINameArray;
2605
2606 auto it = s_aTextUINameArray.find(rCurrentLanguage);
2607 if (it == s_aTextUINameArray.end())
2608 it = s_aTextUINameArray.emplace(rCurrentLanguage,
2610
2611 return it->second;
2612}
2613
2614const std::vector<OUString>& SwStyleNameMapper::GetListsUINameArray()
2615{
2616 SvtSysLocale aSysLocale;
2617 const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
2618 static std::map<LanguageTag, std::vector<OUString>> s_aListsUINameArray;
2619
2620 auto it = s_aListsUINameArray.find(rCurrentLanguage);
2621 if (it == s_aListsUINameArray.end())
2622 it = s_aListsUINameArray.emplace(rCurrentLanguage,
2624
2625 return it->second;
2626}
2627
2628const std::vector<OUString>& SwStyleNameMapper::GetExtraUINameArray()
2629{
2630 SvtSysLocale aSysLocale;
2631 const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
2632 static std::map<LanguageTag, std::vector<OUString>> s_aExtraUINameArray;
2633
2634 auto it = s_aExtraUINameArray.find(rCurrentLanguage);
2635 if (it == s_aExtraUINameArray.end())
2636 it = s_aExtraUINameArray.emplace(rCurrentLanguage,
2638
2639 return it->second;
2640}
2641
2642const std::vector<OUString>& SwStyleNameMapper::GetRegisterUINameArray()
2643{
2644 SvtSysLocale aSysLocale;
2645 const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
2646 static std::map<LanguageTag, std::vector<OUString>> s_aRegisterUINameArray;
2647
2648 auto it = s_aRegisterUINameArray.find(rCurrentLanguage);
2649 if (it == s_aRegisterUINameArray.end())
2650 it = s_aRegisterUINameArray.emplace(rCurrentLanguage,
2652
2653 return it->second;
2654}
2655
2656const std::vector<OUString>& SwStyleNameMapper::GetDocUINameArray()
2657{
2658 SvtSysLocale aSysLocale;
2659 const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
2660 static std::map<LanguageTag, std::vector<OUString>> s_aDocUINameArray;
2661
2662 auto it = s_aDocUINameArray.find(rCurrentLanguage);
2663 if (it == s_aDocUINameArray.end())
2664 it = s_aDocUINameArray.emplace(rCurrentLanguage,
2666
2667 return it->second;
2668}
2669
2670const std::vector<OUString>& SwStyleNameMapper::GetHTMLUINameArray()
2671{
2672 SvtSysLocale aSysLocale;
2673 const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
2674 static std::map<LanguageTag, std::vector<OUString>> s_aHTMLUINameArray;
2675
2676 auto it = s_aHTMLUINameArray.find(rCurrentLanguage);
2677 if (it == s_aHTMLUINameArray.end())
2678 it = s_aHTMLUINameArray.emplace(rCurrentLanguage,
2680
2681 return it->second;
2682}
2683
2685{
2686 SvtSysLocale aSysLocale;
2687 const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
2688 static std::map<LanguageTag, std::vector<OUString>> s_aFrameFormatUINameArray;
2689
2690 auto it = s_aFrameFormatUINameArray.find(rCurrentLanguage);
2691 if (it == s_aFrameFormatUINameArray.end())
2692 it = s_aFrameFormatUINameArray.emplace(rCurrentLanguage,
2694
2695 return it->second;
2696}
2697
2699{
2700 SvtSysLocale aSysLocale;
2701 const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
2702 static std::map<LanguageTag, std::vector<OUString>> s_aChrFormatUINameArray;
2703
2704 auto it = s_aChrFormatUINameArray.find(rCurrentLanguage);
2705 if (it == s_aChrFormatUINameArray.end())
2706 it = s_aChrFormatUINameArray.emplace(rCurrentLanguage,
2708
2709 return it->second;
2710}
2711
2713{
2714 SvtSysLocale aSysLocale;
2715 const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
2716 static std::map<LanguageTag, std::vector<OUString>> s_aHTMLChrFormatUINameArray;
2717
2718 auto it = s_aHTMLChrFormatUINameArray.find(rCurrentLanguage);
2719 if (it == s_aHTMLChrFormatUINameArray.end())
2720 it = s_aHTMLChrFormatUINameArray.emplace(rCurrentLanguage,
2722
2723 return it->second;
2724}
2725
2726const std::vector<OUString>& SwStyleNameMapper::GetPageDescUINameArray()
2727{
2728 SvtSysLocale aSysLocale;
2729 const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
2730 static std::map<LanguageTag, std::vector<OUString>> s_aPageDescUINameArray;
2731
2732 auto it = s_aPageDescUINameArray.find(rCurrentLanguage);
2733 if (it == s_aPageDescUINameArray.end())
2734 it = s_aPageDescUINameArray.emplace(rCurrentLanguage,
2736
2737 return it->second;
2738}
2739
2740const std::vector<OUString>& SwStyleNameMapper::GetNumRuleUINameArray()
2741{
2742 SvtSysLocale aSysLocale;
2743 const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
2744 static std::map<LanguageTag, std::vector<OUString>> s_aNumRuleUINameArray;
2745
2746 auto it = s_aNumRuleUINameArray.find(rCurrentLanguage);
2747 if (it == s_aNumRuleUINameArray.end())
2748 it = s_aNumRuleUINameArray.emplace(rCurrentLanguage,
2750
2751 return it->second;
2752}
2753
2755{
2756 SvtSysLocale aSysLocale;
2757 const LanguageTag& rCurrentLanguage = aSysLocale.GetUILanguageTag();
2758 static std::map<LanguageTag, std::vector<OUString>> s_aTableStyleUINameArray;
2759
2760 auto it = s_aTableStyleUINameArray.find(rCurrentLanguage);
2761 if (it == s_aTableStyleUINameArray.end())
2762 it = s_aTableStyleUINameArray.emplace(rCurrentLanguage,
2763 // 1 Writer resource string (XXX if this ever changes rather use offset math)
2765 static_cast<size_t>(SAL_N_ELEMENTS(STR_TABSTYLE_ARY) - 1))).first;
2766
2767 return it->second;
2768}
2769
2770/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
const TranslateId STR_POOLCHR_ARY[]
const TranslateId STR_POOLCOLL_EXTRA_ARY[]
const TranslateId STR_TABSTYLE_ARY[]
static std::vector< OUString > lcl_NewUINameArray(const TranslateId *pIds, const size_t nLen, const size_t nSvxIds=0)
bool IsConditionalByPoolId(sal_uInt16 nId)
const TranslateId STR_POOLCOLL_REGISTER_ARY[]
const TranslateId STR_POOLCOLL_HTML_ARY[]
const TranslateId STR_POOLCOLL_DOC_ARY[]
const TranslateId STR_POOLCOLL_TEXT_ARY[]
const TranslateId STR_POOLCOLL_LISTS_ARY[]
const TranslateId STR_POOLNUMRULE_NUM_ARY[]
const TranslateId STR_POOLPAGE_ARY[]
const TranslateId STR_POOLFRM_ARY[]
const TranslateId STR_POOLCHR_HTML_ARY[]
virtual void ResetModified()=0
virtual bool IsModified() const =0
Changes of document?
virtual SwPageDesc * GetPageDescFromPool(sal_uInt16 nId, bool bRegardLanguage=true)=0
Return required automatic page style.
virtual SwTextFormatColl * GetTextCollFromPool(sal_uInt16 nId, bool bRegardLanguage=true)=0
Return "Auto-Collection with ID.
static vcl::Font GetDefaultFont(DefaultFontType nType, LanguageType eLang, GetDefaultFontFlags nFlags, const OutputDevice *pOutDev=nullptr)
const SfxPoolItem & GetDefaultItem(sal_uInt16 nWhich) const
SfxItemPool * GetPool() const
sal_uInt16 Count() const
sal_uInt16 ClearItem(sal_uInt16 nWhich=0)
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
constexpr tools::Long Height() const
constexpr tools::Long Width() const
const LanguageTag & GetUILanguageTag() const
static const sal_Int16 Hairline
void SetLine(const editeng::SvxBorderLine *pNew, SvxBoxItemLine nLine)
void SetAllDistances(sal_Int16 nNew)
void SetRight(const tools::Long nR, const sal_uInt16 nProp=100)
tools::Long GetRight() const
tools::Long GetLeft() const
void SetLeft(const tools::Long nL, const sal_uInt16 nProp=100)
void SetPropLineSpace(const sal_uInt16 nProp)
void SetStart(sal_uInt16 nSet)
void SetAbsLSpace(sal_Int32 nSet)
void SetPositionAndSpaceMode(SvxNumPositionAndSpaceMode ePositionAndSpaceMode)
void SetFirstLineIndent(const tools::Long nFirstLineIndent)
void SetBulletFont(const vcl::Font *pFont)
sal_Int32 GetFirstLineOffset() const
sal_Int32 GetAbsLSpace() const
void SetListFormat(const OUString &rPrefix, const OUString &rSuffix, int nLevel)
void SetNumAdjust(SvxAdjust eSet)
void SetIncludeUpperLevels(sal_uInt8 nSet)
void SetIndentAt(const tools::Long nIndentAt)
void SetFirstLineOffset(sal_Int32 nSet)
SvxNumPositionAndSpaceMode GetPositionAndSpaceMode() const
void SetBulletChar(sal_UCS4 cSet)
void SetLabelFollowedBy(const LabelFollowedBy eLabelFollowedBy)
void SetListtabPos(const tools::Long nListtabPos)
void SetNumberingType(SvxNumType nSet)
static Size GetPaperSize(Paper ePaper, MapUnit eUnit=MapUnit::MapTwip)
void SetSizeProtect(bool bNew)
void SetPosProtect(bool bNew)
tools::Long GetHeight() const
tools::Long GetWidth() const
void SetHeight(tools::Long n)
void SetWidth(tools::Long n)
bool Insert(const SvxTabStop &rTab)
void SetLower(const sal_uInt16 nL, const sal_uInt16 nProp=100)
void SetUpper(const sal_uInt16 nU, const sal_uInt16 nProp=100)
virtual SvxULSpaceItem * Clone(SfxItemPool *pPool=nullptr) const override
Represents the style of a text portion.
Definition: charfmt.hxx:27
Definition: doc.hxx:197
SwFormat * MakeFrameFormat_(const OUString &, SwFormat *, bool, bool)
Definition: docfmt.cxx:854
IDocumentState const & getIDocumentState() const
Definition: doc.cxx:408
const SwCharFormat * GetDfltCharFormat() const
Definition: doc.hxx:768
size_t GetPageDescCnt() const
Definition: doc.hxx:895
const SwNumRuleTable & GetNumRuleTable() const
Definition: doc.hxx:1081
const sw::FrameFormats< SwFrameFormat * > * GetFrameFormats() const
Definition: doc.hxx:753
SwNumRule * GetOutlineNumRule() const
Definition: doc.hxx:1039
const SwCharFormats * GetCharFormats() const
Definition: doc.hxx:755
IDocumentUndoRedo & GetIDocumentUndoRedo()
Definition: doc.cxx:158
SwNodes & GetNodes()
Definition: doc.hxx:422
SwPageDesc * MakePageDesc(const OUString &rName, const SwPageDesc *pCpy=nullptr, bool bRegardLanguage=true, bool bBroadcast=false)
Definition: docdesc.cxx:765
const SfxPoolItem & GetDefault(sal_uInt16 nFormatHint) const
Get the default attribute in this document.
Definition: docfmt.cxx:672
const SwTextFormatColls * GetTextFormatColls() const
Definition: doc.hxx:793
IDocumentStylePoolAccess const & getIDocumentStylePoolAccess() const
Definition: doc.cxx:440
const SwTextFormatColl * GetDfltTextFormatColl() const
Definition: doc.hxx:791
const SwAttrPool & GetAttrPool() const
Definition: doc.hxx:1337
const SwFrameFormat * GetDfltFrameFormat() const
Definition: doc.hxx:762
SwFormat * MakeCharFormat_(const OUString &, SwFormat *, bool, bool)
Definition: docfmt.cxx:887
::sw::DocumentSettingManager & GetDocumentSettingManager()
Definition: doc.cxx:200
const sw::FrameFormats< sw::SpzFrameFormat * > * GetSpzFrameFormats() const
Definition: doc.hxx:759
const SwPageDesc & GetPageDesc(const size_t i) const
Definition: doc.hxx:896
sal_uInt16 MakeNumRule(const OUString &rName, const SwNumRule *pCpy=nullptr, bool bBroadcast=false, const SvxNumberFormat::SvxNumPositionAndSpaceMode eDefaultNumberFormatPositionAndSpaceMode=SvxNumberFormat::LABEL_WIDTH_AND_POSITION)
Definition: docnum.cxx:2488
FlyAnchors.
Definition: fmtanchr.hxx:37
Defines the horizontal position of a fly frame.
Definition: fmtornt.hxx:73
Contains the line numbering properties of this paragraph.
Definition: fmtline.hxx:33
void SetCountLines(bool b)
Definition: fmtline.hxx:63
Defines the vertical position of a fly frame.
Definition: fmtornt.hxx:37
Base class for various Writer styles.
Definition: format.hxx:47
sal_uInt16 GetPoolFormatId() const
Get and set Pool style IDs.
Definition: format.hxx:163
const SwFormatFrameSize & GetFrameSize(bool=true) const
Definition: fmtfsize.hxx:104
void SetPoolFormatId(sal_uInt16 nId)
Definition: format.hxx:164
const SvxLRSpaceItem & GetLRSpace(bool=true) const
Definition: frmatr.hxx:98
virtual void SetFormatName(const OUString &rNewName, bool bBroadcast=false)
Definition: format.cxx:145
void SetAutoUpdateOnDirectFormat(bool bNew=true)
Definition: format.hxx:189
void SetAuto(bool bNew)
Definition: format.hxx:179
const SfxPoolItem & GetFormatAttr(sal_uInt16 nWhich, bool bInParents=true) const
If bInParents is FALSE, search only in this format for attribute.
Definition: format.cxx:366
virtual bool SetFormatAttr(const SfxPoolItem &rAttr)
Definition: format.cxx:447
const SvxULSpaceItem & GetULSpace(bool=true) const
Definition: frmatr.hxx:100
provides some methods for generic operations on lists that contain SwFormat* subclasses.
Definition: docary.hxx:44
Style of a layout element.
Definition: frmfmt.hxx:72
void SetCharFormat(SwCharFormat *)
Definition: number.cxx:281
void SetAutoRule(bool bFlag)
Definition: numrule.hxx:230
static sal_uInt16 GetBullIndent(sal_uInt8 nLvl)
Definition: number.cxx:175
const SwNumFormat & Get(sal_uInt16 i) const
Definition: number.cxx:87
void Set(sal_uInt16 i, const SwNumFormat *)
Definition: number.cxx:618
const OUString & GetName() const
Definition: numrule.hxx:224
sal_uInt16 GetPoolFormatId() const
Query and set PoolFormat IDs.
Definition: numrule.hxx:250
void SetPoolFormatId(sal_uInt16 nId)
Definition: numrule.hxx:251
static sal_uInt16 GetNumIndent(sal_uInt8 nLvl)
Definition: number.cxx:169
sal_uInt16 GetPoolFormatId() const
Query and set PoolFormat-Id.
Definition: pagedesc.hxx:275
void SetFollow(const SwPageDesc *pNew)
Definition: pagedesc.hxx:314
SwFrameFormat & GetMaster()
Definition: pagedesc.hxx:238
SwFrameFormat & GetFirstLeft()
Definition: pagedesc.hxx:241
SwFrameFormat & GetFirstMaster()
Definition: pagedesc.hxx:240
void SetPoolFormatId(sal_uInt16 const nId)
Definition: pagedesc.hxx:276
bool GetLandscape() const
Definition: pagedesc.hxx:199
void SetFootnoteInfo(const SwPageFootnoteInfo &rNew)
Definition: pagedesc.hxx:207
SwFrameFormat & GetLeft()
Definition: pagedesc.hxx:239
const SwPageFootnoteInfo & GetFootnoteInfo() const
Definition: pagedesc.hxx:205
virtual bool GetInfo(SfxPoolItem &) const override
Query information from Client.
Definition: pagedesc.cxx:199
void SetUseOn(UseOnPage eNew)
Same as WriteUseOn(), but the >= HeaderShare part of the bitfield is not modified.
Definition: pagedesc.hxx:341
void SetLandscape(bool bNew)
Definition: pagedesc.hxx:200
Footnote information.
Definition: pagedesc.hxx:49
void SetBottomDist(SwTwips const nNew)
Definition: pagedesc.hxx:77
void SetLineWidth(sal_uLong const nSet)
Definition: pagedesc.hxx:71
void SetTopDist(SwTwips const nNew)
Definition: pagedesc.hxx:76
static const std::vector< OUString > & GetChrFormatUINameArray()
static const std::vector< OUString > & GetTableStyleUINameArray()
static const std::vector< OUString > & GetExtraUINameArray()
static const std::vector< OUString > & GetHTMLUINameArray()
static const std::vector< OUString > & GetListsUINameArray()
static const std::vector< OUString > & GetPageDescUINameArray()
static const std::vector< OUString > & GetNumRuleUINameArray()
static const OUString & GetUIName(const OUString &rName, SwGetPoolIdFromName)
static const std::vector< OUString > & GetHTMLChrFormatUINameArray()
static const std::vector< OUString > & GetFrameFormatUINameArray()
static const std::vector< OUString > & GetTextUINameArray()
static const std::vector< OUString > & GetRegisterUINameArray()
static const std::vector< OUString > & GetDocUINameArray()
Represents the style of a paragraph.
Definition: fmtcol.hxx:61
bool IsAssignedToListLevelOfOutlineStyle() const
Definition: fmtcol.hxx:122
virtual bool SetFormatAttr(const SfxPoolItem &rAttr) override
Override to recognize changes on the <SwNumRuleItem> and register/unregister the paragragh style at t...
Definition: fmtcol.cxx:395
void AssignToListLevelOfOutlineStyle(const int nAssignedListLevel)
Definition: fmtcol.cxx:685
void SetNextTextFormatColl(SwTextFormatColl &rNext)
Inline implementations.
Definition: fmtcol.hxx:266
int GetAssignedOutlineStyleLevel() const
Definition: fmtcol.cxx:678
std::vector< SwTextFormatColl * >::size_type size_type
Definition: docary.hxx:67
size_t size() const
Definition: docary.hxx:88
void push_back(Value const &rVal)
Definition: docary.hxx:102
virtual bool get(DocumentSettingId id) const override
Return the specified document setting.
virtual SwFrameFormat * GetFrameFormatFromPool(sal_uInt16 nId) override
Return required automatic format.
virtual SwNumRule * GetNumRuleFromPool(sal_uInt16 nId) override
virtual SwPageDesc * GetPageDescFromPool(sal_uInt16 nId, bool bRegardLanguage=true) override
Return required automatic page style.
virtual bool IsPoolPageDescUsed(sal_uInt16 nId) const override
Check if this AutoCollection is already/still in use in this Document.
virtual bool IsPoolFormatUsed(sal_uInt16 nId) const override
Check if this AutoCollection is already/still in use.
virtual SwTextFormatColl * GetTextCollFromPool(sal_uInt16 nId, bool bRegardLanguage=true) override
Return "Auto-Collection with ID.
virtual SwFormat * GetFormatFromPool(sal_uInt16 nId) override
Return the AutomaticFormat with the supplied Id.
virtual bool IsPoolTextCollUsed(sal_uInt16 nId) const override
Check if this AutoCollection is already/still in use in this Document.
virtual SwCharFormat * GetCharFormatFromPool(sal_uInt16 nId) override
FontFamily GetFamilyType()
const OUString & GetStyleName() const
const OUString & GetFamilyName() const
FontPitch GetPitch()
rtl_TextEncoding GetCharSet() const
constexpr ::Color COL_GRAY(0x80, 0x80, 0x80)
constexpr ::Color COL_RED(0x80, 0x00, 0x00)
constexpr ::Color COL_CYAN(0x00, 0x80, 0x80)
constexpr ::Color COL_BLUE(0x00, 0x00, 0x80)
constexpr ::Color COL_BLACK(0x00, 0x00, 0x00)
SVXCORE_DLLPUBLIC OUString SvxResId(TranslateId aId)
virtual SotClipboardFormatId GetFormat(const TransferableDataHelper &aHelper) override
SwDoc & m_rDoc
Definition: docbm.cxx:1228
OString right
float u
#define DFLT_ESC_PROP
#define DFLT_ESC_AUTO_SUPER
@ Fixed
Frame cannot be moved in Var-direction.
@ Minimum
Value in Var-direction gives minimum (can be exceeded but not be less).
DefaultFontType
LINESTYLE_SINGLE
LINESTYLE_NONE
LINESTYLE_DOTTED
ITALIC_NORMAL
WEIGHT_BOLD
constexpr TypedWhichId< SvxFormatKeepItem > RES_KEEP(116)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_CJK_FONT(22)
constexpr TypedWhichId< SvxUnderlineItem > RES_CHRATR_UNDERLINE(14)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_FONTSIZE(8)
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_LANGUAGE(10)
constexpr TypedWhichId< SvxFirstLineIndentItem > RES_MARGIN_FIRSTLINE(91)
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_WEIGHT(15)
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_CTL_LANGUAGE(29)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_CJK_FONTSIZE(23)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_CTL_FONT(27)
constexpr TypedWhichId< SvxAdjustItem > RES_PARATR_ADJUST(64)
constexpr TypedWhichId< SvxLanguageItem > RES_CHRATR_CJK_LANGUAGE(24)
constexpr TypedWhichId< SvxEscapementItem > RES_CHRATR_ESCAPEMENT(6)
constexpr TypedWhichId< SvxTabStopItem > RES_PARATR_TABSTOP(68)
constexpr TypedWhichId< SvxCaseMapItem > RES_CHRATR_CASEMAP(RES_CHRATR_BEGIN)
constexpr TypedWhichId< SvxLineSpacingItem > RES_PARATR_LINESPACING(RES_PARATR_BEGIN)
constexpr TypedWhichId< SvxOrphansItem > RES_PARATR_ORPHANS(66)
constexpr TypedWhichId< SvxOpaqueItem > RES_OPAQUE(105)
constexpr TypedWhichId< SvxEmphasisMarkItem > RES_CHRATR_EMPHASIS_MARK(33)
constexpr TypedWhichId< SvxPostureItem > RES_CHRATR_POSTURE(11)
constexpr TypedWhichId< SvxProtectItem > RES_PROTECT(106)
constexpr TypedWhichId< SvxWidowsItem > RES_PARATR_WIDOWS(67)
constexpr TypedWhichId< SvxCharRotateItem > RES_CHRATR_ROTATE(32)
constexpr TypedWhichId< SvxBoxItem > RES_BOX(112)
constexpr TypedWhichId< SvxRightMarginItem > RES_MARGIN_RIGHT(93)
constexpr TypedWhichId< SvxTextLeftMarginItem > RES_MARGIN_TEXTLEFT(92)
constexpr TypedWhichId< SvxScriptSpaceItem > RES_PARATR_SCRIPTSPACE(73)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_FONT(7)
constexpr TypedWhichId< SvxColorItem > RES_CHRATR_COLOR(3)
constexpr TypedWhichId< SvxLRSpaceItem > RES_LR_SPACE(97)
constexpr TypedWhichId< SvxULSpaceItem > RES_UL_SPACE(98)
const SfxPoolItem * GetDfltAttr(sal_uInt16 nWhich)
Get the default attribute from corresponding default attribute table.
Definition: hints.cxx:147
WhichRangesContainer const aCharFormatSetRange(svl::Items< RES_CHRATR_BEGIN, RES_CHRATR_END-1, RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1 >)
WhichRangesContainer const aPgFrameFormatSetRange(svl::Items< RES_FRMATR_BEGIN, RES_FRMATR_END-1, RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1 >)
WhichRangesContainer const aTextFormatCollSetRange(svl::Items< RES_CHRATR_BEGIN, RES_CHRATR_END-1, RES_PARATR_BEGIN, RES_PARATR_END-1, RES_PARATR_LIST_LEVEL, RES_PARATR_LIST_LEVEL, RES_FRMATR_BEGIN, RES_FRMATR_END-1, RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1, XATTR_FILL_FIRST, XATTR_FILL_LAST >)
WhichRangesContainer const aFrameFormatSetRange(svl::Items< RES_FRMATR_BEGIN, RES_FRMATR_END-1, RES_UNKNOWNATR_BEGIN, RES_UNKNOWNATR_END-1, XATTR_FILL_FIRST, XATTR_FILL_LAST >)
LanguageType GetAppLanguage()
Definition: init.cxx:741
OUString aName
sal_Int64 n
#define LANGUAGE_KOREAN
#define LANGUAGE_ARABIC_SAUDI_ARABIA
#define LANGUAGE_DONTKNOW
#define LANGUAGE_ENGLISH_US
sal_uInt16 nPos
#define SAL_WARN(area, stream)
#define LINE_SPACE_DEFAULT_HEIGHT
#define SAL_N_ELEMENTS(arr)
LanguageType GetLanguage(SfxItemSet const &aSet, sal_uInt16 nLangWhichId)
Definition: langhelper.cxx:365
tools::Long const nRightMargin
size
int i
constexpr OUStringLiteral first
SvxNumberFormat::SvxNumPositionAndSpaceMode GetDefaultPositionAndSpaceMode()
Definition: number.cxx:1538
const vcl::Font & GetDefBulletFont()
retrieve font used for the default bullet list characters
Definition: number.cxx:1372
constexpr auto toTwips(N number, Length from)
constexpr Point convert(const Point &rPoint, o3tl::Length eFrom, o3tl::Length eTo)
const SvxPageUsage aArr[]
Dialog to specify the properties of date form field.
long Long
const sal_Unicode cBulletChar
Character for lists.
Definition: numrule.hxx:48
sal_Int16 nId
PAPER_ENV_C65
Size & LandscapeSwap(Size &rSize)
void SetAllScriptItem(SfxItemSet &rSet, const SfxPoolItem &rItem)
Definition: poolfmt.cxx:41
sal_uInt16 GetPoolParent(sal_uInt16 nId)
Query defined parent of a POOL-ID Returns 0 if standard USHRT_MAX if no parent the parent in all othe...
Definition: poolfmt.cxx:150
SvxFrameDirection GetDefaultFrameDirection(LanguageType nLanguage)
Return the AutoCollection by its Id.
Definition: poolfmt.cxx:79
@ RES_POOLCOLL_BULLET_LEVEL1E
End 1st level.
Definition: poolfmt.hxx:305
@ RES_POOLCOLL_LABEL_DRAWING
Label drawing objects.
Definition: poolfmt.hxx:358
@ RES_POOLCOLL_BULLET_LEVEL2
2nd level.
Definition: poolfmt.hxx:308
@ RES_POOLCOLL_REGISTER_BEGIN
Group indices.
Definition: poolfmt.hxx:364
@ RES_POOLCOLL_NUM_LEVEL5
5th level.
Definition: poolfmt.hxx:298
@ RES_POOLCOLL_TOX_AUTHORITIES1
Authorities all levels.
Definition: poolfmt.hxx:411
@ RES_POOLCOLL_BULLET_NONUM2
No numbering.
Definition: poolfmt.hxx:310
@ RES_POOLCOLL_HTML_BEGIN
Group HTML-styles.
Definition: poolfmt.hxx:432
@ RES_POOLCOLL_NUM_LEVEL1E
End 1st level.
Definition: poolfmt.hxx:283
@ RES_POOLCOLL_HEADLINE5
Heading 5.
Definition: poolfmt.hxx:266
@ RES_POOLCOLL_HTML_END
End of text styles collection.
Definition: poolfmt.hxx:440
@ RES_POOLCOLL_TEXT
Text body.
Definition: poolfmt.hxx:251
@ RES_POOLCOLL_NUM_LEVEL2E
End 2nd level.
Definition: poolfmt.hxx:287
@ RES_POOLCOLL_STANDARD
Standard.
Definition: poolfmt.hxx:250
@ RES_POOLCOLL_GREETING
Complimentary close.
Definition: poolfmt.hxx:255
@ RES_POOLCOLL_HEADLINE6
Heading 6.
Definition: poolfmt.hxx:267
@ RES_POOLCOLL_TOX_USER5
5th level.
Definition: poolfmt.hxx:389
@ RES_POOLCOLL_TOX_CNTNT4
Content 4th level.
Definition: poolfmt.hxx:380
@ RES_POOLCOLL_HEADERFOOTER
Subgroup header.
Definition: poolfmt.hxx:330
@ RES_POOLCOLL_HEADLINE10
Heading 10.
Definition: poolfmt.hxx:271
@ RES_POOLCOLL_TEXT_END
Definition: poolfmt.hxx:273
@ RES_POOLCOLL_NUM_LEVEL4E
End 4th level.
Definition: poolfmt.hxx:295
@ RES_POOLCOLL_SIGNATURE
Signature.
Definition: poolfmt.hxx:256
@ RES_POOLCOLL_TOX_USERH
Subgroup user indices.
Definition: poolfmt.hxx:384
@ RES_POOLCOLL_TOX_TABLES1
Tables all levels.
Definition: poolfmt.hxx:407
@ RES_POOLCOLL_BULLET_LEVEL4
4th level.
Definition: poolfmt.hxx:316
@ RES_POOLCOLL_TEXT_BEGIN
Definition: poolfmt.hxx:248
@ RES_POOLCOLL_HTML_BLOCKQUOTE
Definition: poolfmt.hxx:434
@ RES_POOLCOLL_EXTRA_BEGIN
Special ranges.
Definition: poolfmt.hxx:327
@ RES_POOLCOLL_TOX_IDX3
3rd level.
Definition: poolfmt.hxx:372
@ RES_POOLCOLL_TOX_USER6
user index 6..10.
Definition: poolfmt.hxx:414
@ RES_POOLCOLL_BULLET_LEVEL3S
Start 3rd level.
Definition: poolfmt.hxx:311
@ RES_POOLCOLL_REGISTER_BASE
Base index.
Definition: poolfmt.hxx:366
@ RES_POOLCOLL_BULLET_LEVEL3E
End 3rd level.
Definition: poolfmt.hxx:313
@ RES_POOLCOLL_MARGINAL
Marginalia.
Definition: poolfmt.hxx:258
@ RES_POOLCOLL_TOX_CNTNTH
Subgroup table of contents.
Definition: poolfmt.hxx:376
@ RES_POOLCOLL_TOX_OBJECT1
Objects all levels.
Definition: poolfmt.hxx:403
@ RES_POOLCOLL_LABEL
Subgroup labels.
Definition: poolfmt.hxx:345
@ RES_POOLCOLL_BULLET_LEVEL1
1st level.
Definition: poolfmt.hxx:304
@ RES_POOLCOLL_TOX_TABLESH
tables index.
Definition: poolfmt.hxx:406
@ RES_POOLCOLL_TEXT_NEGIDENT
Text body hanging indent.
Definition: poolfmt.hxx:253
@ RES_POOLCOLL_NUMBER_BULLET_BASE
Base list.
Definition: poolfmt.hxx:278
@ RES_POOLCOLL_LABEL_FRAME
Label frame.
Definition: poolfmt.hxx:348
@ RES_POOLCOLL_TOX_IDXH
Subgroup index tables.
Definition: poolfmt.hxx:369
@ RES_POOLCOLL_LABEL_FIGURE
Label figure.
Definition: poolfmt.hxx:349
@ RES_POOLCOLL_NUM_NONUM5
No numbering.
Definition: poolfmt.hxx:300
@ RES_POOLCOLL_BULLET_LEVEL5E
End 5th Level.
Definition: poolfmt.hxx:321
@ RES_POOLCOLL_NUM_LEVEL5S
Start 5th level.
Definition: poolfmt.hxx:297
@ RES_POOLCOLL_HEADLINE8
Heading 8.
Definition: poolfmt.hxx:269
@ RES_POOLCOLL_TOX_USER4
4th level.
Definition: poolfmt.hxx:388
@ RES_POOLCOLL_HTML_DD
Definition: poolfmt.hxx:437
@ RES_POOLCOLL_TOX_USER3
3rd level.
Definition: poolfmt.hxx:387
@ RES_POOLCOLL_NUM_NONUM2
No numbering.
Definition: poolfmt.hxx:288
@ RES_POOLCOLL_TOX_OBJECTH
object index.
Definition: poolfmt.hxx:402
@ RES_POOLCOLL_DOC_APPENDIX
Doc. appendix.
Definition: poolfmt.hxx:427
@ RES_POOLCOLL_ENVELOPE_ADDRESS
Addressee.
Definition: poolfmt.hxx:354
@ RES_POOLCOLL_TABLE
Subgroup table.
Definition: poolfmt.hxx:341
@ RES_POOLCOLL_TOX_IDX2
2nd level.
Definition: poolfmt.hxx:371
@ RES_POOLCOLL_BULLET_NONUM1
No numbering.
Definition: poolfmt.hxx:306
@ RES_POOLCOLL_NUM_LEVEL2S
Start 2nd level.
Definition: poolfmt.hxx:285
@ RES_POOLCOLL_TOX_USER1
1st level.
Definition: poolfmt.hxx:385
@ RES_POOLCOLL_COMMENT
Comment.
Definition: poolfmt.hxx:359
@ RES_POOLCOLL_CONFRONTATION
List indent.
Definition: poolfmt.hxx:257
@ RES_POOLCOLL_FOOTERR
Footer Right.
Definition: poolfmt.hxx:338
@ RES_POOLCOLL_TOX_USER2
2nd level.
Definition: poolfmt.hxx:386
@ RES_POOLCOLL_HEADER
Header Left&Right.
Definition: poolfmt.hxx:331
@ RES_POOLCOLL_NUM_NONUM4
No numbering.
Definition: poolfmt.hxx:296
@ RES_POOLCOLL_BULLET_LEVEL4S
Start 4th level.
Definition: poolfmt.hxx:315
@ RES_POOLCOLL_BULLET_LEVEL4E
End 4th level.
Definition: poolfmt.hxx:317
@ RES_POOLCOLL_TOX_CNTNT6
Content 6th level.
Definition: poolfmt.hxx:391
@ RES_POOLCOLL_TOX_USER9
9th level.
Definition: poolfmt.hxx:417
@ RES_POOLCOLL_NUM_LEVEL4
4th level.
Definition: poolfmt.hxx:294
@ RES_POOLCOLL_DOC_TITLE
Doc. title.
Definition: poolfmt.hxx:425
@ RES_POOLCOLL_NUM_NONUM3
No numbering.
Definition: poolfmt.hxx:292
@ RES_POOLCOLL_TOX_CNTNT3
Content 3rd level.
Definition: poolfmt.hxx:379
@ RES_POOLCOLL_TOX_ILLUSH
illustrations index.
Definition: poolfmt.hxx:398
@ RES_POOLCOLL_BULLET_NONUM5
No numbering.
Definition: poolfmt.hxx:322
@ RES_POOLCOLL_TOX_CNTNT10
Content 10th level.
Definition: poolfmt.hxx:395
@ RES_POOLCOLL_TOX_CNTNT5
Content 5th level.
Definition: poolfmt.hxx:381
@ RES_POOLCOLL_HEADLINE9
Heading 9.
Definition: poolfmt.hxx:270
@ RES_POOLCOLL_FOOTERL
Footer Left.
Definition: poolfmt.hxx:337
@ RES_POOLCOLL_FRAME
Other stuff.
Definition: poolfmt.hxx:352
@ RES_POOLCOLL_TOX_CNTNT2
Content 2nd level.
Definition: poolfmt.hxx:378
@ RES_POOLCOLL_HTML_DT
Definition: poolfmt.hxx:438
@ RES_POOLCOLL_REGISTER_END
Definition: poolfmt.hxx:420
@ RES_POOLCOLL_BULLET_NONUM3
No numbering.
Definition: poolfmt.hxx:314
@ RES_POOLCOLL_NUM_LEVEL3E
End 3rd level.
Definition: poolfmt.hxx:291
@ RES_POOLCOLL_LABEL_TABLE
Label table.
Definition: poolfmt.hxx:347
@ RES_POOLCOLL_TOX_IDX1
1st level.
Definition: poolfmt.hxx:370
@ RES_POOLCOLL_NUM_LEVEL3
3rd level.
Definition: poolfmt.hxx:290
@ RES_POOLCOLL_NUM_NONUM1
No numbering.
Definition: poolfmt.hxx:284
@ RES_POOLCOLL_BULLET_LEVEL1S
Subgroup bullets.
Definition: poolfmt.hxx:303
@ RES_POOLCOLL_HTML_HR
Definition: poolfmt.hxx:436
@ RES_POOLCOLL_NUM_LEVEL5E
End 5th level.
Definition: poolfmt.hxx:299
@ RES_POOLCOLL_TOX_CNTNT1
Content 1st level.
Definition: poolfmt.hxx:377
@ RES_POOLCOLL_BULLET_LEVEL3
3rd Level.
Definition: poolfmt.hxx:312
@ RES_POOLCOLL_LABEL_ABB
Label illustration.
Definition: poolfmt.hxx:346
@ RES_POOLCOLL_TEXT_MOVE
Text body indent.
Definition: poolfmt.hxx:254
@ RES_POOLCOLL_HEADLINE_BASE
Subgroup headings.
Definition: poolfmt.hxx:261
@ RES_POOLCOLL_SEND_ADDRESS
Sender.
Definition: poolfmt.hxx:355
@ RES_POOLCOLL_DOC_END
Definition: poolfmt.hxx:429
@ RES_POOLCOLL_LISTS_BEGIN
Group lists.
Definition: poolfmt.hxx:276
@ RES_POOLCOLL_NUM_LEVEL2
2nd level.
Definition: poolfmt.hxx:286
@ RES_POOLCOLL_NUM_LEVEL1
1st level.
Definition: poolfmt.hxx:282
@ RES_POOLCOLL_TOX_ILLUS1
Illustrations all levels.
Definition: poolfmt.hxx:399
@ RES_POOLCOLL_HEADERL
Header Left.
Definition: poolfmt.hxx:332
@ RES_POOLCOLL_TOX_USER7
7th level.
Definition: poolfmt.hxx:415
@ RES_POOLCOLL_HEADLINE2
Heading 2.
Definition: poolfmt.hxx:263
@ RES_POOLCOLL_TOX_CNTNT7
Content 7th level.
Definition: poolfmt.hxx:392
@ RES_POOLCOLL_TOX_CNTNT8
Content 8th level.
Definition: poolfmt.hxx:393
@ RES_POOLCOLL_TOX_USER10
10th level.
Definition: poolfmt.hxx:418
@ RES_POOLCOLL_DOC_SUBTITLE
Doc. subtitle.
Definition: poolfmt.hxx:426
@ RES_POOLCOLL_TOX_IDXBREAK
Separator.
Definition: poolfmt.hxx:373
@ RES_POOLCOLL_TOX_CNTNT9
Content 9th level.
Definition: poolfmt.hxx:394
@ RES_POOLCOLL_BULLET_LEVEL2S
Start 2nd level.
Definition: poolfmt.hxx:307
@ RES_POOLCOLL_HEADLINE4
Heading 4.
Definition: poolfmt.hxx:265
@ RES_POOLCOLL_BULLET_NONUM4
No numbering.
Definition: poolfmt.hxx:318
@ RES_POOLCOLL_FOOTNOTE
Footnotes.
Definition: poolfmt.hxx:353
@ RES_POOLCOLL_TOX_AUTHORITIESH
index of authorities.
Definition: poolfmt.hxx:410
@ RES_POOLCOLL_HEADLINE7
Heading 7.
Definition: poolfmt.hxx:268
@ RES_POOLCOLL_NUM_LEVEL4S
Start 4th level.
Definition: poolfmt.hxx:293
@ RES_POOLCOLL_HTML_PRE
Definition: poolfmt.hxx:435
@ RES_POOLCOLL_TOX_USER8
8th level.
Definition: poolfmt.hxx:416
@ RES_POOLCOLL_NUM_LEVEL3S
Start 3rd level.
Definition: poolfmt.hxx:289
@ RES_POOLCOLL_BULLET_LEVEL5
5th level.
Definition: poolfmt.hxx:320
@ RES_POOLCOLL_NUM_LEVEL1S
Subgroup numberings.
Definition: poolfmt.hxx:281
@ RES_POOLCOLL_HEADLINE1
Heading 1.
Definition: poolfmt.hxx:262
@ RES_POOLCOLL_BULLET_LEVEL2E
End 2nd level.
Definition: poolfmt.hxx:309
@ RES_POOLCOLL_LISTS_END
Definition: poolfmt.hxx:324
@ RES_POOLCOLL_HEADERR
Header Right.
Definition: poolfmt.hxx:333
@ RES_POOLCOLL_TABLE_HDLN
Table of Contents - heading.
Definition: poolfmt.hxx:342
@ RES_POOLCOLL_BULLET_LEVEL5S
Start 5th level.
Definition: poolfmt.hxx:319
@ RES_POOLCOLL_FOOTER
Subgroup footer.
Definition: poolfmt.hxx:336
@ RES_POOLCOLL_EXTRA_END
Definition: poolfmt.hxx:361
@ RES_POOLCOLL_DOC_BEGIN
Group chapter / document.
Definition: poolfmt.hxx:423
@ RES_POOLCOLL_TEXT_IDENT
Text body first line indent.
Definition: poolfmt.hxx:252
@ RES_POOLCOLL_HEADLINE3
Heading 3.
Definition: poolfmt.hxx:264
@ RES_POOLCOLL_ENDNOTE
Endnotes.
Definition: poolfmt.hxx:356
const sal_uInt16 POOLGRP_FRAMEFMT
Definition: poolfmt.hxx:76
@ RES_POOLNUMRULE_BUL5
NumRule Bullets 5.
Definition: poolfmt.hxx:198
@ RES_POOLNUMRULE_BUL2
NumRule Bullets 2.
Definition: poolfmt.hxx:195
@ RES_POOLNUMRULE_BEGIN
Definition: poolfmt.hxx:187
@ RES_POOLNUMRULE_BUL4
NumRule Bullets 4.
Definition: poolfmt.hxx:197
@ RES_POOLNUMRULE_NUM2
NumRule Numbering ABC.
Definition: poolfmt.hxx:190
@ RES_POOLNUMRULE_NUM1
NumRule Numbering 123.
Definition: poolfmt.hxx:189
@ RES_POOLNUMRULE_END
Definition: poolfmt.hxx:199
@ RES_POOLNUMRULE_NUM5
NumRule Numbering ivx.
Definition: poolfmt.hxx:193
@ RES_POOLNUMRULE_BUL3
NumRule Bullets 3.
Definition: poolfmt.hxx:196
@ RES_POOLNUMRULE_NUM3
NumRule Numbering abc.
Definition: poolfmt.hxx:191
@ RES_POOLNUMRULE_NUM4
NumRule Numbering IVX.
Definition: poolfmt.hxx:192
@ RES_POOLNUMRULE_BUL1
NumRule Bullets 1.
Definition: poolfmt.hxx:194
@ RES_POOLPAGE_ENVELOPE
Envelope.
Definition: poolfmt.hxx:174
@ RES_POOLPAGE_REGISTER
Index.
Definition: poolfmt.hxx:175
@ RES_POOLPAGE_END
Definition: poolfmt.hxx:181
@ RES_POOLPAGE_LEFT
Left page.
Definition: poolfmt.hxx:172
@ RES_POOLPAGE_ENDNOTE
Endnote page.
Definition: poolfmt.hxx:178
@ RES_POOLPAGE_HTML
HTML.
Definition: poolfmt.hxx:176
@ RES_POOLPAGE_FOOTNOTE
Footnote at end of document.
Definition: poolfmt.hxx:177
@ RES_POOLPAGE_BEGIN
Definition: poolfmt.hxx:168
@ RES_POOLPAGE_LANDSCAPE
Landscape page style.
Definition: poolfmt.hxx:179
@ RES_POOLPAGE_FIRST
First page.
Definition: poolfmt.hxx:171
@ RES_POOLPAGE_RIGHT
Right page.
Definition: poolfmt.hxx:173
@ RES_POOLPAGE_STANDARD
Standard page.
Definition: poolfmt.hxx:170
@ RES_POOLCHR_TOXJUMP
Jump from index.
Definition: poolfmt.hxx:123
@ RES_POOLCHR_HTML_TELETYPE
Definition: poolfmt.hxx:143
@ RES_POOLCHR_INET_VISIT
Internet visited.
Definition: poolfmt.hxx:121
@ RES_POOLCHR_BULLET_LEVEL
Bullets.
Definition: poolfmt.hxx:118
@ RES_POOLCHR_NORMAL_END
Definition: poolfmt.hxx:132
@ RES_POOLCHR_NUM_LEVEL
Numbering symbols.
Definition: poolfmt.hxx:117
@ RES_POOLCHR_HTML_CODE
Definition: poolfmt.hxx:138
@ RES_POOLCHR_BEGIN
Definition: poolfmt.hxx:110
@ RES_POOLCHR_HTML_SAMPLE
Definition: poolfmt.hxx:139
@ RES_POOLCHR_HTML_CITATION
Definition: poolfmt.hxx:136
@ RES_POOLCHR_FOOTNOTE
Footnote.
Definition: poolfmt.hxx:113
@ RES_POOLCHR_HTML_EMPHASIS
Definition: poolfmt.hxx:135
@ RES_POOLCHR_DROPCAPS
Dropcaps.
Definition: poolfmt.hxx:116
@ RES_POOLCHR_ENDNOTE
Endnote.
Definition: poolfmt.hxx:124
@ RES_POOLCHR_ENDNOTE_ANCHOR
Endnote anchor.
Definition: poolfmt.hxx:128
@ RES_POOLCHR_LABEL
Label.
Definition: poolfmt.hxx:115
@ RES_POOLCHR_PAGENO
Pages/field.
Definition: poolfmt.hxx:114
@ RES_POOLCHR_JUMPEDIT
Placeholder.
Definition: poolfmt.hxx:122
@ RES_POOLCHR_INET_NORMAL
Internet normal.
Definition: poolfmt.hxx:120
@ RES_POOLCHR_HTML_KEYBOARD
Definition: poolfmt.hxx:140
@ RES_POOLCHR_HTML_STRONG
Definition: poolfmt.hxx:137
@ RES_POOLCHR_HTML_END
Definition: poolfmt.hxx:144
@ RES_POOLCHR_LINENUM
Line numbering.
Definition: poolfmt.hxx:125
@ RES_POOLCHR_HTML_BEGIN
HTML-styles.
Definition: poolfmt.hxx:134
@ RES_POOLCHR_FOOTNOTE_ANCHOR
Footnote anchor.
Definition: poolfmt.hxx:127
@ RES_POOLCHR_HTML_VARIABLE
Definition: poolfmt.hxx:141
@ RES_POOLCHR_NORMAL_BEGIN
Definition: poolfmt.hxx:111
@ RES_POOLCHR_END
Definition: poolfmt.hxx:146
@ RES_POOLCHR_RUBYTEXT
Rubytext.
Definition: poolfmt.hxx:129
@ RES_POOLCHR_IDX_MAIN_ENTRY
Main entry in indices.
Definition: poolfmt.hxx:126
@ RES_POOLCHR_VERT_NUM
Vertical numbering symbols.
Definition: poolfmt.hxx:130
const sal_uInt16 POOLGRP_NOCOLLID
POOLCOLL-IDs: +-—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+—+ !User! Range ! 0 ! Offset ! +-—+—+—+—+—+—+—+—+—+—+—+...
Definition: poolfmt.hxx:59
const sal_uInt16 COLL_GET_RANGE_BITS
Definition: poolfmt.hxx:71
const sal_uInt16 POOLGRP_CHARFMT
Other groups:
Definition: poolfmt.hxx:75
@ RES_POOLFRM_LABEL
Labels.
Definition: poolfmt.hxx:160
@ RES_POOLFRM_FORMEL
Formula.
Definition: poolfmt.hxx:157
@ RES_POOLFRM_FRAME
Frame.
Definition: poolfmt.hxx:154
@ RES_POOLFRM_END
Definition: poolfmt.hxx:162
@ RES_POOLFRM_WATERSIGN
Watermark.
Definition: poolfmt.hxx:159
@ RES_POOLFRM_OLE
OLE.
Definition: poolfmt.hxx:156
@ RES_POOLFRM_MARGINAL
Marginalia.
Definition: poolfmt.hxx:158
@ RES_POOLFRM_BEGIN
Definition: poolfmt.hxx:152
@ RES_POOLFRM_GRAPHIC
Graphics.
Definition: poolfmt.hxx:155
static SfxItemSet & rSet
SVX_NUM_CHARS_LOWER_LETTER
SVX_NUM_CHARS_UPPER_LETTER
SVX_NUM_ROMAN_UPPER
SVX_NUM_ROMAN_LOWER
SVX_NUM_ARABIC
SVX_NUM_CHAR_SPECIAL
OUString SwResId(TranslateId aId)
Definition: swmodule.cxx:168
tools::Long SwTwips
Definition: swtypes.hxx:51
constexpr short lNumberFirstLineOffset
Definition: swtypes.hxx:101
constexpr short lBulletFirstLineOffset
Definition: swtypes.hxx:99
constexpr sal_uInt8 MAXLEVEL
Definition: swtypes.hxx:92
unsigned char sal_uInt8
sal_uInt64 left
#define HTML_PARSPACE
Definition: wrthtml.hxx:70
constexpr TypedWhichId< XFillStyleItem > XATTR_FILLSTYLE(XATTR_FILL_FIRST)