LibreOffice Module sw (master)  1
viewsh.hxx
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 #ifndef INCLUDED_SW_INC_VIEWSH_HXX
20 #define INCLUDED_SW_INC_VIEWSH_HXX
21 
22 #include "swdllapi.h"
23 #include "swtypes.hxx"
24 #include "ring.hxx"
25 #include "swrect.hxx"
26 #include <memory>
27 #include <stack>
28 #include <vcl/mapmod.hxx>
29 #include <vcl/vclptr.hxx>
30 #include <vcl/lazydelete.hxx>
31 #include <vcl/window.hxx>
32 
33 namespace com::sun::star::accessibility { class XAccessible; }
34 class SwDoc;
44 class IDocumentUndoRedo;
45 class IDocumentListItems;
47 class SfxPrinter;
48 class SwRootFrame;
49 class SwNodes;
50 class SdrView;
51 class SfxItemPool;
52 class SfxViewShell;
53 class SwViewOption;
54 class SwViewShellImp;
55 class SwPrintData;
56 struct ShellResource;
57 class SwRegionRects;
60 class SwTextFrame;
61 
63 namespace vcl { class Region; }
64 class SwPostItMgr;
65 class SdrPaintWindow;
66 class SwAccessibleMap;
67 enum class Orientation;
68 
69 namespace vcl
70 {
72 }
73 
74 // Define for flags needed in ctor or layers below.
75 // Currently the Preview flag is needed for DrawPage.
76 #define VSHELLFLAG_ISPREVIEW (long(0x1))
77 #define VSHELLFLAG_SHARELAYOUT (long(0x2))
78 typedef std::shared_ptr<SwRootFrame> SwRootFramePtr;
79 
80 typedef struct _xmlTextWriter* xmlTextWriterPtr;
81 
82 class SW_DLLPUBLIC SwViewShell : public sw::Ring<SwViewShell>
83 {
84  friend void SetOutDev( SwViewShell *pSh, OutputDevice *pOut );
85  friend void SetOutDevAndWin( SwViewShell *pSh, OutputDevice *pOut,
86  vcl::Window *pWin, sal_uInt16 nZoom );
87 
88  friend class SwViewShellImp;
89  friend class SwLayIdle;
90 
91  // For setting visible area for page preview paint.
92  friend class SwPagePreviewLayout;
93 
94  // Set SwVisArea in order to enable clean formatting before printing.
95  friend void SetSwVisArea( SwViewShell *pSh, const SwRect & );
96 
97  std::unique_ptr<BitmapEx> m_xReplaceBmp;
98  std::unique_ptr<BitmapEx> m_xErrorBmp;
99 
100  static bool mbLstAct; // true if EndAction of last Shell
101  // i.e. if the EndActions of the other
102  // Shells on the document are through.
103 
104  Point maPrtOffset; // Offset for Printer,
105  // non-printable margin.
106  Size maBrowseBorder; // Border for frame documents.
108 
110  std::unique_ptr<SwViewShellImp>
111  mpImp; // Core-internals of SwViewShell.
112  // The pointer is never 0.
113 
116 
117  std::unique_ptr<SwViewOption> mpOpt;
118  std::unique_ptr<SwAccessibilityOptions> mpAccOptions;
119 
120  bool mbDocSizeChgd :1; // For DocChgNotify(): Announce new DocSize
121  // at EndAction to DocMDI.
122  bool mbPaintWorks :1; // Normal Painting if true,
123  // remember Paint if false.
124  bool mbPaintInProgress :1; // Block any double paint.
125  bool mbViewLocked :1; // Lock visible range;
126  // in this case MakeVisible is ineffectual.
127  bool mbInEndAction :1; // Avoid problems, cf. viewsh.cxx.
128  bool mbPreview :1; // If true it is a Preview-SwViewShell.
129  bool mbFrameView :1; // If true it is a (HTML-)Frame.
130  bool mbEnableSmooth :1; // Disable SmoothScroll, e.g. for drag
131  // of scrollbars.
132  bool mbEndActionByVirDev:1; // Paints from EndAction always via virtual device
133  // (e.g. when browsing).
134  bool mbShowHeaderSeparator:1;
135  bool mbShowFooterSeparator:1;
136  bool mbHeaderFooterEdit:1;
137 
138  // boolean, indicating that class in constructor.
139  bool mbInConstructor:1;
140 
143 
145 
146  // Initialization; called by the diverse constructors.
147  SAL_DLLPRIVATE void Init( const SwViewOption *pNewOpt );
148 
149  inline void ResetInvalidRect();
150 
151 
152 
153  SAL_DLLPRIVATE void PaintDesktop(vcl::RenderContext& rRenderContext, const SwRect&); // Collect values for painting of desktop
154  // and calling.
155  // PaintDesktop split. This pars is also used by PreviewPage.
156  SAL_DLLPRIVATE void PaintDesktop_(const SwRegionRects &rRegion);
157 
158  SAL_DLLPRIVATE bool CheckInvalidForPaint( const SwRect & ); // Direct Paint or rather
159  // trigger an action.
160 
161  SAL_DLLPRIVATE void PrepareForPrint( const SwPrintData &rOptions, bool bIsPDFExport = false );
162 
163  SAL_DLLPRIVATE void ImplApplyViewOptions( const SwViewOption &rOpt );
164 
165 protected:
169 
173 
174  sal_uInt16 mnStartAction;
175  sal_uInt16 mnLockPaint;
176  bool mbSelectAll;
177 
180 
181 public:
182 
183  SwViewShellImp *Imp() { return mpImp.get(); }
184  const SwViewShellImp *Imp() const { return mpImp.get(); }
185 
186  const SwNodes& GetNodes() const;
187 
188  // After change of printer; by Doc.
189  void InitPrt( OutputDevice *pOutDev );
190 
191  // Bracketing of actions belonging together.
192  inline void StartAction();
193  void ImplStartAction();
194  inline void EndAction( const bool bIdleEnd = false );
195  void ImplEndAction( const bool bIdleEnd );
196  sal_uInt16 ActionCount() const { return mnStartAction; }
197  bool ActionPend() const { return mnStartAction != 0; }
198  bool IsInEndAction() const { return mbInEndAction; }
199 
200  void SetEndActionByVirDev( bool b ) { mbEndActionByVirDev = b; }
201  bool IsEndActionByVirDev() const { return mbEndActionByVirDev; }
202 
203  // The ActionCount for all Shells is temporarily set to zero and then
204  // restored at the RootFrame via UNO.
205  void SetRestoreActions(sal_uInt16 nSet);
206  sal_uInt16 GetRestoreActions() const;
207 
208  bool HasInvalidRect() const { return maInvalidRect.HasArea(); }
209  void ChgHyphenation() { Reformat(); }
210  void ChgNumberDigits();
211 
212  bool AddPaintRect( const SwRect &rRect );
213 
214  void InvalidateWindows( const SwRect &rRect );
215 
217  void Reformat();
218 
219  // #i72754# set of Pre/PostPaints with lock counter and initial target OutDev
220 protected:
221  std::stack<vcl::Region> mPrePostPaintRegions; // acts also as a lock counter (empty == not locked)
224 public:
225  void PrePaint();
226  void DLPrePaint2(const vcl::Region& rRegion);
227  void DLPostPaint2(bool bPaintFormLayer);
228  const MapMode& getPrePostMapMode() const { return maPrePostMapMode; }
229 
230  virtual void Paint(vcl::RenderContext& rRenderContext, const tools::Rectangle &rRect);
231 
237  void PaintTile(VirtualDevice &rDevice, int contextWidth, int contextHeight, int tilePosX, int tilePosY, long tileWidth, long tileHeight);
238 
239  bool IsPaintInProgress() const { return mbPaintInProgress; }
240  bool IsDrawingLayerPaintInProgress() const { return !mPrePostPaintRegions.empty(); }
241 
242  // Notification that visible area has been changed.
243  // VisArea is reset, after that scrolling takes place.
244  // The passed rect is situated on pixel borders
245  // in order to avoid pixel errors when scrolling.
246  virtual void VisPortChgd( const SwRect & );
247  bool SmoothScroll( long lXDiff, long lYDiff, const tools::Rectangle* );//Browser
248  void EnableSmooth( bool b ) { mbEnableSmooth = b; }
249 
250  const SwRect& VisArea() const;
251 
253  const tools::Rectangle & getLOKVisibleArea() const { return maLOKVisibleArea; }
254  void setLOKVisibleArea(const tools::Rectangle& rArea) { maLOKVisibleArea = rArea; }
255 
256  // If necessary scroll until passed Rect is situated in visible sector.
257  void MakeVisible( const SwRect & );
258 
259  // At nearest occasion pass new document size to UI.
260  void SizeChgNotify();
261  void UISizeNotify(); // Passing of current size.
262 
263  Point GetPagePos( sal_uInt16 nPageNum ) const;
264 
265  sal_uInt16 GetNumPages() const; // Ask count of current pages from layout.
266  bool IsDummyPage( sal_uInt16 nPageNum ) const; // An empty page?
267 
268  // Invalidate first visible page for all Shells in ring.
269  void SetFirstVisPageInvalid();
270 
271  SwRootFrame *GetLayout() const;
272  bool IsNewLayout() const; // Has Layout been loaded or created?
273 
274  Size GetDocSize() const; // Get document size.
275 
276  virtual void CalcLayout(); // Force complete formatting of layout.
277 
278  sal_uInt16 GetPageCount() const;
279 
280  Size GetPageSize( sal_uInt16 nPageNum, bool bSkipEmptyPages ) const;
281 
282  SwDoc *GetDoc() const { return mxDoc.get(); } //Never 0.
283 
286  const IDocumentSettingAccess& getIDocumentSettingAccess() const;
287  IDocumentSettingAccess& getIDocumentSettingAccess();
288 
291  const IDocumentDeviceAccess& getIDocumentDeviceAccess() const;
292  IDocumentDeviceAccess& getIDocumentDeviceAccess();
293 
296  const IDocumentMarkAccess* getIDocumentMarkAccess() const;
297  IDocumentMarkAccess* getIDocumentMarkAccess();
298 
301  const IDocumentDrawModelAccess& getIDocumentDrawModelAccess() const;
302  IDocumentDrawModelAccess& getIDocumentDrawModelAccess();
303 
306  const IDocumentRedlineAccess& getIDocumentRedlineAccess() const;
307  IDocumentRedlineAccess& getIDocumentRedlineAccess();
308 
311  const IDocumentLayoutAccess& getIDocumentLayoutAccess() const;
312  IDocumentLayoutAccess& getIDocumentLayoutAccess();
313 
316  IDocumentContentOperations& getIDocumentContentOperations();
317 
320  IDocumentStylePoolAccess& getIDocumentStylePoolAccess();
321 
324  const IDocumentStatistics& getIDocumentStatistics() const;
325 
328  IDocumentUndoRedo const& GetIDocumentUndoRedo() const;
329  IDocumentUndoRedo & GetIDocumentUndoRedo();
330 
331  const IDocumentListItems* getIDocumentListItemsAccess() const;
332  const IDocumentOutlineNodes* getIDocumentOutlineNodesAccess() const;
333 
334  // 1. GetRefDev: Either the printer or the virtual device from the doc
335  // 2. GetWin: Available if we not printing
336  // 3. GetOut: Printer, Window or Virtual device
337  vcl::RenderContext& GetRefDev() const;
338  vcl::Window* GetWin() const { return mpWin; }
339  vcl::RenderContext* GetOut() const { return mpOut; }
340 
341  void SetWin(vcl::Window* win) { mpWin = win; }
342  void SetOut(vcl::RenderContext* pOut) { mpOut = pOut; }
343  static bool IsLstEndAction() { return SwViewShell::mbLstAct; }
344 
345  // Change of all page descriptors.
346  void ChgAllPageOrientation( Orientation eOri );
347  void ChgAllPageSize( Size const &rSz );
348 
349  // Printing of one page.
350  // bIsPDFExport == true is: do PDF Export (no printing!)
351  bool PrintOrPDFExport( OutputDevice *pOutDev,
352  SwPrintData const& rPrintData,
353  sal_Int32 nRenderer, /* offset in vector of pages to print */
354  bool bIsPDFExport );
355 
356  // Printing of one brochure page.
357  void PrintProspect( OutputDevice *pOutDev, const SwPrintData &rPrintData,
358  sal_Int32 nRenderer /* offset in vector of page pairs for prospect printing */ );
359 
360  // Printing for OLE 2.0.
361  static void PrtOle2( SwDoc *pDoc, const SwViewOption *pOpt, const SwPrintData& rOptions,
362  vcl::RenderContext& rRenderContext, const tools::Rectangle& rRect );
363 
364  // Fill temporary doc with selected text for Print or PDF export.
365  void FillPrtDoc( SwDoc* pPrtDoc, const SfxPrinter* pPrt );
366 
367  // Called internally for Shell. Formats pages.
368  void CalcPagesForPrint( sal_uInt16 nMax );
369 
370  // All about fields.
371  void UpdateFields(bool bCloseDB = false);
372  bool IsAnyFieldInDoc() const;
373  // Update all charts, for that exists any table.
374  void UpdateAllCharts();
375  bool HasCharts() const;
376 
377  // DOCUMENT COMPATIBILITY FLAGS START
378 
379  // Add or maximize paragraph spacing?
380  void SetParaSpaceMax( bool bNew );
381 
382  // Add or maximize paragraph spacing?
383  void SetParaSpaceMaxAtPages( bool bNew );
384 
385  // Compatible behaviour of tabs.
386  void SetTabCompat( bool bNew );
387 
388  // Font metric attribute "External Leading" should be considered.
389  void SetAddExtLeading( bool bNew );
390 
391  // Formatting by virtual device or printer.
392  void SetUseVirDev( bool bNew );
393 
394  // Adding paragraph and table spacing at bottom
395  // of table cells.
396  void SetAddParaSpacingToTableCells( bool _bAddParaSpacingToTableCells );
397 
398  // Former formatting of text lines with
399  // proportional line spacing or not.
400  void SetUseFormerLineSpacing( bool _bUseFormerLineSpacing );
401 
402  // Former object positioning.
403  void SetUseFormerObjectPositioning( bool _bUseFormerObjPos );
404 
405  void SetConsiderWrapOnObjPos( bool _bConsiderWrapOnObjPos );
406 
407  void SetUseFormerTextWrapping( bool _bUseFormerTextWrapping );
408 
409  void SetDoNotJustifyLinesWithManualBreak( bool _bDoNotJustifyLinesWithManualBreak );
410 
411  void SetProtectForm( bool _bProtectForm );
412 
413  void SetMsWordCompTrailingBlanks( bool _bMsWordCompTrailingBlanks );
414 
415  void SetSubtractFlysAnchoredAtFlys(bool bSubtractFlysAnchoredAtFlys);
416 
417  void SetEmptyDbFieldHidesPara(bool bEmptyDbFieldHidesPara);
418 
419  // DOCUMENT COMPATIBILITY FLAGS END
420 
421  // Calls Idle-formatter of Layout.
422  void LayoutIdle();
423 
424  const SwViewOption *GetViewOptions() const { return mpOpt.get(); }
425  virtual void ApplyViewOptions( const SwViewOption &rOpt );
426  void SetUIOptions( const SwViewOption &rOpt );
427  virtual void SetReadonlyOption(bool bSet); // Set readonly-bit of ViewOptions.
428  void SetPDFExportOption(bool bSet); // Set/reset PDF export mode.
429  void SetPrtFormatOption(bool bSet); // Set PrtFormat-Bit of ViewOptions.
430  void SetReadonlySelectionOption(bool bSet); // Change the selection mode in readonly docs.
431 
432  const SwAccessibilityOptions* GetAccessibilityOptions() const { return mpAccOptions.get();}
433 
434  static void SetShellRes( ShellResource* pRes ) { mpShellRes = pRes; }
435  static ShellResource* GetShellRes();
436 
437  static weld::Window* CareChildWin(SwViewShell const & rVSh);
438  static void SetCareDialog(const std::shared_ptr<weld::Window>& rNew);
439  static weld::Window* GetCareDialog(SwViewShell const & rVSh)
440  { return (*mpCareDialog.get()) ? mpCareDialog.get()->get() : CareChildWin(rVSh); }
441 
442  SfxViewShell *GetSfxViewShell() const { return mpSfxViewShell; }
443  void SetSfxViewShell(SfxViewShell *pNew) { mpSfxViewShell = pNew; }
444 
445  // Selection of Draw Engine has been changed.
446  virtual void DrawSelChanged();
447 
448  SwPagePreviewLayout* PagePreviewLayout();
449 
460  void AdjustOptionsForPagePreview( SwPrintData const& rPrintOptions );
461 
462  bool IsViewLocked() const { return mbViewLocked; }
463  void LockView( bool b ) { mbViewLocked = b; }
464 
465  inline void LockPaint();
466  void ImplLockPaint();
467  inline void UnlockPaint( bool bVirDev = false );
468  void ImplUnlockPaint( bool bVirDev );
469  bool IsPaintLocked() const { return mnLockPaint != 0; }
470 
471  // Get/set DrawView and PageView.
472  bool HasDrawView() const;
473  void MakeDrawView();
474 
475  // Are we dragging draw shapes around.
476  bool HasDrawViewDrag() const;
477 
478  // DrawView may be used at UI.
479  SdrView *GetDrawView();
480  const SdrView *GetDrawView() const { return const_cast<SwViewShell*>(this)->GetDrawView(); }
481 
482  // Take care that MarkList is up-to-date in any case (Bug 57153).
483  SdrView *GetDrawViewWithValidMarkList();
484 
485  // Query attribute pool.
486  inline const SfxItemPool& GetAttrPool() const;
487  SfxItemPool& GetAttrPool();
488 
489  bool IsPreview() const { return mbPreview; }
490 
491  bool IsFrameView() const { return mbFrameView; }
492 
493  // Invalidates pages and contents.
494  // When bSizeChanged==true, adds/removes
495  // headers and footers as necessary.
496  void InvalidateLayout(bool bSizeChanged);
497 
498  const Size& GetBrowseBorder() const;
499  sal_Int32 GetBrowseWidth() const;
500  void SetBrowseBorder( const Size& rNew );
501 
502  css::uno::Reference< css::accessibility::XAccessible > CreateAccessible();
503 
504  css::uno::Reference< css::accessibility::XAccessible > CreateAccessiblePreview();
505 
506  void ShowPreviewSelection( sal_uInt16 nSelPage );
507  void InvalidateAccessibleFocus();
508 
509  // Apply Accessibility options.
510  void ApplyAccessibilityOptions(SvtAccessibilityOptions const & rAccessibilityOptions);
511 
524  void InvalidateAccessibleParaFlowRelation( const SwTextFrame* _pFromTextFrame,
525  const SwTextFrame* _pToTextFrame );
526 
529  void InvalidateAccessibleParaTextSelection();
530 
539  void InvalidateAccessibleParaAttrs( const SwTextFrame& rTextFrame );
540 
541  SwAccessibleMap* GetAccessibleMap();
542 
543  SwViewShell( SwViewShell&, vcl::Window *pWin, OutputDevice *pOut = nullptr,
544  long nFlags = 0 );
545  SwViewShell( SwDoc& rDoc, vcl::Window *pWin,
546  const SwViewOption *pOpt, OutputDevice *pOut = nullptr,
547  long nFlags = 0 );
548  virtual ~SwViewShell() override;
549 
550  sal_Int32 GetPageNumAndSetOffsetForPDF( OutputDevice& rOut, const SwRect& rRect ) const;
551 
552  bool IsInConstructor() const { return mbInConstructor; }
553 
554  const BitmapEx& GetReplacementBitmap(bool bIsErrorState);
555  void DeleteReplacementBitmaps();
556 
557  const SwPostItMgr* GetPostItMgr() const { return const_cast<SwViewShell*>(this)->GetPostItMgr(); }
558  SwPostItMgr* GetPostItMgr();
559 
561  void ToggleHeaderFooterEdit();
563  bool IsHeaderFooterEdit() const { return mbHeaderFooterEdit; }
564  bool IsShowHeaderFooterSeparator( FrameControlType eControl ) { return (eControl == FrameControlType::Header)? mbShowHeaderSeparator: mbShowFooterSeparator; }
565  virtual void SetShowHeaderFooterSeparator( FrameControlType eControl, bool bShow );
566  bool IsSelectAll() const { return mbSelectAll; }
567 
568  void setOutputToWindow(bool bOutputToWindow);
569  bool isOutputToWindow() const;
570 
571  virtual void dumpAsXml(xmlTextWriterPtr pWriter) const;
572 };
573 
574 // manages global ShellPointer
576 {
577 public:
580 
581  CurrShell( SwViewShell *pNew );
582  ~CurrShell();
583 };
584 
586 {
588 }
589 
591 {
592  if ( !mnStartAction++ )
593  ImplStartAction();
594 }
595 inline void SwViewShell::EndAction( const bool bIdleEnd )
596 {
597  if( 0 == (mnStartAction - 1) )
598  ImplEndAction( bIdleEnd );
599  --mnStartAction;
600 }
601 
603 {
604  if ( !mnLockPaint++ )
605  ImplLockPaint();
606 }
607 inline void SwViewShell::UnlockPaint( bool bVirDev )
608 {
609  if ( 0 == --mnLockPaint )
610  ImplUnlockPaint( bVirDev );
611 }
613 {
614  return const_cast<SwViewShell*>(this)->GetAttrPool();
615 }
616 
617 #endif // INCLUDED_SW_INC_VIEWSH_HXX
618 
619 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
vcl::RenderContext * GetOut() const
Definition: viewsh.hxx:339
bool IsPaintLocked() const
Definition: viewsh.hxx:469
VclPtr< OutputDevice > mpPrePostOutDev
Definition: viewsh.hxx:222
std::stack< vcl::Region > mPrePostPaintRegions
Definition: viewsh.hxx:221
Represents the visualization of a paragraph.
Definition: txtfrm.hxx:151
SwRootFrame * pRoot
Definition: viewsh.hxx:579
MapMode maPrePostMapMode
Definition: viewsh.hxx:223
void ImplEndAction(const bool bIdleEnd)
Definition: viewsh.cxx:239
tools::Rectangle maLOKVisibleArea
The visible area in the LibreOfficeKit client.
Definition: viewsh.hxx:171
SwViewShellImp * Imp()
Definition: viewsh.hxx:183
const SwAccessibilityOptions * GetAccessibilityOptions() const
Definition: viewsh.hxx:432
bool HasInvalidRect() const
Definition: viewsh.hxx:208
const SdrView * GetDrawView() const
Definition: viewsh.hxx:480
static void SetShellRes(ShellResource *pRes)
Definition: viewsh.hxx:434
Provides numbered items of a document.
Provides access to the marks of a document.
Definition: doc.hxx:184
bool IsPaintInProgress() const
Definition: viewsh.hxx:239
VclPtr< OutputDevice > mpOut
Window, Printer, VirtDev, ...
Definition: viewsh.hxx:115
VclPtr< vcl::Window > mpWin
= 0 during printing or pdf export
Definition: viewsh.hxx:114
std::unique_ptr< SwViewShellImp > mpImp
Definition: viewsh.hxx:111
std::unique_ptr< BitmapEx > m_xErrorBmp
error display of missed images
Definition: viewsh.hxx:98
bool mbOutputToWindow
The virtual device we paint to will end up on the screen.
Definition: viewsh.hxx:179
Of course Writer needs its own rectangles.
Definition: swrect.hxx:35
SfxViewShell * GetSfxViewShell() const
Definition: viewsh.hxx:442
The root element of a Writer document layout.
Definition: rootfrm.hxx:79
void EnableSmooth(bool b)
Definition: viewsh.hxx:248
std::shared_ptr< SwRootFrame > SwRootFramePtr
Definition: viewsh.hxx:78
const MapMode & getPrePostMapMode() const
Definition: viewsh.hxx:228
void SetOutDevAndWin(SwViewShell *pSh, OutputDevice *pO, vcl::Window *pW, sal_uInt16 nZoom)
Definition: paintfrm.cxx:7359
bool IsSelectAll() const
Definition: viewsh.hxx:566
bool IsHeaderFooterEdit() const
Acts both for headers / footers, depending on the bShow(Header|Footer)Separator flags.
Definition: viewsh.hxx:563
sal_uInt16 mnLockPaint
!= 0 if Paint is locked.
Definition: viewsh.hxx:175
Point maPrtOffset
Definition: viewsh.hxx:104
rtl::Reference< SwDoc > mxDoc
The document; never 0.
Definition: viewsh.hxx:172
Size maBrowseBorder
Definition: viewsh.hxx:106
SwRect maVisArea
The modern version of VisArea.
Definition: viewsh.hxx:170
oslFileHandle & pOut
SwDoc * GetDoc() const
Definition: viewsh.hxx:282
void ResetInvalidRect()
Definition: viewsh.hxx:585
static weld::Window * GetCareDialog(SwViewShell const &rVSh)
Definition: viewsh.hxx:439
bool IsInConstructor() const
Definition: viewsh.hxx:552
void ChgHyphenation()
Definition: viewsh.hxx:209
void SetEndActionByVirDev(bool b)
Definition: viewsh.hxx:200
bool IsInEndAction() const
Definition: viewsh.hxx:198
bool Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rOutRect) const
paint prepared preview
struct _xmlTextWriter * xmlTextWriterPtr
const SfxItemPool & GetAttrPool() const
Definition: viewsh.hxx:612
Orientation
page preview functionality in the writer
~CurrShell()
Definition: newfrm.cxx:336
SfxViewShell * mpSfxViewShell
Definition: viewsh.hxx:109
Document statistics information.
SwViewShell * pPrev
Definition: viewsh.hxx:578
bool ActionPend() const
Definition: viewsh.hxx:197
std::unique_ptr< SwAccessibilityOptions > mpAccOptions
Definition: viewsh.hxx:118
bool IsPreview() const
Definition: viewsh.hxx:489
sal_uInt16 ActionCount() const
Definition: viewsh.hxx:196
void SetOut(vcl::RenderContext *pOut)
Definition: viewsh.hxx:342
void SetSfxViewShell(SfxViewShell *pNew)
Definition: viewsh.hxx:443
void StartAction()
Definition: viewsh.hxx:590
bool HasArea() const
Definition: swrect.hxx:288
void ImplStartAction()
Definition: viewsh.cxx:455
Provides access to settings of a document.
void LockPaint()
Definition: viewsh.hxx:602
Text operation/manipulation interface.
#define SW_DLLPUBLIC
Definition: swdllapi.h:28
bool IsFrameView() const
Definition: viewsh.hxx:491
static ShellResource * mpShellRes
Resources for the Shell.
Definition: viewsh.hxx:166
void EndAction(const bool bIdleEnd=false)
Definition: viewsh.hxx:595
Provides access to the formatting devices of a document.
static bool mbLstAct
Definition: viewsh.hxx:100
const tools::Rectangle & getLOKVisibleArea() const
The visible area in the client (set by setClientVisibleArea).
Definition: viewsh.hxx:253
FrameControlType
Definition: swtypes.hxx:240
static vcl::DeleteOnDeinit< std::shared_ptr< weld::Window > > mpCareDialog
Avoid this window.
Definition: viewsh.hxx:168
static bool IsLstEndAction()
Definition: viewsh.hxx:343
void setLOKVisibleArea(const tools::Rectangle &rArea)
Definition: viewsh.hxx:254
OutputDevice RenderContext
Definition: paintfrm.hxx:29
void LockView(bool b)
Definition: viewsh.hxx:463
const SwViewOption * GetViewOptions() const
Definition: viewsh.hxx:424
vcl::Window * GetWin() const
Definition: viewsh.hxx:338
Provides outline nodes of a document.
std::unique_ptr< BitmapEx > m_xReplaceBmp
replaced display of still loaded images
Definition: viewsh.hxx:97
VclPtr< OutputDevice > mpBufferedOut
Definition: viewsh.hxx:142
void ImplUnlockPaint(bool bVirDev)
Definition: viewsh.cxx:468
void SetWin(vcl::Window *win)
Definition: viewsh.hxx:341
const SwPostItMgr * GetPostItMgr() const
Definition: viewsh.hxx:557
static vcl::DeleteOnDeinit< VclPtr< vcl::Window > > mpCareWindow
Avoid this window.
Definition: viewsh.hxx:167
SwRootFramePtr mpLayout
Definition: viewsh.hxx:144
Provides access to the layout of a document.
Access to the style pool.
SdrPaintWindow * mpTargetPaintWindow
Definition: viewsh.hxx:141
bool IsEndActionByVirDev() const
Definition: viewsh.hxx:201
void Clear()
Definition: swrect.hxx:296
SwRect maInvalidRect
Definition: viewsh.hxx:107
bool mbSelectAll
Special select all mode: whole document selected, even if doc starts with table.
Definition: viewsh.hxx:176
bool IsShowHeaderFooterSeparator(FrameControlType eControl)
Definition: viewsh.hxx:564
std::unique_ptr< SwViewOption > mpOpt
Definition: viewsh.hxx:117
CurrShell(SwViewShell *pNew)
Definition: newfrm.cxx:322
const SwViewShellImp * Imp() const
Definition: viewsh.hxx:184
void SetOutDev(SwViewShell *pSh, OutputDevice *pOut)
Definition: notxtfrm.cxx:174
struct _xmlTextWriter * xmlTextWriterPtr
Definition: viewsh.hxx:80
void Init(const sal_uInt16 _nCols, const sal_uInt16 _nRows, const Size &_rPxWinSize)
init page preview layout
bool IsDrawingLayerPaintInProgress() const
Definition: viewsh.hxx:240
sal_uInt16 mnStartAction
!= 0 if at least one Action is active.
Definition: viewsh.hxx:174
bool IsViewLocked() const
Definition: viewsh.hxx:462
void ImplLockPaint()
Definition: viewsh.cxx:461
void SetSwVisArea(SwViewShell *pSh, const SwRect &rRect)
Definition: vprint.cxx:155
void UnlockPaint(bool bVirDev=false)
Definition: viewsh.hxx:607