20#include <config_features.h>
21#include <config_fuzzers.h>
33#include <com/sun/star/beans/PropertyAttribute.hpp>
34#include <com/sun/star/i18n/XForbiddenCharacters.hpp>
35#include <com/sun/star/document/PrinterIndependentLayout.hpp>
64enum SwDocumentSettingsPropertyHandles
66 HANDLE_FORBIDDEN_CHARS,
67 HANDLE_LINK_UPDATE_MODE,
68 HANDLE_FIELD_AUTO_UPDATE,
69 HANDLE_CHART_AUTO_UPDATE,
70 HANDLE_ADD_PARA_TABLE_SPACING,
71 HANDLE_ADD_PARA_TABLE_SPACING_AT_START,
72 HANDLE_ALIGN_TAB_STOP_POSITION,
76 HANDLE_IS_KERN_ASIAN_PUNCTUATION,
77 HANDLE_CHARACTER_COMPRESSION_TYPE,
78 HANDLE_APPLY_USER_DATA,
79 HANDLE_SAVE_THUMBNAIL,
80 HANDLE_SAVE_GLOBAL_DOCUMENT_LINKS,
81 HANDLE_CURRENT_DATABASE_DATA_SOURCE,
82 HANDLE_CURRENT_DATABASE_COMMAND,
83 HANDLE_CURRENT_DATABASE_COMMAND_TYPE,
84 HANDLE_EMBEDDED_DATABASE_NAME,
85 HANDLE_SAVE_VERSION_ON_CLOSE,
86 HANDLE_UPDATE_FROM_TEMPLATE,
87 HANDLE_PRINTER_INDEPENDENT_LAYOUT,
89 HANDLE_IS_ADD_FLY_OFFSET,
90 HANDLE_IS_ADD_VERTICAL_FLY_OFFSET,
91 HANDLE_IS_ADD_EXTERNAL_LEADING,
93 HANDLE_OUTLINELEVEL_YIELDS_NUMBERING,
95 HANDLE_ALLOW_PRINTJOB_CANCEL,
96 HANDLE_USE_FORMER_LINE_SPACING,
97 HANDLE_ADD_PARA_SPACING_TO_TABLE_CELLS,
98 HANDLE_ADD_PARA_LINE_SPACING_TO_TABLE_CELLS,
99 HANDLE_USE_FORMER_OBJECT_POSITIONING,
100 HANDLE_USE_FORMER_TEXT_WRAPPING,
101 HANDLE_CHANGES_PASSWORD,
102 HANDLE_CONSIDER_WRAP_ON_OBJPOS,
103 HANDLE_IGNORE_FIRST_LINE_INDENT_IN_NUMBERING,
104 HANDLE_DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK,
105 HANDLE_DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT,
106 HANDLE_TABLE_ROW_KEEP,
107 HANDLE_IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION,
108 HANDLE_LOAD_READONLY,
109 HANDLE_DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE,
110 HANDLE_CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAMES,
111 HANDLE_UNIX_FORCE_ZERO_EXT_LEADING,
112 HANDLE_USE_OLD_PRINTER_METRICS,
114 HANDLE_MS_WORD_COMP_TRAILING_BLANKS,
115 HANDLE_MS_WORD_COMP_MIN_LINE_HEIGHT_BY_FLY,
116 HANDLE_TABS_RELATIVE_TO_INDENT,
119 HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST,
120 HANDLE_MODIFYPASSWORDINFO,
121 HANDLE_MATH_BASELINE_ALIGNMENT,
122 HANDLE_INVERT_BORDER_SPACING,
123 HANDLE_COLLAPSE_EMPTY_CELL_PARA,
124 HANDLE_SMALL_CAPS_PERCENTAGE_66,
126 HANDLE_UNBREAKABLE_NUMBERINGS,
127 HANDLE_STYLES_NODEFAULT,
128 HANDLE_FLOATTABLE_NOMARGINS,
129 HANDLE_CLIPPED_PICTURES,
130 HANDLE_BACKGROUND_PARA_OVER_DRAWINGS,
132 HANDLE_EMBED_USED_FONTS,
133 HANDLE_EMBED_LATIN_SCRIPT_FONTS,
134 HANDLE_EMBED_ASIAN_SCRIPT_FONTS,
135 HANDLE_EMBED_COMPLEX_SCRIPT_FONTS,
136 HANDLE_EMBED_SYSTEM_FONTS,
137 HANDLE_TAB_OVER_MARGIN,
138 HANDLE_TAB_OVER_SPACING,
139 HANDLE_TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK,
140 HANDLE_SURROUND_TEXT_WRAP_SMALL,
141 HANDLE_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING,
142 HANDLE_PROP_LINE_SPACING_SHRINKS_FIRST_LINE,
143 HANDLE_SUBTRACT_FLYS,
144 HANDLE_DISABLE_OFF_PAGE_POSITIONING,
145 HANDLE_EMPTY_DB_FIELD_HIDES_PARA,
146 HANDLE_CONTINUOUS_ENDNOTES,
147 HANDLE_PROTECT_BOOKMARKS,
148 HANDLE_PROTECT_FIELDS,
149 HANDLE_HEADER_SPACING_BELOW_LAST_PARA,
150 HANDLE_FRAME_AUTOWIDTH_WITH_MORE_PARA,
151 HANDLE_GUTTER_AT_TOP,
152 HANDLE_FOOTNOTE_IN_COLUMN_TO_PAGEEND,
153 HANDLE_IMAGE_PREFERRED_DPI,
154 HANDLE_AUTO_FIRST_LINE_INDENT_DISREGARD_LINE_SPACE,
155 HANDLE_HYPHENATE_URLS,
156 HANDLE_DO_NOT_BREAK_WRAPPED_TABLES,
157 HANDLE_WORD_LIKE_WRAP_FOR_AS_CHAR_FLYS,
158 HANDLE_NO_NUMBERING_SHOW_FOLLOWBY,
159 HANDLE_DROP_CAP_PUNCTUATION,
160 HANDLE_USE_VARIABLE_WIDTH_NBSP,
202 { OUString(
"AddParaLineSpacingToTableCells"), HANDLE_ADD_PARA_LINE_SPACING_TO_TABLE_CELLS,
cppu::UnoType<bool>::get(), 0},
207 { OUString(
"IgnoreFirstLineIndentInNumbering"), HANDLE_IGNORE_FIRST_LINE_INDENT_IN_NUMBERING,
cppu::UnoType<bool>::get(), 0},
208 { OUString(
"DoNotJustifyLinesWithManualBreak"), HANDLE_DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK,
cppu::UnoType<bool>::get(), 0},
209 { OUString(
"DoNotResetParaAttrsForNumFont"), HANDLE_DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT,
cppu::UnoType<bool>::get(), 0},
211 { OUString(
"IgnoreTabsAndBlanksForLineCalculation"), HANDLE_IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION,
cppu::UnoType<bool>::get(), 0},
214 { OUString(
"ClipAsCharacterAnchoredWriterFlyFrames"), HANDLE_CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAMES,
cppu::UnoType<bool>::get(), 0},
222 { OUString(
"MsWordCompMinLineHeightByFly"), HANDLE_MS_WORD_COMP_MIN_LINE_HEIGHT_BY_FLY,
cppu::UnoType<bool>::get(), 0 },
223 { OUString(
"TabAtLeftIndentForParagraphsInList"), HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST,
cppu::UnoType<bool>::get(), 0},
243 { OUString(
"TreatSingleColumnBreakAsPageBreak"), HANDLE_TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK,
cppu::UnoType<bool>::get(), 0},
245 { OUString(
"ApplyParagraphMarkFormatToNumbering"), HANDLE_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING,
cppu::UnoType<bool>::get(), 0},
246 { OUString(
"PropLineSpacingShrinksFirstLine"), HANDLE_PROP_LINE_SPACING_SHRINKS_FIRST_LINE,
cppu::UnoType<bool>::get(), 0},
258 { OUString(
"AutoFirstLineIndentDisregardLineSpace"), HANDLE_AUTO_FIRST_LINE_INDENT_DISREGARD_LINE_SPACE,
cppu::UnoType<bool>::get(), 0 },
290 { OUString(), 0, css::uno::Type(), 0}
301, mpPrinter( nullptr )
302, mbPreferPrinterPapersize( false )
314 return ::cppu::queryInterface(rType,
317 static_cast<XWeak*
>(
this),
320 static_cast<XPropertyState*
>(
this),
321 static_cast<XMultiPropertySet*
>(
this),
322 static_cast<XServiceInfo*
>(
this),
323 static_cast<XTypeProvider*
>(
this));
328 OWeakObject::acquire();
333 OWeakObject::release();
338 static const uno::Sequence< uno::Type >
aTypes {
351 return css::uno::Sequence<sal_Int8>();
358 throw UnknownPropertyException();
361 if (
nullptr ==
mpDoc)
362 throw UnknownPropertyException();
368 throw PropertyVetoException (
"Property is read-only: " + rInfo.
maName,
static_cast < cppu::OWeakObject *
> (
nullptr ) );
372 case HANDLE_FORBIDDEN_CHARS:
374 case HANDLE_LINK_UPDATE_MODE:
386 throw IllegalArgumentException();
391 case HANDLE_FIELD_AUTO_UPDATE:
393 bool bUpdateField = *o3tl::doAccess<bool>(rValue);
402 case HANDLE_CHART_AUTO_UPDATE:
404 bool bUpdateChart = *o3tl::doAccess<bool>(rValue);
413 case HANDLE_ADD_PARA_TABLE_SPACING:
415 bool bParaSpace =
false;
416 rValue >>= bParaSpace;
420 case HANDLE_ADD_PARA_TABLE_SPACING_AT_START:
422 bool bParaSpacePage =
false;
423 rValue >>= bParaSpacePage;
427 case HANDLE_ALIGN_TAB_STOP_POSITION:
429 bool bAlignTab = *o3tl::doAccess<bool>(rValue);
433 case HANDLE_PRINTER_NAME:
436 OUString sPrinterName;
437 if( !(rValue >>= sPrinterName) )
438 throw IllegalArgumentException();
443 if ( pPrinter->GetName() != sPrinterName )
446 assert (! pNewPrinter->isDisposed() );
447 if( pNewPrinter->IsKnown() )
461 case HANDLE_PRINTER_SETUP:
463 Sequence < sal_Int8 > aSequence;
464 if ( !(rValue >>= aSequence) )
465 throw IllegalArgumentException();
467 sal_uInt32 nSize = aSequence.getLength();
474 SID_PRINTER_NOTFOUND_WARN, SID_PRINTER_NOTFOUND_WARN,
475 SID_PRINTER_CHANGESTODOC, SID_PRINTER_CHANGESTODOC,
476 SID_HTML_MODE, SID_HTML_MODE,
479 assert (! pPrinter->isDisposed() );
487 case HANDLE_PRINTER_PAPER:
489 bool bPreferPrinterPapersize = {};
490 if(!(rValue >>= bPreferPrinterPapersize))
491 throw IllegalArgumentException();
495 case HANDLE_IS_KERN_ASIAN_PUNCTUATION:
497 bool bIsKern = *o3tl::doAccess<bool>(rValue);
500 pEditSh->ChgHyphenation();
503 case HANDLE_CHARACTER_COMPRESSION_TYPE:
509 case CharCompressType::NONE:
510 case CharCompressType::PunctuationOnly:
511 case CharCompressType::PunctuationAndKana:
514 throw IllegalArgumentException();
519 case HANDLE_APPLY_USER_DATA:
524 case HANDLE_SAVE_THUMBNAIL:
529 case HANDLE_SAVE_GLOBAL_DOCUMENT_LINKS:
531 bool bSaveGlobal = *o3tl::doAccess<bool>(rValue);
535 case HANDLE_CURRENT_DATABASE_DATA_SOURCE:
538 if ( rValue >>=
aData.sDataSource )
542 case HANDLE_CURRENT_DATABASE_COMMAND:
546 if ( rValue >>=
aData.sCommand )
550 "\"CurrentDatabaseCommand\" property possibly set before \"CurrentDatabaseDataSource\"" );
553 case HANDLE_CURRENT_DATABASE_COMMAND_TYPE:
556 if ( rValue >>=
aData.nCommandType )
559 "\"CurrentDatabaseCommandType\" property possibly set before \"CurrentDatabaseDataSource\"" );
561 "\"CurrentDatabaseCommandType\" property possibly set before \"CurrentDatabaseCommand\"" );
564 case HANDLE_EMBEDDED_DATABASE_NAME:
566#if HAVE_FEATURE_DBCONNECTIVITY && !ENABLE_FUZZERS
567 OUString sEmbeddedName;
568 if (rValue >>= sEmbeddedName)
573 case HANDLE_SAVE_VERSION_ON_CLOSE:
578 case HANDLE_UPDATE_FROM_TEMPLATE:
583 case HANDLE_PRINTER_INDEPENDENT_LAYOUT:
588 bool bUseVirDev =
true;
589 bool bHiResVirDev =
true;
590 if( nTmp == document::PrinterIndependentLayout::DISABLED )
592 else if ( nTmp == document::PrinterIndependentLayout::LOW_RESOLUTION )
593 bHiResVirDev =
false;
594 else if ( nTmp != document::PrinterIndependentLayout::HIGH_RESOLUTION )
595 throw IllegalArgumentException();
600 case HANDLE_IS_LABEL_DOC :
603 if(!(rValue >>= bSet))
604 throw IllegalArgumentException();
608 case HANDLE_IS_ADD_FLY_OFFSET:
610 bool bTmp = *o3tl::doAccess<bool>(rValue);
614 case HANDLE_IS_ADD_VERTICAL_FLY_OFFSET:
616 bool bTmp = *o3tl::doAccess<bool>(rValue);
620 case HANDLE_IS_ADD_EXTERNAL_LEADING:
622 bool bTmp = *o3tl::doAccess<bool>(rValue);
626 case HANDLE_OLD_NUMBERING:
628 bool bTmp = *o3tl::doAccess<bool>(rValue);
632 case HANDLE_OUTLINELEVEL_YIELDS_NUMBERING:
637 case HANDLE_ALLOW_PRINTJOB_CANCEL:
640 if (!(rValue >>= bState))
641 throw IllegalArgumentException();
645 case HANDLE_USE_FORMER_LINE_SPACING:
647 bool bTmp = *o3tl::doAccess<bool>(rValue);
651 case HANDLE_ADD_PARA_SPACING_TO_TABLE_CELLS:
653 bool bTmp = *o3tl::doAccess<bool>(rValue);
657 case HANDLE_ADD_PARA_LINE_SPACING_TO_TABLE_CELLS:
659 bool bTmp = *o3tl::doAccess<bool>(rValue);
663 case HANDLE_USE_FORMER_OBJECT_POSITIONING:
665 bool bTmp = *o3tl::doAccess<bool>(rValue);
669 case HANDLE_USE_FORMER_TEXT_WRAPPING:
671 bool bTmp = *o3tl::doAccess<bool>(rValue);
675 case HANDLE_CHANGES_PASSWORD:
677 Sequence <sal_Int8> aNew;
681 if(aNew.hasElements())
690 case HANDLE_CONSIDER_WRAP_ON_OBJPOS:
692 bool bTmp = *o3tl::doAccess<bool>(rValue);
696 case HANDLE_IGNORE_FIRST_LINE_INDENT_IN_NUMBERING:
698 bool bTmp = *o3tl::doAccess<bool>(rValue);
702 case HANDLE_DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK:
704 bool bTmp = *o3tl::doAccess<bool>(rValue);
708 case HANDLE_DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT:
710 bool bTmp = *o3tl::doAccess<bool>(rValue);
714 case HANDLE_TABLE_ROW_KEEP:
716 bool bTmp = *o3tl::doAccess<bool>(rValue);
720 case HANDLE_IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION:
722 bool bTmp = *o3tl::doAccess<bool>(rValue);
726 case HANDLE_LOAD_READONLY:
731 case HANDLE_DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE:
733 bool bTmp = *o3tl::doAccess<bool>(rValue);
737 case HANDLE_CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAMES:
739 bool bTmp = *o3tl::doAccess<bool>(rValue);
743 case HANDLE_UNIX_FORCE_ZERO_EXT_LEADING:
745 bool bTmp = *o3tl::doAccess<bool>(rValue);
749 case HANDLE_USE_OLD_PRINTER_METRICS:
752 case HANDLE_TABS_RELATIVE_TO_INDENT:
754 bool bTmp = *o3tl::doAccess<bool>(rValue);
765 case HANDLE_RSID_ROOT:
772 case HANDLE_PROTECT_FORM:
774 bool bTmp = *o3tl::doAccess<bool>(rValue);
778 case HANDLE_MS_WORD_COMP_TRAILING_BLANKS:
780 bool bTmp = *o3tl::doAccess<bool>(rValue);
784 case HANDLE_MS_WORD_COMP_MIN_LINE_HEIGHT_BY_FLY:
786 bool bTmp = *o3tl::doAccess<bool>(rValue);
790 case HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST:
792 bool bTmp = *o3tl::doAccess<bool>(rValue);
796 case HANDLE_MODIFYPASSWORDINFO:
798 uno::Sequence< beans::PropertyValue > aInfo;
799 if ( !( rValue >>= aInfo ) )
800 throw lang::IllegalArgumentException(
801 "Value of type Sequence<PropertyValue> expected!",
802 uno::Reference< uno::XInterface >(),
806 throw beans::PropertyVetoException(
807 "The hash is not allowed to be changed now!",
808 uno::Reference< uno::XInterface >() );
811 case HANDLE_MATH_BASELINE_ALIGNMENT:
813 bool bTmp = *o3tl::doAccess<bool>(rValue);
817 case HANDLE_INVERT_BORDER_SPACING:
819 bool bTmp = *o3tl::doAccess<bool>(rValue);
823 case HANDLE_COLLAPSE_EMPTY_CELL_PARA:
825 bool bTmp = *o3tl::doAccess<bool>(rValue);
829 case HANDLE_SMALL_CAPS_PERCENTAGE_66:
831 bool bTmp = *o3tl::doAccess<bool>(rValue);
835 case HANDLE_TAB_OVERFLOW:
837 bool bTmp = *o3tl::doAccess<bool>(rValue);
841 case HANDLE_UNBREAKABLE_NUMBERINGS:
843 bool bTmp = *o3tl::doAccess<bool>(rValue);
847 case HANDLE_STYLES_NODEFAULT:
849 bool bTmp = *o3tl::doAccess<bool>(rValue);
853 case HANDLE_FLOATTABLE_NOMARGINS:
855 bool bTmp = *o3tl::doAccess<bool>(rValue);
859 case HANDLE_CLIPPED_PICTURES:
861 bool bTmp = *o3tl::doAccess<bool>(rValue);
865 case HANDLE_BACKGROUND_PARA_OVER_DRAWINGS:
867 bool bTmp = *o3tl::doAccess<bool>(rValue);
871 case HANDLE_EMBED_FONTS:
873 bool bTmp = *o3tl::doAccess<bool>(rValue);
877 case HANDLE_EMBED_USED_FONTS:
879 bool bTmp = *o3tl::doAccess<bool>(rValue);
883 case HANDLE_EMBED_LATIN_SCRIPT_FONTS:
885 bool bTmp = *o3tl::doAccess<bool>(rValue);
889 case HANDLE_EMBED_ASIAN_SCRIPT_FONTS:
891 bool bTmp = *o3tl::doAccess<bool>(rValue);
895 case HANDLE_EMBED_COMPLEX_SCRIPT_FONTS:
897 bool bTmp = *o3tl::doAccess<bool>(rValue);
901 case HANDLE_EMBED_SYSTEM_FONTS:
903 bool bTmp = *o3tl::doAccess<bool>(rValue);
907 case HANDLE_TAB_OVER_MARGIN:
909 bool bTmp = *o3tl::doAccess<bool>(rValue);
913 case HANDLE_TAB_OVER_SPACING:
915 bool bTmp = *o3tl::doAccess<bool>(rValue);
919 case HANDLE_TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK:
921 bool bTmp = *o3tl::doAccess<bool>(rValue);
925 case HANDLE_SURROUND_TEXT_WRAP_SMALL:
927 bool bTmp = *o3tl::doAccess<bool>(rValue);
931 case HANDLE_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING:
933 bool bTmp = *o3tl::doAccess<bool>(rValue);
937 case HANDLE_PROP_LINE_SPACING_SHRINKS_FIRST_LINE:
947 case HANDLE_SUBTRACT_FLYS:
957 case HANDLE_DISABLE_OFF_PAGE_POSITIONING:
967 case HANDLE_EMPTY_DB_FIELD_HIDES_PARA:
977 case HANDLE_CONTINUOUS_ENDNOTES:
987 case HANDLE_PROTECT_BOOKMARKS:
997 case HANDLE_PROTECT_FIELDS:
1000 if (rValue >>= bTmp)
1007 case HANDLE_HEADER_SPACING_BELOW_LAST_PARA:
1010 if (rValue >>= bTmp)
1017 case HANDLE_FRAME_AUTOWIDTH_WITH_MORE_PARA:
1020 if (rValue >>= bTmp)
1027 case HANDLE_GUTTER_AT_TOP:
1030 if (rValue >>= bTmp)
1036 case HANDLE_FOOTNOTE_IN_COLUMN_TO_PAGEEND:
1039 if (rValue >>= bTmp)
1046 case HANDLE_IMAGE_PREFERRED_DPI:
1055 case HANDLE_AUTO_FIRST_LINE_INDENT_DISREGARD_LINE_SPACE:
1058 if (rValue >>= bTmp)
1065 case HANDLE_HYPHENATE_URLS:
1068 if (rValue >>= bTmp)
1075 case HANDLE_DO_NOT_BREAK_WRAPPED_TABLES:
1078 if (rValue >>= bTmp)
1085 case HANDLE_WORD_LIKE_WRAP_FOR_AS_CHAR_FLYS:
1088 if (rValue >>= bTmp)
1093 case HANDLE_NO_NUMBERING_SHOW_FOLLOWBY:
1096 if (rValue >>= bTmp)
1101 case HANDLE_DROP_CAP_PUNCTUATION:
1104 if (rValue >>= bTmp)
1109 case HANDLE_USE_VARIABLE_WIDTH_NBSP:
1112 if (rValue >>= bTmp)
1118 throw UnknownPropertyException(OUString::number(rInfo.
mnHandle));
1132 aOptions.
Put(aAddPrinterItem);
1148 throw UnknownPropertyException();
1150 if (
nullptr ==
mpDoc)
1151 throw UnknownPropertyException();
1158 case HANDLE_FORBIDDEN_CHARS:
1163 case HANDLE_LINK_UPDATE_MODE:
1168 case HANDLE_FIELD_AUTO_UPDATE:
1174 case HANDLE_CHART_AUTO_UPDATE:
1180 case HANDLE_ADD_PARA_TABLE_SPACING:
1185 case HANDLE_ADD_PARA_TABLE_SPACING_AT_START:
1190 case HANDLE_ALIGN_TAB_STOP_POSITION:
1195 case HANDLE_PRINTER_NAME:
1198 rValue <<= pPrinter ? pPrinter->GetName() : OUString();
1201 case HANDLE_PRINTER_SETUP:
1207 pPrinter->
Store( aStream );
1208 sal_uInt32 nSize = aStream.
TellEnd();
1210 Sequence < sal_Int8 > aSequence( nSize );
1211 aStream.
ReadBytes(aSequence.getArray(), nSize);
1212 rValue <<= aSequence;
1216 Sequence < sal_Int8 > aSequence ( 0 );
1217 rValue <<= aSequence;
1221 case HANDLE_PRINTER_PAPER:
1224 rValue <<= pTempPrinter && pTempPrinter->GetPrinterSettingsPreferred();
1227 case HANDLE_IS_KERN_ASIAN_PUNCTUATION:
1232 case HANDLE_APPLY_USER_DATA:
1237 case HANDLE_SAVE_THUMBNAIL:
1242 case HANDLE_CHARACTER_COMPRESSION_TYPE:
1247 case HANDLE_SAVE_GLOBAL_DOCUMENT_LINKS:
1252 case HANDLE_CURRENT_DATABASE_DATA_SOURCE:
1258 case HANDLE_CURRENT_DATABASE_COMMAND:
1264 case HANDLE_CURRENT_DATABASE_COMMAND_TYPE:
1270 case HANDLE_EMBEDDED_DATABASE_NAME:
1272#if HAVE_FEATURE_DBCONNECTIVITY && !ENABLE_FUZZERS
1279 case HANDLE_SAVE_VERSION_ON_CLOSE:
1284 case HANDLE_UPDATE_FROM_TEMPLATE:
1289 case HANDLE_PRINTER_INDEPENDENT_LAYOUT:
1294 document::PrinterIndependentLayout::HIGH_RESOLUTION :
1295 document::PrinterIndependentLayout::LOW_RESOLUTION ) :
1296 document::PrinterIndependentLayout::DISABLED;
1297 rValue <<= nVirDevType;
1300 case HANDLE_IS_LABEL_DOC:
1306 case HANDLE_IS_ADD_FLY_OFFSET:
1311 case HANDLE_IS_ADD_VERTICAL_FLY_OFFSET:
1316 case HANDLE_IS_ADD_EXTERNAL_LEADING:
1321 case HANDLE_OLD_NUMBERING:
1326 case HANDLE_OUTLINELEVEL_YIELDS_NUMBERING:
1331 case HANDLE_ALLOW_PRINTJOB_CANCEL:
1336 case HANDLE_USE_FORMER_LINE_SPACING:
1341 case HANDLE_ADD_PARA_SPACING_TO_TABLE_CELLS:
1346 case HANDLE_ADD_PARA_LINE_SPACING_TO_TABLE_CELLS:
1351 case HANDLE_USE_FORMER_OBJECT_POSITIONING:
1356 case HANDLE_USE_FORMER_TEXT_WRAPPING:
1361 case HANDLE_CHANGES_PASSWORD:
1366 case HANDLE_CONSIDER_WRAP_ON_OBJPOS:
1371 case HANDLE_IGNORE_FIRST_LINE_INDENT_IN_NUMBERING:
1376 case HANDLE_DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK:
1381 case HANDLE_DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT:
1386 case HANDLE_TABLE_ROW_KEEP :
1391 case HANDLE_IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION:
1396 case HANDLE_LOAD_READONLY:
1401 case HANDLE_DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE:
1406 case HANDLE_CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAMES:
1411 case HANDLE_UNIX_FORCE_ZERO_EXT_LEADING:
1416 case HANDLE_USE_OLD_PRINTER_METRICS:
1421 case HANDLE_TABS_RELATIVE_TO_INDENT:
1428 rValue <<= static_cast < sal_Int32 > (
mpDoc->
getRsid() );
1431 case HANDLE_RSID_ROOT:
1436 case HANDLE_PROTECT_FORM:
1441 case HANDLE_MS_WORD_COMP_TRAILING_BLANKS:
1446 case HANDLE_MS_WORD_COMP_MIN_LINE_HEIGHT_BY_FLY:
1451 case HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST:
1456 case HANDLE_MODIFYPASSWORDINFO:
1461 case HANDLE_MATH_BASELINE_ALIGNMENT:
1466 case HANDLE_INVERT_BORDER_SPACING:
1471 case HANDLE_COLLAPSE_EMPTY_CELL_PARA:
1476 case HANDLE_SMALL_CAPS_PERCENTAGE_66:
1481 case HANDLE_TAB_OVERFLOW:
1486 case HANDLE_UNBREAKABLE_NUMBERINGS:
1491 case HANDLE_STYLES_NODEFAULT:
1496 case HANDLE_FLOATTABLE_NOMARGINS:
1501 case HANDLE_CLIPPED_PICTURES:
1506 case HANDLE_BACKGROUND_PARA_OVER_DRAWINGS:
1511 case HANDLE_EMBED_FONTS:
1516 case HANDLE_EMBED_USED_FONTS:
1521 case HANDLE_EMBED_LATIN_SCRIPT_FONTS:
1526 case HANDLE_EMBED_ASIAN_SCRIPT_FONTS:
1531 case HANDLE_EMBED_COMPLEX_SCRIPT_FONTS:
1536 case HANDLE_EMBED_SYSTEM_FONTS:
1541 case HANDLE_TAB_OVER_MARGIN:
1546 case HANDLE_TAB_OVER_SPACING:
1551 case HANDLE_TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK:
1556 case HANDLE_SURROUND_TEXT_WRAP_SMALL:
1561 case HANDLE_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING:
1566 case HANDLE_PROP_LINE_SPACING_SHRINKS_FIRST_LINE:
1571 case HANDLE_SUBTRACT_FLYS:
1576 case HANDLE_DISABLE_OFF_PAGE_POSITIONING:
1581 case HANDLE_EMPTY_DB_FIELD_HIDES_PARA:
1587 case HANDLE_CONTINUOUS_ENDNOTES:
1593 case HANDLE_PROTECT_BOOKMARKS:
1599 case HANDLE_PROTECT_FIELDS:
1605 case HANDLE_HEADER_SPACING_BELOW_LAST_PARA:
1611 case HANDLE_FRAME_AUTOWIDTH_WITH_MORE_PARA:
1617 case HANDLE_GUTTER_AT_TOP:
1622 case HANDLE_FOOTNOTE_IN_COLUMN_TO_PAGEEND:
1628 case HANDLE_IMAGE_PREFERRED_DPI:
1633 case HANDLE_AUTO_FIRST_LINE_INDENT_DISREGARD_LINE_SPACE:
1639 case HANDLE_HYPHENATE_URLS:
1645 case HANDLE_DO_NOT_BREAK_WRAPPED_TABLES:
1651 case HANDLE_WORD_LIKE_WRAP_FOR_AS_CHAR_FLYS:
1657 case HANDLE_NO_NUMBERING_SHOW_FOLLOWBY:
1663 case HANDLE_DROP_CAP_PUNCTUATION:
1669 case HANDLE_USE_VARIABLE_WIDTH_NBSP:
1676 throw UnknownPropertyException(OUString::number(rInfo.
mnHandle));
1689 return "SwXDocumentSettings";
1699 return {
"com.sun.star.document.Settings",
"com.sun.star.text.DocumentSettings",
"com.sun.star.text.PrintSettings" };
@ CONSIDER_WRAP_ON_OBJECT_POSITION
@ SMALL_CAPS_PERCENTAGE_66
@ BACKGROUND_PARA_OVER_DRAWINGS
@ CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAME
@ TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK
@ SURROUND_TEXT_WRAP_SMALL
@ DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK
@ HYPHENATE_URLS
tdf#152952
@ GLOBAL_DOCUMENT_SAVE_LINKS
@ USE_FORMER_TEXT_WRAPPING
@ IGNORE_FIRST_LINE_INDENT_IN_NUMBERING
@ HEADER_SPACING_BELOW_LAST_PARA
@ ADD_VERTICAL_FLY_OFFSETS
@ PARA_SPACE_MAX_AT_PAGES
@ EMBED_COMPLEX_SCRIPT_FONTS
@ APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING
@ COLLAPSE_EMPTY_CELL_PARA
@ DISABLE_OFF_PAGE_POSITIONING
@ AUTO_FIRST_LINE_INDENT_DISREGARD_LINE_SPACE
@ TABS_RELATIVE_TO_INDENT
@ FRAME_AUTOWIDTH_WITH_MORE_PARA
@ TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST
@ ADD_PARA_SPACING_TO_TABLE_CELLS
@ WRAP_AS_CHAR_FLYS_LIKE_IN_OOXML
@ USE_HIRES_VIRTUAL_DEVICE
@ NO_NUMBERING_SHOW_FOLLOWBY
@ EMBED_LATIN_SCRIPT_FONTS
@ MS_WORD_COMP_MIN_LINE_HEIGHT_BY_FLY
@ IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION
@ DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE
@ USE_VARIABLE_WIDTH_NBSP
@ EMBED_ASIAN_SCRIPT_FONTS
@ DO_NOT_BREAK_WRAPPED_TABLES
@ EMPTY_DB_FIELD_HIDES_PARA
@ MS_WORD_COMP_TRAILING_BLANKS
@ MATH_BASELINE_ALIGNMENT
@ UNIX_FORCE_ZERO_EXT_LEADING
@ PROP_LINE_SPACING_SHRINKS_FIRST_LINE
@ DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT
@ ADD_PARA_LINE_SPACING_TO_TABLE_CELLS
@ FOOTNOTE_IN_COLUMN_TO_PAGEEND
static rtl::Reference< MasterPropertySetInfo > lcl_createSettingsInfo()
virtual SfxPrinter * getPrinter(bool bCreate) const =0
Return the printer set at the document.
virtual void setReferenceDeviceType(bool bNewVirtual, bool bNewHiRes)=0
Sets the type of the reference device used for formatting the document.
virtual void setPrinter(SfxPrinter *pP, bool bDeleteOld, bool bCallPrtDataChanged)=0
Set the printer at the document.
virtual const SwPrintData & getPrintData() const =0
Returns the PrintData.
virtual void SetRedlinePassword(const css::uno::Sequence< sal_Int8 > &rNewPassword)=0
virtual void SetRedlineFlags(RedlineFlags eMode)=0
Set a new redline mode.
virtual RedlineFlags GetRedlineFlags() const =0
Query the currently set redline mode.
virtual const css::uno::Sequence< sal_Int8 > & GetRedlinePassword() const =0
virtual sal_uInt16 getLinkUpdateMode(bool bGlobalSettings) const =0
Get the current link update mode.
virtual void setFieldUpdateFlags(SwFieldUpdateFlags nMode)=0
Set the current field update mode.
virtual void setImagePreferredDPI(sal_Int32 nValue)=0
virtual bool get(DocumentSettingId id) const =0
Return the specified document setting.
virtual void setLinkUpdateMode(sal_uInt16 nMode)=0
Set the current link update mode.
virtual void setCharacterCompressionType(CharCompressType nType)=0
Set the character compression type for Asian characters.
virtual void set(DocumentSettingId id, bool value)=0
Set the specified document setting.
virtual SwFieldUpdateFlags getFieldUpdateFlags(bool bGlobalSettings) const =0
Get the current field update mode.
virtual CharCompressType getCharacterCompressionType() const =0
Get the character compression type for Asian characters.
virtual sal_Int32 getImagePreferredDPI()=0
virtual std::unique_ptr< SfxItemSet > Clone(bool bItems=true, SfxItemPool *pToPool=nullptr) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
bool SetModifyPasswordInfo(const css::uno::Sequence< css::beans::PropertyValue > &aInfo)
bool IsLoadReadonly() const
bool IsUseUserData() const
void SetQueryLoadTemplate(bool b)
void SetSaveVersionOnClose(bool bSet)
void SetUseThumbnailSave(bool _bNew)
void SetUseUserData(bool bNew)
bool IsUseThumbnailSave() const
bool IsSaveVersionOnClose() const
void SetLoadReadonly(bool _bReadonly)
SfxObjectCreateMode GetCreateMode() const
bool Stamp_GetPrintCancelState() const
const css::uno::Sequence< css::beans::PropertyValue > & GetModifyPasswordInfo() const
bool IsQueryLoadTemplate() const
void Stamp_SetPrintCancelState(bool bState)
void Store(SvStream &rStream) const
static VclPtr< SfxPrinter > Create(SvStream &rStream, std::unique_ptr< SfxItemSet > &&pOptions)
const SfxItemSet & GetOptions() const
virtual sal_uInt64 TellEnd() override
sal_uInt64 Seek(sal_uInt64 nPos)
std::size_t ReadBytes(void *pData, std::size_t nSize)
const OUString & getEmbeddedName() const
void setEmbeddedName(const OUString &rEmbeddedName, SwDocShell &rDocShell)
SwDoc * GetDoc()
returns Doc. But be careful!
SwDBData const & GetDBData()
IDocumentDeviceAccess const & getIDocumentDeviceAccess() const
SwDBManager * GetDBManager() const
sal_uInt32 getRsid() const
sal_uInt32 getRsidRoot() const
IDocumentRedlineAccess const & getIDocumentRedlineAccess() const
void setRsidRoot(sal_uInt32 nVal)
SwEditShell const * GetEditShell() const
IDocumentSettingAccess const & getIDocumentSettingAccess() const
void setRsid(sal_uInt32 nVal)
const SwAttrPool & GetAttrPool() const
void ChgDBData(const SwDBData &rNewData)
virtual void _preGetValues() override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual ~SwXDocumentSettings() noexcept override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual void _setSingleValue(const comphelper::PropertyInfo &rInfo, const css::uno::Any &rValue) override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &aType) override
virtual void SAL_CALL acquire() noexcept override
SwXTextDocument * mpModel
virtual void _postGetValues() override
virtual void _postSetValues() override
virtual void _getSingleValue(const comphelper::PropertyInfo &rInfo, css::uno::Any &rValue) override
VclPtr< SfxPrinter > mpPrinter
the printer should be set only once; since there are several printer-related properties,...
bool mbPreferPrinterPapersize
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
SwXDocumentSettings(SwXTextDocument *pModel)
virtual void _preSetValues() override
virtual OUString SAL_CALL getImplementationName() override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual void SAL_CALL release() noexcept override
SwXDocumentPropertyHelper * GetPropertyHelper()
SwDocShell * GetDocShell()
void registerSlave(ChainablePropertySet *pNewSet) noexcept
css::uno::Type const & get()
#define FN_PARAM_ADDPRINTER
@ AUTOUPD_FIELD_AND_CHARTS
#define SAL_WARN_IF(condition, area, stream)
constexpr OUStringLiteral aData
class SAL_NO_VTABLE XPropertySet
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)
#define STREAM_SEEK_TO_BEGIN