LibreOffice Module sw (master) 1
printdata.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
20#include <printdata.hxx>
21
22#include <strings.hrc>
23#include <doc.hxx>
25#include <unotxdoc.hxx>
26#include <wdocsh.hxx>
27#include <viewsh.hxx>
28#include <docfld.hxx>
29
30#include <svl/cjkoptions.hxx>
31#include <svl/ctloptions.hxx>
34#include <vcl/outdev.hxx>
35#include <osl/diagnose.h>
36
37using namespace ::com::sun::star;
38
40{
41}
42
44{
45 OSL_ENSURE( !m_pPostItShell, "m_pPostItShell should already have been deleted" );
46 OSL_ENSURE( !m_pPostItFields, " should already have been deleted" );
47}
48
49void SwRenderData::CreatePostItData( SwDoc& rDoc, const SwViewOption *pViewOpt, OutputDevice *pOutDev )
50{
54
58 SwViewOption aViewOpt( *pViewOpt );
59 aViewOpt.SetOnlineSpell( false );
60
61 m_pPostItShell.reset(new SwViewShell(*new SwDoc, nullptr, &aViewOpt, pOutDev));
62}
63
65{
66 if (HasPostItData())
67 {
68 // printer needs to remain at the real document
69 m_pPostItShell->GetDoc()->getIDocumentDeviceAccess().setPrinter( nullptr, false, false );
70 { // avoid destroying layout from SwDoc dtor
71 rtl::Reference<SwDoc> const xKeepAlive(m_pPostItShell->GetDoc());
72 m_pPostItShell.reset();
73 }
74 m_pPostItFields.reset();
75 }
76}
77
79{
80 m_xTempDocShell = xShell;
81}
82
84{
85 return !(m_pViewOptionAdjust && m_pViewOptionAdjust->checkShell( rCompare ));
86}
87
89 SwViewShell &rSh, const SwViewOption &rViewOptions)
90{
92 {
93 OSL_FAIL("error: there should be no ViewOptionAdjust active when calling this function" );
94 }
96 new SwViewOptionAdjust_Impl( rSh, rViewOptions ));
97}
98
99void SwRenderData::ViewOptionAdjust(SwPrintData const*const pPrtOptions, bool setShowPlaceHoldersInPDF)
100{
101 m_pViewOptionAdjust->AdjustViewOptions( pPrtOptions, setShowPlaceHoldersInPDF );
102}
103
105{
106 m_pViewOptionAdjust.reset();
107}
108
110{
111 m_pViewOptionAdjust->DontTouchThatViewShellItSmellsFunny();
112}
113
115 SwDocShell const*const pDocShell,
116 SwPrintUIOptions const*const pOpt,
117 bool const bIsPDFExport)
118{
119 if (!pDocShell || !pOpt)
120 return;
121
122 m_pPrtOptions.reset(new SwPrintData);
123 SwPrintData & rOptions(*m_pPrtOptions);
124
125 // get default print options
126 bool bWeb = dynamic_cast<const SwWebDocShell*>( pDocShell) != nullptr;
128
129 // get print options to use from provided properties
130 rOptions.m_bPrintGraphic = pOpt->IsPrintGraphics();
131 rOptions.m_bPrintTable = true; // for now it was decided that tables should always be printed
132 rOptions.m_bPrintDraw = pOpt->IsPrintDrawings();
133 rOptions.m_bPrintControl = pOpt->IsPrintFormControls();
134 rOptions.m_bPrintLeftPages = pOpt->IsPrintLeftPages();
135 rOptions.m_bPrintRightPages = pOpt->IsPrintRightPages();
137 rOptions.m_bPrintEmptyPages = pOpt->IsPrintEmptyPages( bIsPDFExport );
138 // bUpdateFieldsInPrinting <-- not set here; mail merge only
139 rOptions.m_bPaperFromSetup = pOpt->IsPaperFromSetup();
140 rOptions.m_bPrintReverse = false; /*handled by print dialog now*/
141 rOptions.m_bPrintProspect = pOpt->IsPrintProspect();
142 rOptions.m_bPrintProspectRTL = pOpt->IsPrintProspectRTL();
143 // bPrintSingleJobs <-- not set here; mail merge and or configuration
144 // bModified <-- not set here; mail merge only
146 rOptions.m_bPrintHiddenText = pOpt->IsPrintHiddenText();
148 rOptions.m_nPrintPostIts = pOpt->GetPrintPostItsType();
149
152 rOptions.SetRenderData( this );
153}
154
156 sal_uInt16 nCurrentPage,
157 bool bWeb,
158 bool bSwSrcView,
159 bool bHasSelection,
160 bool bHasPostIts,
161 const SwPrintData &rDefaultPrintData ) :
162 m_rDefaultPrintData( rDefaultPrintData )
163{
164 // printing HTML sources does not have any valid UI options.
165 // It's just the source code that gets printed...
166 if (bSwSrcView)
167 {
168 m_aUIProperties.clear();
169 return;
170 }
171
172 // check if either CJK or CTL is enabled
174
175 // create sequence of print UI options
176 // (5 options are not available for Writer-Web)
177 const int nRTLOpts = bRTL ? 1 : 0;
178 const int nNumProps = nRTLOpts + (bWeb ? 15 : 19);
179 m_aUIProperties.resize( nNumProps);
180 int nIdx = 0;
181
182 // load the writer PrinterOptions into the custom tab
183 m_aUIProperties[nIdx].Name = "OptionsUIFile";
184 m_aUIProperties[nIdx++].Value <<= OUString("modules/swriter/ui/printeroptions.ui");
185
186 // create "writer" section (new tab page in dialog)
187 SvtModuleOptions aModOpt;
188 OUString aAppGroupname( SwResId( STR_PRINTOPTUI_PRODUCTNAME) );
189 aAppGroupname = aAppGroupname.replaceFirst( "%s", aModOpt.GetModuleName( SvtModuleOptions::EModule::WRITER ) );
190 m_aUIProperties[ nIdx++ ].Value = setGroupControlOpt("tabcontrol-page2", aAppGroupname, ".HelpID:vcl:PrintDialog:TabPage:AppPage");
191
192 // create sub section for Contents
193 m_aUIProperties[ nIdx++ ].Value = setSubgroupControlOpt("contents", SwResId( STR_PRINTOPTUI_CONTENTS), OUString());
194
195 // create a bool option for background
196 bool bDefaultVal = rDefaultPrintData.IsPrintPageBackground();
197 m_aUIProperties[ nIdx++ ].Value = setBoolControlOpt("pagebackground", SwResId( STR_PRINTOPTUI_PAGE_BACKGROUND),
198 ".HelpID:vcl:PrintDialog:PrintPageBackground:CheckBox",
199 "PrintPageBackground",
200 bDefaultVal);
201
202 // create a bool option for pictures/graphics AND OLE and drawing objects as well
203 bDefaultVal = rDefaultPrintData.IsPrintGraphic() || rDefaultPrintData.IsPrintDraw();
204 m_aUIProperties[ nIdx++ ].Value = setBoolControlOpt("pictures", SwResId( STR_PRINTOPTUI_PICTURES),
205 ".HelpID:vcl:PrintDialog:PrintPicturesAndObjects:CheckBox",
206 "PrintPicturesAndObjects",
207 bDefaultVal);
208 if (!bWeb)
209 {
210 // create a bool option for hidden text
211 bDefaultVal = rDefaultPrintData.IsPrintHiddenText();
212 m_aUIProperties[ nIdx++ ].Value = setBoolControlOpt("hiddentext", SwResId( STR_PRINTOPTUI_HIDDEN),
213 ".HelpID:vcl:PrintDialog:PrintHiddenText:CheckBox",
214 "PrintHiddenText",
215 bDefaultVal);
216
217 // create a bool option for place holder
218 bDefaultVal = rDefaultPrintData.IsPrintTextPlaceholder();
219 m_aUIProperties[ nIdx++ ].Value = setBoolControlOpt("placeholders", SwResId( STR_PRINTOPTUI_TEXT_PLACEHOLDERS),
220 ".HelpID:vcl:PrintDialog:PrintTextPlaceholder:CheckBox",
221 "PrintTextPlaceholder",
222 bDefaultVal);
223 }
224
225 // create a bool option for controls
226 bDefaultVal = rDefaultPrintData.IsPrintControl();
227 m_aUIProperties[ nIdx++ ].Value = setBoolControlOpt("formcontrols", SwResId( STR_PRINTOPTUI_FORM_CONTROLS),
228 ".HelpID:vcl:PrintDialog:PrintControls:CheckBox",
229 "PrintControls",
230 bDefaultVal);
231
232 // create sub section for Color
233 m_aUIProperties[ nIdx++ ].Value = setSubgroupControlOpt("color", SwResId( STR_PRINTOPTUI_COLOR), OUString());
234
235 // create a bool option for printing text with black font color
236 bDefaultVal = rDefaultPrintData.IsPrintBlackFont();
237 m_aUIProperties[ nIdx++ ].Value = setBoolControlOpt("textinblack", SwResId( STR_PRINTOPTUI_PRINT_BLACK),
238 ".HelpID:vcl:PrintDialog:PrintBlackFonts:CheckBox",
239 "PrintBlackFonts",
240 bDefaultVal);
241
242 if (!bWeb)
243 {
244 // create subgroup for misc options
245 m_aUIProperties[ nIdx++ ].Value = setSubgroupControlOpt("pages", SwResId( STR_PRINTOPTUI_PAGES_TEXT), OUString());
246
247 // create a bool option for printing automatically inserted blank pages
248 bDefaultVal = rDefaultPrintData.IsPrintEmptyPages();
249 m_aUIProperties[ nIdx++ ].Value = setBoolControlOpt("autoblankpages", SwResId( STR_PRINTOPTUI_PRINT_BLANK),
250 ".HelpID:vcl:PrintDialog:PrintEmptyPages:CheckBox",
251 "PrintEmptyPages",
252 bDefaultVal);
253 }
254
255 // create a bool option for paper tray
256 bDefaultVal = rDefaultPrintData.IsPaperFromSetup();
258 aPaperTrayOpt.maGroupHint = "OptionsPageOptGroup";
259 m_aUIProperties[ nIdx++ ].Value = setBoolControlOpt("printpaperfromsetup", SwResId( STR_PRINTOPTUI_ONLY_PAPER),
260 ".HelpID:vcl:PrintDialog:PrintPaperFromSetup:CheckBox",
261 "PrintPaperFromSetup",
262 bDefaultVal,
263 aPaperTrayOpt);
264
265 // print range selection
267 aPrintRangeOpt.maGroupHint = "PrintRange";
268 aPrintRangeOpt.mbInternalOnly = true;
269 m_aUIProperties[nIdx++].Value = setSubgroupControlOpt( "printrange",
270 SwResId( STR_PRINTOPTUI_PAGES_TEXT ),
271 OUString(),
272 aPrintRangeOpt );
273
274 // create a choice for the content to create
275 static const OUStringLiteral aPrintRangeName( u"PrintContent" );
276 uno::Sequence< OUString > aChoices{ SwResId( STR_PRINTOPTUI_PRINTALLPAGES ),
277 SwResId( STR_PRINTOPTUI_PRINTPAGES ),
278 SwResId( STR_PRINTOPTUI_PRINTSELECTION ) };
279 uno::Sequence< sal_Bool > aChoicesDisabled{ false, false, !bHasSelection };
280 uno::Sequence< OUString > aHelpIds{ ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:0",
281 ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:1",
282 ".HelpID:vcl:PrintDialog:PrintContent:RadioButton:2" };
283 uno::Sequence< OUString > aWidgetIds{ "rbAllPages", "rbRangePages", "rbRangeSelection" };
284 m_aUIProperties[nIdx++].Value = setChoiceRadiosControlOpt(aWidgetIds, OUString(),
285 aHelpIds, aPrintRangeName,
286 aChoices,
287 bHasSelection ? 2 : 0,
288 aChoicesDisabled);
289
290 // show an Edit dependent on "Pages" selected
291 vcl::PrinterOptionsHelper::UIControlOptions aPageRangeOpt( aPrintRangeName, 1, true );
292 m_aUIProperties[nIdx++].Value = setEditControlOpt("pagerange", OUString(),
293 ".HelpID:vcl:PrintDialog:PageRange:Edit",
294 "PageRange",
295 OUString::number( nCurrentPage ) /* set text box to current page number */,
296 aPageRangeOpt);
297
298 vcl::PrinterOptionsHelper::UIControlOptions aEvenOddOpt(aPrintRangeName, -1, true);
299 m_aUIProperties[ nIdx++ ].Value = setChoiceListControlOpt("evenoddbox",
300 OUString(),
301 uno::Sequence<OUString>(),
302 "EvenOdd",
303 uno::Sequence<OUString>(),
304 0,
305 uno::Sequence< sal_Bool >(),
306 aEvenOddOpt);
307
308 // create a list box for notes content
309 const SwPostItMode nPrintPostIts = rDefaultPrintData.GetPrintPostIts();
310 aChoices = { SwResId( STR_PRINTOPTUI_NONE),
311 SwResId( STR_PRINTOPTUI_COMMENTS_ONLY),
312 SwResId( STR_PRINTOPTUI_PLACE_END),
313 SwResId( STR_PRINTOPTUI_PLACE_PAGE),
314 SwResId( STR_PRINTOPTUI_PLACE_MARGINS) };
315 aHelpIds = { ".HelpID:vcl:PrintDialog:PrintAnnotationMode:FixedText",
316 ".HelpID:vcl:PrintDialog:PrintAnnotationMode:ListBox" };
317 vcl::PrinterOptionsHelper::UIControlOptions aAnnotOpt( "PrintProspect", 0, false );
318 aAnnotOpt.mbEnabled = bHasPostIts;
319 m_aUIProperties[ nIdx++ ].Value = setChoiceListControlOpt("writercomments",
320 SwResId( STR_PRINTOPTUI_COMMENTS),
321 aHelpIds,
322 "PrintAnnotationMode",
323 aChoices,
324 bHasPostIts ? static_cast<sal_uInt16>(nPrintPostIts) : 0,
325 uno::Sequence< sal_Bool >(),
326 aAnnotOpt);
327
328 // create subsection for Page settings
330 aPageSetOpt.maGroupHint = "LayoutPage";
331
332 // create a bool option for brochure
333 bDefaultVal = rDefaultPrintData.IsPrintProspect();
334 static const OUStringLiteral aBrochurePropertyName( u"PrintProspect" );
335 m_aUIProperties[ nIdx++ ].Value = setBoolControlOpt("brochure", SwResId( STR_PRINTOPTUI_BROCHURE),
336 ".HelpID:vcl:PrintDialog:PrintProspect:CheckBox",
337 aBrochurePropertyName,
338 bDefaultVal,
339 aPageSetOpt);
340
341 if (bRTL)
342 {
343 // create a bool option for brochure RTL dependent on brochure
344 uno::Sequence< OUString > aBRTLChoices{ SwResId( STR_PRINTOPTUI_LEFT_SCRIPT),
345 SwResId( STR_PRINTOPTUI_RIGHT_SCRIPT) };
346 vcl::PrinterOptionsHelper::UIControlOptions aBrochureRTLOpt( aBrochurePropertyName, -1, true );
347 uno::Sequence<OUString> aBRTLHelpIds { ".HelpID:vcl:PrintDialog:PrintProspectRTL:ListBox" };
348 aBrochureRTLOpt.maGroupHint = "LayoutPage";
349 // RTL brochure choices
350 // 0 : left-to-right
351 // 1 : right-to-left
352 const sal_Int16 nBRTLChoice = rDefaultPrintData.IsPrintProspectRTL() ? 1 : 0;
353 m_aUIProperties[ nIdx++ ].Value = setChoiceListControlOpt("scriptdirection",
354 OUString(),
355 aBRTLHelpIds,
356 "PrintProspectRTL",
357 aBRTLChoices,
358 nBRTLChoice,
359 uno::Sequence< sal_Bool >(),
360 aBrochureRTLOpt);
361 }
362
363 assert(nIdx == nNumProps);
364}
365
367{
368}
369
371{
372 // take care of different property names for the option.
373 // for compatibility the old name should win (may still be used for PDF export or via Uno API)
374
375 // 0: left and right pages
376 // 1: left pages only
377 // 2: right pages only
378 sal_Int64 nEOPages = getIntValue( "EvenOdd", 0 /* default: all */ );
379 bool bRes = nEOPages != 1;
380 bRes = getBoolValue( "EvenOdd", bRes /* <- default value if property is not found */ );
381 return bRes;
382}
383
385{
386 // take care of different property names for the option.
387 // for compatibility the old name should win (may still be used for PDF export or via Uno API)
388
389 sal_Int64 nEOPages = getIntValue( "EvenOdd", 0 /* default: all */ );
390 bool bRes = nEOPages != 2;
391 bRes = getBoolValue( "EvenOdd", bRes /* <- default value if property is not found */ );
392 return bRes;
393}
394
395bool SwPrintUIOptions::IsPrintEmptyPages( bool bIsPDFExport ) const
396{
397 // take care of different property names for the option.
398
399 bool bRes = bIsPDFExport ?
400 !getBoolValue( "IsSkipEmptyPages", true ) :
401 getBoolValue( "PrintEmptyPages", true );
402 return bRes;
403}
404
406{
407 // take care of different property names for the option.
408 // for compatibility the old name should win (may still be used for PDF export or via Uno API)
409
410 bool bRes = getBoolValue( "PrintPicturesAndObjects", true );
411 bRes = getBoolValue( "PrintGraphics", bRes );
412 return bRes;
413}
414
416{
417 // take care of different property names for the option.
418 // for compatibility the old name should win (may still be used for PDF export or via Uno API)
419
420 bool bRes = getBoolValue( "PrintPicturesAndObjects", true );
421 bRes = getBoolValue( "PrintDrawings", bRes );
422 return bRes;
423}
424
425bool SwPrintUIOptions::processPropertiesAndCheckFormat( const uno::Sequence< beans::PropertyValue >& i_rNewProp )
426{
427 bool bChanged = processProperties( i_rNewProp );
428
429 uno::Reference< awt::XDevice > xRenderDevice;
430 uno::Any aVal( getValue( "RenderDevice" ) );
431 aVal >>= xRenderDevice;
432
434 if (xRenderDevice.is())
435 {
436 VCLXDevice* pDevice = comphelper::getFromUnoTunnel<VCLXDevice>( xRenderDevice );
437 if (pDevice)
438 pOut = pDevice->GetOutputDevice();
439 }
440 bChanged = bChanged || (pOut.get() != m_pLast.get());
441 if( pOut )
442 m_pLast = pOut;
443
444 return bChanged;
445}
446
447/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
bool IsCTLFontEnabled() const
OUString GetModuleName(EModule eModule) const
Definition: doc.hxx:192
IDocumentFieldsAccess const & getIDocumentFieldsAccess() const
Definition: doc.cxx:358
SwPostItMode GetPrintPostIts() const
Definition: printdata.hxx:145
bool m_bPrintControl
Definition: printdata.hxx:58
bool m_bPrintEmptyPages
Print empty pages.
Definition: printdata.hxx:66
bool m_bPrintTextPlaceholder
Definition: printdata.hxx:61
bool IsPrintBlackFont() const
Definition: printdata.hxx:143
bool m_bPaperFromSetup
Definition: printdata.hxx:64
bool m_bPrintTable
Definition: printdata.hxx:58
bool IsPrintProspect() const
Definition: printdata.hxx:140
bool m_bPrintProspect
Definition: printdata.hxx:62
bool m_bPrintBlackFont
Definition: printdata.hxx:59
void SetRenderData(const SwRenderData *pData)
Definition: printdata.hxx:129
bool IsPrintControl() const
Definition: printdata.hxx:134
bool IsPrintTextPlaceholder() const
Definition: printdata.hxx:148
bool IsPaperFromSetup() const
Definition: printdata.hxx:138
bool m_bPrintReverse
Definition: printdata.hxx:62
bool m_bPrintPageBackground
Definition: printdata.hxx:58
bool IsPrintProspectRTL() const
Definition: printdata.hxx:141
bool m_bPrintDraw
Definition: printdata.hxx:58
bool m_bPrintRightPages
Definition: printdata.hxx:62
bool IsPrintEmptyPages() const
Definition: printdata.hxx:139
bool m_bPrintLeftPages
Definition: printdata.hxx:62
bool IsPrintGraphic() const
Definition: printdata.hxx:131
bool m_bPrintProspectRTL
Definition: printdata.hxx:63
SwPostItMode m_nPrintPostIts
Definition: printdata.hxx:68
bool IsPrintDraw() const
Definition: printdata.hxx:133
bool IsPrintPageBackground() const
Definition: printdata.hxx:142
bool IsPrintHiddenText() const
Definition: printdata.hxx:147
bool m_bPrintGraphic
Definition: printdata.hxx:58
bool m_bPrintHiddenText
Definition: printdata.hxx:61
virtual ~SwPrintUIOptions()
Definition: printdata.cxx:366
bool IsPrintLeftPages() const
Definition: printdata.cxx:370
bool processPropertiesAndCheckFormat(const css::uno::Sequence< css::beans::PropertyValue > &i_rNewProp)
Definition: printdata.cxx:425
SwPrintUIOptions(sal_uInt16 nCurrentPage, bool bWeb, bool bSwSrcView, bool bHasSelection, bool bHasPostIts, const SwPrintData &rDefaultPrintData)
Definition: printdata.cxx:155
bool IsPrintGraphics() const
Definition: printdata.cxx:405
bool IsPrintRightPages() const
Definition: printdata.cxx:384
bool IsPrintEmptyPages(bool bIsPDFExport) const
Definition: printdata.cxx:395
bool IsPrintFormControls() const
Definition: printdata.hxx:183
bool IsPrintHiddenText() const
Definition: printdata.hxx:188
bool IsPrintProspect() const
Definition: printdata.hxx:185
bool IsPrintDrawings() const
Definition: printdata.cxx:415
bool IsPrintTextPlaceholders() const
Definition: printdata.hxx:187
SwPostItMode GetPrintPostItsType() const
Definition: printdata.hxx:190
bool IsPaperFromSetup() const
Definition: printdata.hxx:191
VclPtr< OutputDevice > m_pLast
Definition: printdata.hxx:174
bool IsPrintPageBackground() const
Definition: printdata.hxx:184
bool IsPrintWithBlackTextColor() const
Definition: printdata.hxx:189
bool IsPrintProspectRTL() const
Definition: printdata.hxx:186
void DeletePostItData()
Definition: printdata.cxx:64
void ViewOptionAdjust(SwPrintData const *const pPrtOptions, bool setShowPlaceHoldersInPDF)
Definition: printdata.cxx:99
bool HasPostItData() const
Definition: printdata.hxx:244
std::unique_ptr< SetGetExpFields > m_pPostItFields
an array of "SetGetExpField *" sorted by page and line numbers
Definition: printdata.hxx:236
void ViewOptionAdjustStop()
Definition: printdata.cxx:104
void ViewOptionAdjustStart(SwViewShell &rSh, const SwViewOption &rViewOptions)
Definition: printdata.cxx:88
void CreatePostItData(SwDoc &rDoc, const SwViewOption *pViewOpt, OutputDevice *pOutDev)
Definition: printdata.cxx:49
std::unique_ptr< SwPrintData > m_pPrtOptions
Definition: printdata.hxx:230
void SetTempDocShell(SfxObjectShellLock const &)
Definition: printdata.cxx:78
std::unique_ptr< SwViewShell > m_pPostItShell
this contains a SwDoc with the post-it content
Definition: printdata.hxx:238
void MakeSwPrtOptions(SwDocShell const *const pDocShell, SwPrintUIOptions const *const pOpt, bool const bIsPDFExport)
Definition: printdata.cxx:114
bool NeedNewViewOptionAdjust(const SwViewShell &) const
Definition: printdata.cxx:83
void ViewOptionAdjustCrashPreventionKludge()
Definition: printdata.cxx:109
std::unique_ptr< SwViewOptionAdjust_Impl > m_pViewOptionAdjust
the view options to be applied for printing
Definition: printdata.hxx:228
SfxObjectShellLock m_xTempDocShell
temp print document – must live longer than m_pViewOptionAdjust! also this is a Lock and not a Ref be...
Definition: printdata.hxx:225
void SetOnlineSpell(bool b)
Definition: viewopt.cxx:337
const VclPtr< OutputDevice > & GetOutputDevice() const
reference_type * get() const
static css::uno::Any setGroupControlOpt(const OUString &i_rID, const OUString &i_rTitle, const OUString &i_rHelpId)
bool getBoolValue(const OUString &i_rPropertyName, bool i_bDefault) const
static css::uno::Any setChoiceRadiosControlOpt(const css::uno::Sequence< OUString > &i_rIDs, const OUString &i_rTitle, const css::uno::Sequence< OUString > &i_rHelpId, const OUString &i_rProperty, const css::uno::Sequence< OUString > &i_rChoices, sal_Int32 i_nValue, const css::uno::Sequence< sal_Bool > &i_rDisabledChoices=css::uno::Sequence< sal_Bool >(), const UIControlOptions &i_rControlOptions=UIControlOptions())
std::vector< css::beans::PropertyValue > m_aUIProperties
sal_Int64 getIntValue(const OUString &i_rPropertyName, sal_Int64 i_nDefault) const
static css::uno::Any setBoolControlOpt(const OUString &i_rID, const OUString &i_rTitle, const OUString &i_rHelpId, const OUString &i_rProperty, bool i_bValue, const UIControlOptions &i_rControlOptions=UIControlOptions())
static css::uno::Any setSubgroupControlOpt(const OUString &i_rID, const OUString &i_rTitle, const OUString &i_rHelpId, const UIControlOptions &i_rControlOptions=UIControlOptions())
css::uno::Any getValue(const OUString &i_rPropertyName) const
static css::uno::Any setChoiceListControlOpt(const OUString &i_rID, const OUString &i_rTitle, const css::uno::Sequence< OUString > &i_rHelpId, const OUString &i_rProperty, const css::uno::Sequence< OUString > &i_rChoices, sal_Int32 i_nValue, const css::uno::Sequence< sal_Bool > &i_rDisabledChoices=css::uno::Sequence< sal_Bool >(), const UIControlOptions &i_rControlOptions=UIControlOptions())
bool processProperties(const css::uno::Sequence< css::beans::PropertyValue > &i_rNewProp)
static css::uno::Any setEditControlOpt(const OUString &i_rID, const OUString &i_rTitle, const OUString &i_rHelpId, const OUString &i_rProperty, const OUString &i_rValue, const UIControlOptions &i_rControlOptions)
bool sw_GetPostIts(const IDocumentFieldsAccess &rIDFA, SetGetExpFields *pSrtLst)
Definition: doc.cxx:516
float u
bool IsCJKFontEnabled()
void InitPrintOptionsFromApplication(SwPrintData &o_rData, bool const bWeb)
Definition: view.cxx:1947
SwPostItMode
this must match the definitions in css::text::NotePrintMode
Definition: printdata.hxx:43
OUString SwResId(TranslateId aId)
Definition: swmodule.cxx:164
oslFileHandle & pOut