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_WORD_LIKE_WRAP_FOR_AS_CHAR_FLYS
197 { OUString(
"AddParaLineSpacingToTableCells"), HANDLE_ADD_PARA_LINE_SPACING_TO_TABLE_CELLS,
cppu::UnoType<bool>::get(), 0},
202 { OUString(
"IgnoreFirstLineIndentInNumbering"), HANDLE_IGNORE_FIRST_LINE_INDENT_IN_NUMBERING,
cppu::UnoType<bool>::get(), 0},
203 { OUString(
"DoNotJustifyLinesWithManualBreak"), HANDLE_DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK,
cppu::UnoType<bool>::get(), 0},
204 { OUString(
"DoNotResetParaAttrsForNumFont"), HANDLE_DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT,
cppu::UnoType<bool>::get(), 0},
206 { OUString(
"IgnoreTabsAndBlanksForLineCalculation"), HANDLE_IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION,
cppu::UnoType<bool>::get(), 0},
209 { OUString(
"ClipAsCharacterAnchoredWriterFlyFrames"), HANDLE_CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAMES,
cppu::UnoType<bool>::get(), 0},
217 { OUString(
"MsWordCompMinLineHeightByFly"), HANDLE_MS_WORD_COMP_MIN_LINE_HEIGHT_BY_FLY,
cppu::UnoType<bool>::get(), 0 },
218 { OUString(
"TabAtLeftIndentForParagraphsInList"), HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST,
cppu::UnoType<bool>::get(), 0},
238 { OUString(
"TreatSingleColumnBreakAsPageBreak"), HANDLE_TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK,
cppu::UnoType<bool>::get(), 0},
240 { OUString(
"ApplyParagraphMarkFormatToNumbering"), HANDLE_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING,
cppu::UnoType<bool>::get(), 0},
241 { OUString(
"PropLineSpacingShrinksFirstLine"), HANDLE_PROP_LINE_SPACING_SHRINKS_FIRST_LINE,
cppu::UnoType<bool>::get(), 0},
253 { OUString(
"AutoFirstLineIndentDisregardLineSpace"), HANDLE_AUTO_FIRST_LINE_INDENT_DISREGARD_LINE_SPACE,
cppu::UnoType<bool>::get(), 0 },
280 { OUString(), 0, css::uno::Type(), 0}
291, mpPrinter( nullptr )
292, mbPreferPrinterPapersize( false )
304 return ::cppu::queryInterface(rType,
307 &
dynamic_cast<XWeak&
>(*
this),
310 &
dynamic_cast<XPropertyState&
>(*
this),
311 &
dynamic_cast<XMultiPropertySet&
>(*
this),
312 &
dynamic_cast<XServiceInfo&
>(*
this),
313 &
dynamic_cast<XTypeProvider&
>(*
this));
318 OWeakObject::acquire();
323 OWeakObject::release();
328 static const uno::Sequence< uno::Type >
aTypes {
341 return css::uno::Sequence<sal_Int8>();
348 throw UnknownPropertyException();
351 if (
nullptr ==
mpDoc)
352 throw UnknownPropertyException();
358 throw PropertyVetoException (
"Property is read-only: " + rInfo.
maName,
static_cast < cppu::OWeakObject *
> (
nullptr ) );
362 case HANDLE_FORBIDDEN_CHARS:
364 case HANDLE_LINK_UPDATE_MODE:
376 throw IllegalArgumentException();
381 case HANDLE_FIELD_AUTO_UPDATE:
383 bool bUpdateField = *o3tl::doAccess<bool>(rValue);
392 case HANDLE_CHART_AUTO_UPDATE:
394 bool bUpdateChart = *o3tl::doAccess<bool>(rValue);
403 case HANDLE_ADD_PARA_TABLE_SPACING:
405 bool bParaSpace =
false;
406 rValue >>= bParaSpace;
410 case HANDLE_ADD_PARA_TABLE_SPACING_AT_START:
412 bool bParaSpacePage =
false;
413 rValue >>= bParaSpacePage;
417 case HANDLE_ALIGN_TAB_STOP_POSITION:
419 bool bAlignTab = *o3tl::doAccess<bool>(rValue);
423 case HANDLE_PRINTER_NAME:
426 OUString sPrinterName;
427 if( !(rValue >>= sPrinterName) )
428 throw IllegalArgumentException();
433 if ( pPrinter->GetName() != sPrinterName )
436 assert (! pNewPrinter->isDisposed() );
437 if( pNewPrinter->IsKnown() )
451 case HANDLE_PRINTER_SETUP:
453 Sequence < sal_Int8 > aSequence;
454 if ( !(rValue >>= aSequence) )
455 throw IllegalArgumentException();
457 sal_uInt32 nSize = aSequence.getLength();
464 SID_PRINTER_NOTFOUND_WARN, SID_PRINTER_NOTFOUND_WARN,
465 SID_PRINTER_CHANGESTODOC, SID_PRINTER_CHANGESTODOC,
466 SID_HTML_MODE, SID_HTML_MODE,
469 assert (! pPrinter->isDisposed() );
477 case HANDLE_PRINTER_PAPER:
479 bool bPreferPrinterPapersize = {};
480 if(!(rValue >>= bPreferPrinterPapersize))
481 throw IllegalArgumentException();
485 case HANDLE_IS_KERN_ASIAN_PUNCTUATION:
487 bool bIsKern = *o3tl::doAccess<bool>(rValue);
494 case HANDLE_CHARACTER_COMPRESSION_TYPE:
500 case CharCompressType::NONE:
501 case CharCompressType::PunctuationOnly:
502 case CharCompressType::PunctuationAndKana:
505 throw IllegalArgumentException();
510 case HANDLE_APPLY_USER_DATA:
515 case HANDLE_SAVE_THUMBNAIL:
520 case HANDLE_SAVE_GLOBAL_DOCUMENT_LINKS:
522 bool bSaveGlobal = *o3tl::doAccess<bool>(rValue);
526 case HANDLE_CURRENT_DATABASE_DATA_SOURCE:
529 if ( rValue >>=
aData.sDataSource )
533 case HANDLE_CURRENT_DATABASE_COMMAND:
537 if ( rValue >>=
aData.sCommand )
541 "\"CurrentDatabaseCommand\" property possibly set before \"CurrentDatabaseDataSource\"" );
544 case HANDLE_CURRENT_DATABASE_COMMAND_TYPE:
547 if ( rValue >>=
aData.nCommandType )
550 "\"CurrentDatabaseCommandType\" property possibly set before \"CurrentDatabaseDataSource\"" );
552 "\"CurrentDatabaseCommandType\" property possibly set before \"CurrentDatabaseCommand\"" );
555 case HANDLE_EMBEDDED_DATABASE_NAME:
557#if HAVE_FEATURE_DBCONNECTIVITY && !ENABLE_FUZZERS
558 OUString sEmbeddedName;
559 if (rValue >>= sEmbeddedName)
564 case HANDLE_SAVE_VERSION_ON_CLOSE:
569 case HANDLE_UPDATE_FROM_TEMPLATE:
574 case HANDLE_PRINTER_INDEPENDENT_LAYOUT:
579 bool bUseVirDev =
true;
580 bool bHiResVirDev =
true;
581 if( nTmp == document::PrinterIndependentLayout::DISABLED )
583 else if ( nTmp == document::PrinterIndependentLayout::LOW_RESOLUTION )
584 bHiResVirDev =
false;
585 else if ( nTmp != document::PrinterIndependentLayout::HIGH_RESOLUTION )
586 throw IllegalArgumentException();
591 case HANDLE_IS_LABEL_DOC :
594 if(!(rValue >>= bSet))
595 throw IllegalArgumentException();
599 case HANDLE_IS_ADD_FLY_OFFSET:
601 bool bTmp = *o3tl::doAccess<bool>(rValue);
605 case HANDLE_IS_ADD_VERTICAL_FLY_OFFSET:
607 bool bTmp = *o3tl::doAccess<bool>(rValue);
611 case HANDLE_IS_ADD_EXTERNAL_LEADING:
613 bool bTmp = *o3tl::doAccess<bool>(rValue);
617 case HANDLE_OLD_NUMBERING:
619 bool bTmp = *o3tl::doAccess<bool>(rValue);
623 case HANDLE_OUTLINELEVEL_YIELDS_NUMBERING:
628 case HANDLE_ALLOW_PRINTJOB_CANCEL:
631 if (!(rValue >>= bState))
632 throw IllegalArgumentException();
636 case HANDLE_USE_FORMER_LINE_SPACING:
638 bool bTmp = *o3tl::doAccess<bool>(rValue);
642 case HANDLE_ADD_PARA_SPACING_TO_TABLE_CELLS:
644 bool bTmp = *o3tl::doAccess<bool>(rValue);
648 case HANDLE_ADD_PARA_LINE_SPACING_TO_TABLE_CELLS:
650 bool bTmp = *o3tl::doAccess<bool>(rValue);
654 case HANDLE_USE_FORMER_OBJECT_POSITIONING:
656 bool bTmp = *o3tl::doAccess<bool>(rValue);
660 case HANDLE_USE_FORMER_TEXT_WRAPPING:
662 bool bTmp = *o3tl::doAccess<bool>(rValue);
666 case HANDLE_CHANGES_PASSWORD:
668 Sequence <sal_Int8> aNew;
672 if(aNew.hasElements())
681 case HANDLE_CONSIDER_WRAP_ON_OBJPOS:
683 bool bTmp = *o3tl::doAccess<bool>(rValue);
687 case HANDLE_IGNORE_FIRST_LINE_INDENT_IN_NUMBERING:
689 bool bTmp = *o3tl::doAccess<bool>(rValue);
693 case HANDLE_DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK:
695 bool bTmp = *o3tl::doAccess<bool>(rValue);
699 case HANDLE_DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT:
701 bool bTmp = *o3tl::doAccess<bool>(rValue);
705 case HANDLE_TABLE_ROW_KEEP:
707 bool bTmp = *o3tl::doAccess<bool>(rValue);
711 case HANDLE_IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION:
713 bool bTmp = *o3tl::doAccess<bool>(rValue);
717 case HANDLE_LOAD_READONLY:
722 case HANDLE_DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE:
724 bool bTmp = *o3tl::doAccess<bool>(rValue);
728 case HANDLE_CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAMES:
730 bool bTmp = *o3tl::doAccess<bool>(rValue);
734 case HANDLE_UNIX_FORCE_ZERO_EXT_LEADING:
736 bool bTmp = *o3tl::doAccess<bool>(rValue);
740 case HANDLE_USE_OLD_PRINTER_METRICS:
743 case HANDLE_TABS_RELATIVE_TO_INDENT:
745 bool bTmp = *o3tl::doAccess<bool>(rValue);
756 case HANDLE_RSID_ROOT:
763 case HANDLE_PROTECT_FORM:
765 bool bTmp = *o3tl::doAccess<bool>(rValue);
769 case HANDLE_MS_WORD_COMP_TRAILING_BLANKS:
771 bool bTmp = *o3tl::doAccess<bool>(rValue);
775 case HANDLE_MS_WORD_COMP_MIN_LINE_HEIGHT_BY_FLY:
777 bool bTmp = *o3tl::doAccess<bool>(rValue);
781 case HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST:
783 bool bTmp = *o3tl::doAccess<bool>(rValue);
787 case HANDLE_MODIFYPASSWORDINFO:
789 uno::Sequence< beans::PropertyValue > aInfo;
790 if ( !( rValue >>= aInfo ) )
791 throw lang::IllegalArgumentException(
792 "Value of type Sequence<PropertyValue> expected!",
793 uno::Reference< uno::XInterface >(),
797 throw beans::PropertyVetoException(
798 "The hash is not allowed to be changed now!",
799 uno::Reference< uno::XInterface >() );
802 case HANDLE_MATH_BASELINE_ALIGNMENT:
804 bool bTmp = *o3tl::doAccess<bool>(rValue);
808 case HANDLE_INVERT_BORDER_SPACING:
810 bool bTmp = *o3tl::doAccess<bool>(rValue);
814 case HANDLE_COLLAPSE_EMPTY_CELL_PARA:
816 bool bTmp = *o3tl::doAccess<bool>(rValue);
820 case HANDLE_SMALL_CAPS_PERCENTAGE_66:
822 bool bTmp = *o3tl::doAccess<bool>(rValue);
826 case HANDLE_TAB_OVERFLOW:
828 bool bTmp = *o3tl::doAccess<bool>(rValue);
832 case HANDLE_UNBREAKABLE_NUMBERINGS:
834 bool bTmp = *o3tl::doAccess<bool>(rValue);
838 case HANDLE_STYLES_NODEFAULT:
840 bool bTmp = *o3tl::doAccess<bool>(rValue);
844 case HANDLE_FLOATTABLE_NOMARGINS:
846 bool bTmp = *o3tl::doAccess<bool>(rValue);
850 case HANDLE_CLIPPED_PICTURES:
852 bool bTmp = *o3tl::doAccess<bool>(rValue);
856 case HANDLE_BACKGROUND_PARA_OVER_DRAWINGS:
858 bool bTmp = *o3tl::doAccess<bool>(rValue);
862 case HANDLE_EMBED_FONTS:
864 bool bTmp = *o3tl::doAccess<bool>(rValue);
868 case HANDLE_EMBED_USED_FONTS:
870 bool bTmp = *o3tl::doAccess<bool>(rValue);
874 case HANDLE_EMBED_LATIN_SCRIPT_FONTS:
876 bool bTmp = *o3tl::doAccess<bool>(rValue);
880 case HANDLE_EMBED_ASIAN_SCRIPT_FONTS:
882 bool bTmp = *o3tl::doAccess<bool>(rValue);
886 case HANDLE_EMBED_COMPLEX_SCRIPT_FONTS:
888 bool bTmp = *o3tl::doAccess<bool>(rValue);
892 case HANDLE_EMBED_SYSTEM_FONTS:
894 bool bTmp = *o3tl::doAccess<bool>(rValue);
898 case HANDLE_TAB_OVER_MARGIN:
900 bool bTmp = *o3tl::doAccess<bool>(rValue);
904 case HANDLE_TAB_OVER_SPACING:
906 bool bTmp = *o3tl::doAccess<bool>(rValue);
910 case HANDLE_TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK:
912 bool bTmp = *o3tl::doAccess<bool>(rValue);
916 case HANDLE_SURROUND_TEXT_WRAP_SMALL:
918 bool bTmp = *o3tl::doAccess<bool>(rValue);
922 case HANDLE_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING:
924 bool bTmp = *o3tl::doAccess<bool>(rValue);
928 case HANDLE_PROP_LINE_SPACING_SHRINKS_FIRST_LINE:
938 case HANDLE_SUBTRACT_FLYS:
948 case HANDLE_DISABLE_OFF_PAGE_POSITIONING:
958 case HANDLE_EMPTY_DB_FIELD_HIDES_PARA:
968 case HANDLE_CONTINUOUS_ENDNOTES:
978 case HANDLE_PROTECT_BOOKMARKS:
988 case HANDLE_PROTECT_FIELDS:
998 case HANDLE_HEADER_SPACING_BELOW_LAST_PARA:
1001 if (rValue >>= bTmp)
1008 case HANDLE_FRAME_AUTOWIDTH_WITH_MORE_PARA:
1011 if (rValue >>= bTmp)
1018 case HANDLE_GUTTER_AT_TOP:
1021 if (rValue >>= bTmp)
1027 case HANDLE_FOOTNOTE_IN_COLUMN_TO_PAGEEND:
1030 if (rValue >>= bTmp)
1037 case HANDLE_IMAGE_PREFERRED_DPI:
1046 case HANDLE_AUTO_FIRST_LINE_INDENT_DISREGARD_LINE_SPACE:
1049 if (rValue >>= bTmp)
1056 case HANDLE_WORD_LIKE_WRAP_FOR_AS_CHAR_FLYS:
1058 bool bValue =
false;
1059 if (rValue >>= bValue)
1065 throw UnknownPropertyException(OUString::number(rInfo.
mnHandle));
1079 aOptions.
Put(aAddPrinterItem);
1095 throw UnknownPropertyException();
1097 if (
nullptr ==
mpDoc)
1098 throw UnknownPropertyException();
1105 case HANDLE_FORBIDDEN_CHARS:
1111 case HANDLE_LINK_UPDATE_MODE:
1116 case HANDLE_FIELD_AUTO_UPDATE:
1122 case HANDLE_CHART_AUTO_UPDATE:
1128 case HANDLE_ADD_PARA_TABLE_SPACING:
1133 case HANDLE_ADD_PARA_TABLE_SPACING_AT_START:
1138 case HANDLE_ALIGN_TAB_STOP_POSITION:
1143 case HANDLE_PRINTER_NAME:
1146 rValue <<= pPrinter ? pPrinter->GetName() : OUString();
1149 case HANDLE_PRINTER_SETUP:
1155 pPrinter->
Store( aStream );
1156 sal_uInt32 nSize = aStream.
TellEnd();
1158 Sequence < sal_Int8 > aSequence( nSize );
1159 aStream.
ReadBytes(aSequence.getArray(), nSize);
1160 rValue <<= aSequence;
1164 Sequence < sal_Int8 > aSequence ( 0 );
1165 rValue <<= aSequence;
1169 case HANDLE_PRINTER_PAPER:
1172 rValue <<= pTempPrinter && pTempPrinter->GetPrinterSettingsPreferred();
1175 case HANDLE_IS_KERN_ASIAN_PUNCTUATION:
1180 case HANDLE_APPLY_USER_DATA:
1185 case HANDLE_SAVE_THUMBNAIL:
1190 case HANDLE_CHARACTER_COMPRESSION_TYPE:
1195 case HANDLE_SAVE_GLOBAL_DOCUMENT_LINKS:
1200 case HANDLE_CURRENT_DATABASE_DATA_SOURCE:
1203 rValue <<=
rData.sDataSource;
1206 case HANDLE_CURRENT_DATABASE_COMMAND:
1209 rValue <<=
rData.sCommand;
1212 case HANDLE_CURRENT_DATABASE_COMMAND_TYPE:
1215 rValue <<=
rData.nCommandType;
1218 case HANDLE_EMBEDDED_DATABASE_NAME:
1220#if HAVE_FEATURE_DBCONNECTIVITY && !ENABLE_FUZZERS
1227 case HANDLE_SAVE_VERSION_ON_CLOSE:
1232 case HANDLE_UPDATE_FROM_TEMPLATE:
1237 case HANDLE_PRINTER_INDEPENDENT_LAYOUT:
1242 document::PrinterIndependentLayout::HIGH_RESOLUTION :
1243 document::PrinterIndependentLayout::LOW_RESOLUTION ) :
1244 document::PrinterIndependentLayout::DISABLED;
1245 rValue <<= nVirDevType;
1248 case HANDLE_IS_LABEL_DOC:
1254 case HANDLE_IS_ADD_FLY_OFFSET:
1259 case HANDLE_IS_ADD_VERTICAL_FLY_OFFSET:
1264 case HANDLE_IS_ADD_EXTERNAL_LEADING:
1269 case HANDLE_OLD_NUMBERING:
1274 case HANDLE_OUTLINELEVEL_YIELDS_NUMBERING:
1279 case HANDLE_ALLOW_PRINTJOB_CANCEL:
1284 case HANDLE_USE_FORMER_LINE_SPACING:
1289 case HANDLE_ADD_PARA_SPACING_TO_TABLE_CELLS:
1294 case HANDLE_ADD_PARA_LINE_SPACING_TO_TABLE_CELLS:
1299 case HANDLE_USE_FORMER_OBJECT_POSITIONING:
1304 case HANDLE_USE_FORMER_TEXT_WRAPPING:
1309 case HANDLE_CHANGES_PASSWORD:
1314 case HANDLE_CONSIDER_WRAP_ON_OBJPOS:
1319 case HANDLE_IGNORE_FIRST_LINE_INDENT_IN_NUMBERING:
1324 case HANDLE_DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK:
1329 case HANDLE_DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT:
1334 case HANDLE_TABLE_ROW_KEEP :
1339 case HANDLE_IGNORE_TABS_AND_BLANKS_FOR_LINE_CALCULATION:
1344 case HANDLE_LOAD_READONLY:
1349 case HANDLE_DO_NOT_CAPTURE_DRAW_OBJS_ON_PAGE:
1354 case HANDLE_CLIP_AS_CHARACTER_ANCHORED_WRITER_FLY_FRAMES:
1359 case HANDLE_UNIX_FORCE_ZERO_EXT_LEADING:
1364 case HANDLE_USE_OLD_PRINTER_METRICS:
1369 case HANDLE_TABS_RELATIVE_TO_INDENT:
1376 rValue <<= static_cast < sal_Int32 > (
mpDoc->
getRsid() );
1379 case HANDLE_RSID_ROOT:
1384 case HANDLE_PROTECT_FORM:
1389 case HANDLE_MS_WORD_COMP_TRAILING_BLANKS:
1394 case HANDLE_MS_WORD_COMP_MIN_LINE_HEIGHT_BY_FLY:
1399 case HANDLE_TAB_AT_LEFT_INDENT_FOR_PARA_IN_LIST:
1404 case HANDLE_MODIFYPASSWORDINFO:
1409 case HANDLE_MATH_BASELINE_ALIGNMENT:
1414 case HANDLE_INVERT_BORDER_SPACING:
1419 case HANDLE_COLLAPSE_EMPTY_CELL_PARA:
1424 case HANDLE_SMALL_CAPS_PERCENTAGE_66:
1429 case HANDLE_TAB_OVERFLOW:
1434 case HANDLE_UNBREAKABLE_NUMBERINGS:
1439 case HANDLE_STYLES_NODEFAULT:
1444 case HANDLE_FLOATTABLE_NOMARGINS:
1449 case HANDLE_CLIPPED_PICTURES:
1454 case HANDLE_BACKGROUND_PARA_OVER_DRAWINGS:
1459 case HANDLE_EMBED_FONTS:
1464 case HANDLE_EMBED_USED_FONTS:
1469 case HANDLE_EMBED_LATIN_SCRIPT_FONTS:
1474 case HANDLE_EMBED_ASIAN_SCRIPT_FONTS:
1479 case HANDLE_EMBED_COMPLEX_SCRIPT_FONTS:
1484 case HANDLE_EMBED_SYSTEM_FONTS:
1489 case HANDLE_TAB_OVER_MARGIN:
1494 case HANDLE_TAB_OVER_SPACING:
1499 case HANDLE_TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK:
1504 case HANDLE_SURROUND_TEXT_WRAP_SMALL:
1509 case HANDLE_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING:
1514 case HANDLE_PROP_LINE_SPACING_SHRINKS_FIRST_LINE:
1519 case HANDLE_SUBTRACT_FLYS:
1524 case HANDLE_DISABLE_OFF_PAGE_POSITIONING:
1529 case HANDLE_EMPTY_DB_FIELD_HIDES_PARA:
1535 case HANDLE_CONTINUOUS_ENDNOTES:
1541 case HANDLE_PROTECT_BOOKMARKS:
1547 case HANDLE_PROTECT_FIELDS:
1553 case HANDLE_HEADER_SPACING_BELOW_LAST_PARA:
1559 case HANDLE_FRAME_AUTOWIDTH_WITH_MORE_PARA:
1565 case HANDLE_GUTTER_AT_TOP:
1570 case HANDLE_FOOTNOTE_IN_COLUMN_TO_PAGEEND:
1576 case HANDLE_IMAGE_PREFERRED_DPI:
1581 case HANDLE_AUTO_FIRST_LINE_INDENT_DISREGARD_LINE_SPACE:
1587 case HANDLE_WORD_LIKE_WRAP_FOR_AS_CHAR_FLYS:
1594 throw UnknownPropertyException(OUString::number(rInfo.
mnHandle));
1607 return "SwXDocumentSettings";
1617 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
@ 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
@ 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
@ EMBED_ASIAN_SCRIPT_FONTS
@ 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)
const ContentProperties & rData
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