LibreOffice Module sw (master)  1
DocumentSettingManager.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  */
19 
21 #include <doc.hxx>
23 #include <IDocumentState.hxx>
27 #include <svx/svdmodel.hxx>
28 #include <svl/asiancfg.hxx>
30 #include <unotools/configmgr.hxx>
31 #include <drawdoc.hxx>
32 #include <swmodule.hxx>
33 #include <linkenum.hxx>
34 #include <rootfrm.hxx>
35 #include <breakit.hxx>
36 #include <docary.hxx>
37 
38 /* IDocumentSettingAccess */
39 
41  :m_rDoc(rDoc),
42  mnLinkUpdMode( GLOBALSETTING ),
43  meFieldUpdMode( AUTOUPD_GLOBALSETTING ),
44  meChrCmprType( CharCompressType::NONE ),
45  mn32DummyCompatibilityOptions1(0),
46  mn32DummyCompatibilityOptions2(0),
47  mbHTMLMode(false),
48  mbIsGlobalDoc(false),
49  mbGlblDocSaveLinks(false),
50  mbIsLabelDoc(false),
51  mbPurgeOLE(true),
52  mbKernAsianPunctuation(false),
53 
54  // COMPATIBILITY FLAGS START
55 
56  mbAddFlyOffsets(false),
57  mbAddVerticalFlyOffsets(false),
58  mbUseHiResolutionVirtualDevice(true),
59  mbMathBaselineAlignment(false), // default for *old* documents is 'off'
60  mbStylesNoDefault(false),
61  mbFloattableNomargins(false),
62  mEmbedFonts(false),
63  mEmbedUsedFonts(false),
64  mEmbedLatinScriptFonts(true),
65  mEmbedAsianScriptFonts(true),
66  mEmbedComplexScriptFonts(true),
67  mEmbedSystemFonts(false),
68  mbOldNumbering(false),
69  mbIgnoreFirstLineIndentInNumbering(false),
70  mbDoNotResetParaAttrsForNumFont(false),
71  mbTableRowKeep(false),
72  mbIgnoreTabsAndBlanksForLineCalculation(false),
73  mbDoNotCaptureDrawObjsOnPage(false),
74  mbClipAsCharacterAnchoredWriterFlyFrames(false),
75  mbUnixForceZeroExtLeading(false),
76  mbTabRelativeToIndent(true),
77  mbProtectForm(false), // i#78591#
78  mbMsWordCompTrailingBlanks(false), // tdf#104349 tdf#104668
79  mbInvertBorderSpacing (false),
80  mbCollapseEmptyCellPara(true),
81  mbTabAtLeftIndentForParagraphsInList(false), //#i89181#
82  mbSmallCapsPercentage66(false),
83  mbTabOverflow(true),
84  mbUnbreakableNumberings(false),
85  mbClippedPictures(false),
86  mbBackgroundParaOverDrawings(false),
87  mbTabOverMargin(false),
88  mbTreatSingleColumnBreakAsPageBreak(false),
89  mbSurroundTextWrapSmall(false),
90  mbPropLineSpacingShrinksFirstLine(true),
91  mbSubtractFlys(false),
92  mApplyParagraphMarkFormatToNumbering(false),
93  mbLastBrowseMode( false ),
94  mbDisableOffPagePositioning ( false )
95 
96  // COMPATIBILITY FLAGS END
97 {
98  // COMPATIBILITY FLAGS START
99 
100  // Note: Any non-hidden compatibility flag should obtain its default
101  // by asking SvtCompatibilityOptions, see below.
102 
104  {
105  const SvtCompatibilityOptions aOptions;
122  }
123  else
124  {
125  mbParaSpaceMax = false;
126  mbParaSpaceMaxAtPages = false;
127  mbTabCompat = true;
128  mbUseVirtualDevice = true;
129  mbAddExternalLeading = true;
130  mbOldLineSpacing = false;
132  mbUseFormerObjectPos = false;
133  mbUseFormerTextWrapping = false;
134  mbConsiderWrapOnObjPos = false;
136  mbProtectForm = false;
138  mbSubtractFlys = false;
140  }
141 
142  // COMPATIBILITY FLAGS END
143 
144 }
145 
146 
148 {
149 }
150 
151 /* IDocumentSettingAccess */
153 {
154  switch (id)
155  {
156  // COMPATIBILITY FLAGS START
157  case DocumentSettingId::PARA_SPACE_MAX: return mbParaSpaceMax; //(n8Dummy1 & DUMMY_PARASPACEMAX);
158  case DocumentSettingId::PARA_SPACE_MAX_AT_PAGES: return mbParaSpaceMaxAtPages; //(n8Dummy1 & DUMMY_PARASPACEMAX_AT_PAGES);
159  case DocumentSettingId::TAB_COMPAT: return mbTabCompat; //(n8Dummy1 & DUMMY_TAB_COMPAT);
160  case DocumentSettingId::ADD_FLY_OFFSETS: return mbAddFlyOffsets; //(n8Dummy2 & DUMMY_ADD_FLY_OFFSETS);
161  case DocumentSettingId::ADD_VERTICAL_FLY_OFFSETS: return mbAddVerticalFlyOffsets;
162  case DocumentSettingId::ADD_EXT_LEADING: return mbAddExternalLeading; //(n8Dummy2 & DUMMY_ADD_EXTERNAL_LEADING);
163  case DocumentSettingId::USE_VIRTUAL_DEVICE: return mbUseVirtualDevice; //(n8Dummy1 & DUMMY_USE_VIRTUAL_DEVICE);
164  case DocumentSettingId::USE_HIRES_VIRTUAL_DEVICE: return mbUseHiResolutionVirtualDevice; //(n8Dummy2 & DUMMY_USE_HIRES_VIR_DEV);
165  case DocumentSettingId::OLD_NUMBERING: return mbOldNumbering;
166  case DocumentSettingId::OLD_LINE_SPACING: return mbOldLineSpacing;
167  case DocumentSettingId::ADD_PARA_SPACING_TO_TABLE_CELLS: return mbAddParaSpacingToTableCells;
168  case DocumentSettingId::USE_FORMER_OBJECT_POS: return mbUseFormerObjectPos;
169  case DocumentSettingId::USE_FORMER_TEXT_WRAPPING: return mbUseFormerTextWrapping;
170  case DocumentSettingId::CONSIDER_WRAP_ON_OBJECT_POSITION: return mbConsiderWrapOnObjPos;
171  case DocumentSettingId::DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK: return mbDoNotJustifyLinesWithManualBreak;
172  case DocumentSettingId::IGNORE_FIRST_LINE_INDENT_IN_NUMBERING: return mbIgnoreFirstLineIndentInNumbering;
173  case DocumentSettingId::TABLE_ROW_KEEP: return mbTableRowKeep;
174  case DocumentSettingId::IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION: return mbIgnoreTabsAndBlanksForLineCalculation;
175  case DocumentSettingId::DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE: return mbDoNotCaptureDrawObjsOnPage;
176  // #i68949#
177  case DocumentSettingId::CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAME: return mbClipAsCharacterAnchoredWriterFlyFrames;
178  case DocumentSettingId::UNIX_FORCE_ZERO_EXT_LEADING: return mbUnixForceZeroExtLeading;
179  case DocumentSettingId::TABS_RELATIVE_TO_INDENT : return mbTabRelativeToIndent;
180  case DocumentSettingId::PROTECT_FORM: return mbProtectForm;
181  // tdf#104349 tdf#104668
182  case DocumentSettingId::MS_WORD_COMP_TRAILING_BLANKS: return mbMsWordCompTrailingBlanks;
183  // #i89181#
184  case DocumentSettingId::TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST: return mbTabAtLeftIndentForParagraphsInList;
185  case DocumentSettingId::INVERT_BORDER_SPACING: return mbInvertBorderSpacing;
186  case DocumentSettingId::COLLAPSE_EMPTY_CELL_PARA: return mbCollapseEmptyCellPara;
187  case DocumentSettingId::SMALL_CAPS_PERCENTAGE_66: return mbSmallCapsPercentage66;
188  case DocumentSettingId::TAB_OVERFLOW: return mbTabOverflow;
189  case DocumentSettingId::UNBREAKABLE_NUMBERINGS: return mbUnbreakableNumberings;
190  case DocumentSettingId::CLIPPED_PICTURES: return mbClippedPictures;
191  case DocumentSettingId::BACKGROUND_PARA_OVER_DRAWINGS: return mbBackgroundParaOverDrawings;
192  case DocumentSettingId::TAB_OVER_MARGIN: return mbTabOverMargin;
193  case DocumentSettingId::TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK: return mbTreatSingleColumnBreakAsPageBreak;
194  case DocumentSettingId::SURROUND_TEXT_WRAP_SMALL: return mbSurroundTextWrapSmall;
195  case DocumentSettingId::PROP_LINE_SPACING_SHRINKS_FIRST_LINE: return mbPropLineSpacingShrinksFirstLine;
196  case DocumentSettingId::SUBTRACT_FLYS: return mbSubtractFlys;
197 
198  case DocumentSettingId::BROWSE_MODE: return mbLastBrowseMode; // Attention: normally the SwViewShell has to be asked!
199  case DocumentSettingId::HTML_MODE: return mbHTMLMode;
200  case DocumentSettingId::GLOBAL_DOCUMENT: return mbIsGlobalDoc;
201  case DocumentSettingId::GLOBAL_DOCUMENT_SAVE_LINKS: return mbGlblDocSaveLinks;
202  case DocumentSettingId::LABEL_DOCUMENT: return mbIsLabelDoc;
203  case DocumentSettingId::PURGE_OLE: return mbPurgeOLE;
204  case DocumentSettingId::KERN_ASIAN_PUNCTUATION: return mbKernAsianPunctuation;
205  case DocumentSettingId::DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT: return mbDoNotResetParaAttrsForNumFont;
206  case DocumentSettingId::MATH_BASELINE_ALIGNMENT: return mbMathBaselineAlignment;
207  case DocumentSettingId::STYLES_NODEFAULT: return mbStylesNoDefault;
208  case DocumentSettingId::FLOATTABLE_NOMARGINS: return mbFloattableNomargins;
209  case DocumentSettingId::EMBED_FONTS: return mEmbedFonts;
210  case DocumentSettingId::EMBED_USED_FONTS: return mEmbedUsedFonts;
211  case DocumentSettingId::EMBED_LATIN_SCRIPT_FONTS: return mEmbedLatinScriptFonts;
212  case DocumentSettingId::EMBED_ASIAN_SCRIPT_FONTS: return mEmbedAsianScriptFonts;
213  case DocumentSettingId::EMBED_COMPLEX_SCRIPT_FONTS: return mEmbedComplexScriptFonts;
214  case DocumentSettingId::EMBED_SYSTEM_FONTS: return mEmbedSystemFonts;
215  case DocumentSettingId::APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING: return mApplyParagraphMarkFormatToNumbering;
216  case DocumentSettingId::DISABLE_OFF_PAGE_POSITIONING: return mbDisableOffPagePositioning;
217  case DocumentSettingId::EMPTY_DB_FIELD_HIDES_PARA: return mbEmptyDbFieldHidesPara;
219  return mbContinuousEndnotes;
220  default:
221  OSL_FAIL("Invalid setting id");
222  }
223  return false;
224 }
225 
226 void sw::DocumentSettingManager::set(/*[in]*/ DocumentSettingId id, /*[in]*/ bool value)
227 {
228  switch (id)
229  {
230  // COMPATIBILITY FLAGS START
232  mbParaSpaceMax = value;
233  break;
235  mbParaSpaceMaxAtPages = value;
236  break;
238  mbTabCompat = value;
239  break;
241  mbAddFlyOffsets = value;
242  break;
244  mbAddVerticalFlyOffsets = value;
245  break;
247  mbAddExternalLeading = value;
248  break;
250  mbUseVirtualDevice = value;
251  break;
253  mbUseHiResolutionVirtualDevice = value;
254  break;
256  if (mbOldNumbering != value)
257  {
258  mbOldNumbering = value;
259 
260  const SwNumRuleTable& rNmTable = m_rDoc.GetNumRuleTable();
261  for( SwNumRuleTable::size_type n = 0; n < rNmTable.size(); ++n )
262  rNmTable[n]->SetInvalidRule(true);
263 
264  m_rDoc.UpdateNumRule();
265 
266  SwNumRule *pOutlineRule = m_rDoc.GetOutlineNumRule();
267  if (pOutlineRule)
268  {
269  pOutlineRule->Validate();
270  // counting of phantoms depends on <IsOldNumbering()>
271  pOutlineRule->SetCountPhantoms( !mbOldNumbering );
272  }
273  }
274  break;
276  mbOldLineSpacing = value;
277  break;
279  mbAddParaSpacingToTableCells = value;
280  break;
282  mbUseFormerObjectPos = value;
283  break;
285  mbUseFormerTextWrapping = value;
286  break;
288  mbConsiderWrapOnObjPos = value;
289  break;
291  mbDoNotJustifyLinesWithManualBreak = value;
292  break;
294  mbIgnoreFirstLineIndentInNumbering = value;
295  break;
296 
298  mbTableRowKeep = value;
299  break;
300 
302  mbIgnoreTabsAndBlanksForLineCalculation = value;
303  break;
304 
306  mbDoNotCaptureDrawObjsOnPage = value;
307  break;
308 
309  // #i68949#
311  mbClipAsCharacterAnchoredWriterFlyFrames = value;
312  break;
313 
315  mbUnixForceZeroExtLeading = value;
316  break;
317 
319  mbProtectForm = value;
320  break;
321 
322  // tdf#140349
324  mbMsWordCompTrailingBlanks = value;
325  break;
326 
328  mbTabRelativeToIndent = value;
329  break;
330  // #i89181#
332  mbTabAtLeftIndentForParagraphsInList = value;
333  break;
334 
336  mbInvertBorderSpacing = value;
337  break;
338 
340  mbCollapseEmptyCellPara = value;
341  break;
342 
344  mbSmallCapsPercentage66 = value;
345  break;
346 
348  mbTabOverflow = value;
349  break;
350 
352  mbUnbreakableNumberings = value;
353  break;
354 
356  mbClippedPictures = value;
357  break;
358 
360  mbBackgroundParaOverDrawings = value;
361  break;
362 
364  mbTabOverMargin = value;
365  break;
366 
368  mbTreatSingleColumnBreakAsPageBreak = value;
369  break;
370 
372  mbSurroundTextWrapSmall = value;
373  break;
374 
376  mbPropLineSpacingShrinksFirstLine = value;
377  break;
378 
380  mbSubtractFlys = value;
381  break;
382 
383  // COMPATIBILITY FLAGS END
384 
385  case DocumentSettingId::BROWSE_MODE: //can be used temporary (load/save) when no SwViewShell is available
386  mbLastBrowseMode = value;
387  break;
388 
390  mbHTMLMode = value;
391  break;
392 
394  mbIsGlobalDoc = value;
395  break;
396 
398  mbGlblDocSaveLinks = value;
399  break;
400 
402  mbIsLabelDoc = value;
403  break;
404 
406  mbPurgeOLE = value;
407  break;
408 
410  mbKernAsianPunctuation = value;
411  break;
412 
414  mbDoNotResetParaAttrsForNumFont = value;
415  break;
417  mbMathBaselineAlignment = value;
418  break;
420  mbStylesNoDefault = value;
421  break;
423  mbFloattableNomargins = value;
424  break;
426  mEmbedFonts = value;
427  break;
429  mEmbedUsedFonts = value;
430  break;
432  mEmbedLatinScriptFonts = value;
433  break;
435  mEmbedAsianScriptFonts = value;
436  break;
438  mEmbedComplexScriptFonts = value;
439  break;
441  mEmbedSystemFonts = value;
442  break;
444  mApplyParagraphMarkFormatToNumbering = value;
445  break;
447  mbDisableOffPagePositioning = value;
448  break;
450  mbEmptyDbFieldHidesPara = value;
451  break;
453  mbContinuousEndnotes = value;
454  break;
455  default:
456  OSL_FAIL("Invalid setting id");
457  }
458 }
459 
460 const css::i18n::ForbiddenCharacters*
461  sw::DocumentSettingManager::getForbiddenCharacters(/*[in]*/ LanguageType nLang, /*[in]*/ bool bLocaleData ) const
462 {
463  const css::i18n::ForbiddenCharacters* pRet = nullptr;
464  if (mxForbiddenCharsTable)
465  pRet = mxForbiddenCharsTable->GetForbiddenCharacters( nLang, false );
466  if( bLocaleData && !pRet && g_pBreakIt )
467  pRet = &g_pBreakIt->GetForbidden( nLang );
468  return pRet;
469 }
470 
472  /*[in]*/ const css::i18n::ForbiddenCharacters& rFChars )
473 {
474  if (!mxForbiddenCharsTable)
476  mxForbiddenCharsTable->SetForbiddenCharacters( nLang, rFChars );
477 
478  SdrModel *pDrawModel = m_rDoc.getIDocumentDrawModelAccess().GetDrawModel();
479  if( pDrawModel )
480  {
481  pDrawModel->SetForbiddenCharsTable(mxForbiddenCharsTable);
482  if( !m_rDoc.IsInReading() )
483  pDrawModel->ReformatAllTextObjects();
484  }
485 
486  SwRootFrame* pTmpRoot = m_rDoc.getIDocumentLayoutAccess().GetCurrentLayout();
487  if( pTmpRoot && !m_rDoc.IsInReading() )
488  {
489  pTmpRoot->StartAllAction();
490  for(SwRootFrame* aLayout : m_rDoc.GetAllLayouts())
491  aLayout->InvalidateAllContent(SwInvalidateFlags::Size);
492  pTmpRoot->EndAllAction();
493  }
494  m_rDoc.getIDocumentState().SetModified();
495 }
496 
497 std::shared_ptr<SvxForbiddenCharactersTable>& sw::DocumentSettingManager::getForbiddenCharacterTable()
498 {
499  if (!mxForbiddenCharsTable)
501  return mxForbiddenCharsTable;
502 }
503 
504 const std::shared_ptr<SvxForbiddenCharactersTable>& sw::DocumentSettingManager::getForbiddenCharacterTable() const
505 {
506  return mxForbiddenCharsTable;
507 }
508 
509 sal_uInt16 sw::DocumentSettingManager::getLinkUpdateMode( /*[in]*/bool bGlobalSettings ) const
510 {
511  sal_uInt16 nRet = mnLinkUpdMode;
512  if( bGlobalSettings && GLOBALSETTING == nRet )
513  nRet = SW_MOD()->GetLinkUpdMode();
514  return nRet;
515 }
516 
517 void sw::DocumentSettingManager::setLinkUpdateMode( /*[in]*/sal_uInt16 eMode )
518 {
519  mnLinkUpdMode = eMode;
520 }
521 
523 {
524  SwFieldUpdateFlags eRet = meFieldUpdMode;
525  if( bGlobalSettings && AUTOUPD_GLOBALSETTING == eRet )
526  eRet = SW_MOD()->GetFieldUpdateFlags();
527  return eRet;
528 }
529 
531 {
532  meFieldUpdMode = eMode;
533 }
534 
536 {
537  return meChrCmprType;
538 }
539 
541 {
542  if( meChrCmprType != n )
543  {
544  meChrCmprType = n;
545 
546  SdrModel *pDrawModel = m_rDoc.getIDocumentDrawModelAccess().GetDrawModel();
547  if( pDrawModel )
548  {
549  pDrawModel->SetCharCompressType( n );
550  if( !m_rDoc.IsInReading() )
551  pDrawModel->ReformatAllTextObjects();
552  }
553 
554  SwRootFrame* pTmpRoot = m_rDoc.getIDocumentLayoutAccess().GetCurrentLayout();
555  if( pTmpRoot && !m_rDoc.IsInReading() )
556  {
557  pTmpRoot->StartAllAction();
558  for( auto aLayout : m_rDoc.GetAllLayouts() )
559  aLayout->InvalidateAllContent(SwInvalidateFlags::Size);
560  pTmpRoot->EndAllAction();
561  }
562  m_rDoc.getIDocumentState().SetModified();
563  }
564 }
565 
566 
568 {
569  Setn32DummyCompatibilityOptions1( rSource.Getn32DummyCompatibilityOptions1() );
570  Setn32DummyCompatibilityOptions2( rSource.Getn32DummyCompatibilityOptions2() );
571 
572  mbParaSpaceMax = rSource.mbParaSpaceMax;
573  mbParaSpaceMaxAtPages = rSource.mbParaSpaceMaxAtPages;
574  mbTabCompat = rSource.mbTabCompat;
575  mbUseVirtualDevice = rSource.mbUseVirtualDevice;
576  mbAddExternalLeading = rSource.mbAddExternalLeading;
577  mbOldLineSpacing = rSource.mbOldLineSpacing;
578  mbAddParaSpacingToTableCells = rSource.mbAddParaSpacingToTableCells;
579  mbUseFormerObjectPos = rSource.mbUseFormerObjectPos;
580  mbUseFormerTextWrapping = rSource.mbUseFormerTextWrapping;
581  mbConsiderWrapOnObjPos = rSource.mbConsiderWrapOnObjPos;
582  mbAddFlyOffsets = rSource.mbAddFlyOffsets;
583  mbOldNumbering = rSource.mbOldNumbering;
584  mbUseHiResolutionVirtualDevice = rSource.mbUseHiResolutionVirtualDevice;
585  mbIgnoreFirstLineIndentInNumbering = rSource.mbIgnoreFirstLineIndentInNumbering;
586  mbDoNotJustifyLinesWithManualBreak = rSource.mbDoNotJustifyLinesWithManualBreak;
587  mbDoNotResetParaAttrsForNumFont = rSource.mbDoNotResetParaAttrsForNumFont;
588  mbTableRowKeep = rSource.mbTableRowKeep;
589  mbIgnoreTabsAndBlanksForLineCalculation = rSource.mbIgnoreTabsAndBlanksForLineCalculation;
590  mbDoNotCaptureDrawObjsOnPage = rSource.mbDoNotCaptureDrawObjsOnPage;
591  mbClipAsCharacterAnchoredWriterFlyFrames = rSource.mbClipAsCharacterAnchoredWriterFlyFrames;
592  mbUnixForceZeroExtLeading = rSource.mbUnixForceZeroExtLeading;
593  mbTabRelativeToIndent = rSource.mbTabRelativeToIndent;
594  mbTabAtLeftIndentForParagraphsInList = rSource.mbTabAtLeftIndentForParagraphsInList;
595  mbMsWordCompTrailingBlanks = rSource.mbMsWordCompTrailingBlanks;
596  mbEmptyDbFieldHidesPara = rSource.mbEmptyDbFieldHidesPara;
597 }
598 
600 {
601  return mn32DummyCompatibilityOptions1;
602 }
603 
604 void sw::DocumentSettingManager::Setn32DummyCompatibilityOptions1( const sal_uInt32 CompatibilityOptions1 )
605 {
606  mn32DummyCompatibilityOptions1 = CompatibilityOptions1;
607 }
608 
610 {
611  return mn32DummyCompatibilityOptions2;
612 }
613 
614 void sw::DocumentSettingManager::Setn32DummyCompatibilityOptions2( const sal_uInt32 CompatibilityOptions2 )
615 {
616  mn32DummyCompatibilityOptions2 = CompatibilityOptions2;
617 }
618 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual const css::i18n::ForbiddenCharacters * getForbiddenCharacters(LanguageType nLang, bool bLocaleData) const override
Return the forbidden characters.
bool GetDefault(SvtCompatibilityEntry::Index rIdx) const
SwFieldUpdateFlags
Definition: fldupde.hxx:22
virtual bool get(DocumentSettingId id) const override
Return the specified document setting.
void SetForbiddenCharsTable(const std::shared_ptr< SvxForbiddenCharactersTable > &xForbiddenChars)
Definition: doc.hxx:185
virtual CharCompressType getCharacterCompressionType() const override
Get the character compression type for Asian characters.
virtual void set(DocumentSettingId id, bool value) override
Set the specified document setting.
void SetCharCompressType(CharCompressType nType)
void Setn32DummyCompatibilityOptions1(const sal_uInt32 CompatibilityOptions1) override
Set the n32DummyCompatabilityOptions1.
The root element of a Writer document layout.
Definition: rootfrm.hxx:79
static LanguageType nLang
Definition: srtdlg.cxx:60
void ReformatAllTextObjects()
SwBreakIt * g_pBreakIt
Definition: breakit.cxx:33
static bool IsFuzzing()
static std::shared_ptr< SvxForbiddenCharactersTable > makeForbiddenCharactersTable(const css::uno::Reference< css::uno::XComponentContext > &rxContext)
virtual void setLinkUpdateMode(sal_uInt16 nMode) override
Set the current link update mode.
void ReplaceCompatibilityOptions(const DocumentSettingManager &rSource)
virtual void setFieldUpdateFlags(SwFieldUpdateFlags eMode) override
Set the current field update mode.
#define SW_MOD()
Definition: swmodule.hxx:256
CharCompressType
std::vector< SwNumRule * >::size_type size_type
Definition: docary.hxx:70
virtual std::shared_ptr< SvxForbiddenCharactersTable > & getForbiddenCharacterTable() override
Get the forbidden character table and creates one if necessary.
void Setn32DummyCompatibilityOptions2(const sal_uInt32 CompatibilityOptions2) override
Set the n32DummyCompatabilityOptions2.
size_t size() const
Definition: docary.hxx:91
void SetCountPhantoms(bool bCountPhantoms)
Definition: number.cxx:982
virtual void setCharacterCompressionType(CharCompressType nType) override
Set the character compression type for Asian characters.
sal_uInt32 Getn32DummyCompatibilityOptions2() const override
Get the n32DummyCompatabilityOptions2.
void Validate()
Definition: number.cxx:969
virtual SwFieldUpdateFlags getFieldUpdateFlags(bool bGlobalSettings) const override
Get the current field update mode.
virtual void setForbiddenCharacters(LanguageType nLang, const css::i18n::ForbiddenCharacters &rForbiddenCharacters) override
Set the forbidden characters.
virtual sal_uInt16 getLinkUpdateMode(bool bGlobalSettings) const override
Get the current link update mode.
sal_uInt32 Getn32DummyCompatibilityOptions1() const override
Get the n32DummyCompatabilityOptions1.
Reference< XComponentContext > getProcessComponentContext()
virtual ~DocumentSettingManager() override
void StartAllAction()
Set up Start-/EndAction for all Shells on an as high as possible (Shell section) level.
Definition: pagechg.cxx:1864
void EndAllAction(bool bVirDev=false)
Definition: pagechg.cxx:1876
const css::i18n::ForbiddenCharacters & GetForbidden(const LanguageType aLang)
Definition: breakit.hxx:103