63 namespace vcl {
class Region; }
76 #define VSHELLFLAG_ISPREVIEW (tools::Long(0x1))
77 #define VSHELLFLAG_SHARELAYOUT (tools::Long(0x2))
110 std::unique_ptr<SwViewShellImp>
117 std::unique_ptr<SwViewOption>
mpOpt;
120 bool mbDocSizeChgd :1;
122 bool mbPaintWorks :1;
124 bool mbPaintInProgress :1;
125 bool mbViewLocked :1;
127 bool mbInEndAction :1;
130 bool mbEnableSmooth :1;
132 bool mbEndActionByVirDev:1;
134 bool mbShowHeaderSeparator:1;
135 bool mbShowFooterSeparator:1;
136 bool mbHeaderFooterEdit:1;
139 bool mbInConstructor:1;
149 inline void ResetInvalidRect();
156 SAL_DLLPRIVATE
void PaintDesktop_(
const SwRegionRects &rRegion);
158 SAL_DLLPRIVATE
bool CheckInvalidForPaint(
const SwRect & );
161 SAL_DLLPRIVATE
void PrepareForPrint(
const SwPrintData &rOptions,
bool bIsPDFExport =
false );
163 SAL_DLLPRIVATE
void ImplApplyViewOptions(
const SwViewOption &rOpt );
185 const SwNodes& GetNodes()
const;
191 inline void StartAction();
192 void ImplStartAction();
193 inline void EndAction(
const bool bIdleEnd =
false );
194 void ImplEndAction(
const bool bIdleEnd );
204 void SetRestoreActions(sal_uInt16 nSet);
205 sal_uInt16 GetRestoreActions()
const;
209 void ChgNumberDigits();
211 bool AddPaintRect(
const SwRect &rRect );
213 void InvalidateWindows(
const SwRect &rRect );
214 void FlushPendingLOKInvalidateTiles();
227 void DLPostPaint2(
bool bPaintFormLayer);
246 virtual void VisPortChgd(
const SwRect & );
250 const SwRect& VisArea()
const;
257 void MakeVisible(
const SwRect & );
260 void SizeChgNotify();
263 Point GetPagePos( sal_uInt16 nPageNum )
const;
265 sal_uInt16 GetNumPages()
const;
266 bool IsDummyPage( sal_uInt16 nPageNum )
const;
269 void SetFirstVisPageInvalid();
272 bool IsNewLayout()
const;
274 Size GetDocSize()
const;
276 virtual void CalcLayout();
278 sal_uInt16 GetPageCount()
const;
280 Size GetPageSize( sal_uInt16 nPageNum,
bool bSkipEmptyPages )
const;
347 void ChgAllPageSize(
Size const &rSz );
358 sal_Int32 nRenderer );
368 void CalcPagesForPrint( sal_uInt16 nMax );
371 void UpdateFields(
bool bCloseDB =
false);
372 bool IsAnyFieldInDoc()
const;
375 void UpdateOleObjectPreviews();
378 void UpdateAllCharts();
379 bool HasCharts()
const;
384 void SetParaSpaceMax(
bool bNew );
387 void SetParaSpaceMaxAtPages(
bool bNew );
390 void SetTabCompat(
bool bNew );
393 void SetAddExtLeading(
bool bNew );
396 void SetUseVirDev(
bool bNew );
400 void SetAddParaSpacingToTableCells(
bool _bAddParaSpacingToTableCells );
404 void SetUseFormerLineSpacing(
bool _bUseFormerLineSpacing );
407 void SetUseFormerObjectPositioning(
bool _bUseFormerObjPos );
409 void SetConsiderWrapOnObjPos(
bool _bConsiderWrapOnObjPos );
411 void SetUseFormerTextWrapping(
bool _bUseFormerTextWrapping );
413 void SetDoNotJustifyLinesWithManualBreak(
bool _bDoNotJustifyLinesWithManualBreak );
415 void SetProtectForm(
bool _bProtectForm );
417 void SetMsWordCompTrailingBlanks(
bool _bMsWordCompTrailingBlanks );
419 void SetSubtractFlysAnchoredAtFlys(
bool bSubtractFlysAnchoredAtFlys);
421 void SetEmptyDbFieldHidesPara(
bool bEmptyDbFieldHidesPara);
429 virtual void ApplyViewOptions(
const SwViewOption &rOpt );
431 virtual void SetReadonlyOption(
bool bSet);
432 void SetPDFExportOption(
bool bSet);
433 void SetPrtFormatOption(
bool bSet);
434 void SetReadonlySelectionOption(
bool bSet);
442 static void SetCareDialog(
const std::shared_ptr<weld::Window>& rNew);
444 {
return (*spCareDialog.
get()) ? spCareDialog.
get()->get() : CareChildWin(rVSh); }
450 virtual void DrawSelChanged();
464 void AdjustOptionsForPagePreview(
SwPrintData const& rPrintOptions );
469 inline void LockPaint();
470 void ImplLockPaint();
471 inline void UnlockPaint(
bool bVirDev =
false );
472 void ImplUnlockPaint(
bool bVirDev );
476 bool HasDrawView()
const;
480 bool HasDrawViewDrag()
const;
487 SdrView *GetDrawViewWithValidMarkList();
500 void InvalidateLayout(
bool bSizeChanged);
502 const Size& GetBrowseBorder()
const;
503 sal_Int32 GetBrowseWidth()
const;
504 void SetBrowseBorder(
const Size& rNew );
506 css::uno::Reference< css::accessibility::XAccessible > CreateAccessible();
508 css::uno::Reference< css::accessibility::XAccessible > CreateAccessiblePreview();
510 void ShowPreviewSelection( sal_uInt16 nSelPage );
511 void InvalidateAccessibleFocus();
528 void InvalidateAccessibleParaFlowRelation(
const SwTextFrame* _pFromTextFrame,
533 void InvalidateAccessibleParaTextSelection();
543 void InvalidateAccessibleParaAttrs(
const SwTextFrame& rTextFrame );
554 sal_Int32 GetPageNumAndSetOffsetForPDF(
OutputDevice& rOut,
const SwRect& rRect )
const;
558 const BitmapEx& GetReplacementBitmap(
bool bIsErrorState);
559 void DeleteReplacementBitmaps();
565 void ToggleHeaderFooterEdit();
569 virtual void SetShowHeaderFooterSeparator(
FrameControlType eControl,
bool bShow );
572 void setOutputToWindow(
bool bOutputToWindow);
573 bool isOutputToWindow()
const;
574 void OnGraphicArrived(
const SwRect&);
vcl::RenderContext * GetOut() const
bool IsPaintLocked() const
VclPtr< OutputDevice > mpPrePostOutDev
std::stack< vcl::Region > mPrePostPaintRegions
Represents the visualization of a paragraph.
void ImplEndAction(const bool bIdleEnd)
tools::Rectangle maLOKVisibleArea
The visible area in the LibreOfficeKit client.
const SwAccessibilityOptions * GetAccessibilityOptions() const
static vcl::DeleteOnDeinit< std::shared_ptr< weld::Window > > spCareDialog
Avoid this window.
bool HasInvalidRect() const
const SdrView * GetDrawView() const
static void SetShellRes(ShellResource *pRes)
Provides numbered items of a document.
Provides access to the marks of a document.
bool IsPaintInProgress() const
VclPtr< OutputDevice > mpOut
Window, Printer, VirtDev, ...
VclPtr< vcl::Window > mpWin
= 0 during printing or pdf export
std::unique_ptr< SwViewShellImp > mpImp
std::unique_ptr< BitmapEx > m_xErrorBmp
error display of missed images
bool mbOutputToWindow
The virtual device we paint to will end up on the screen.
Of course Writer needs its own rectangles.
SfxViewShell * GetSfxViewShell() const
The root element of a Writer document layout.
void EnableSmooth(bool b)
std::shared_ptr< SwRootFrame > SwRootFramePtr
const MapMode & getPrePostMapMode() const
void SetOutDevAndWin(SwViewShell *pSh, OutputDevice *pO, vcl::Window *pW, sal_uInt16 nZoom)
bool IsHeaderFooterEdit() const
Acts both for headers / footers, depending on the bShow(Header|Footer)Separator flags.
sal_uInt16 mnLockPaint
!= 0 if Paint is locked.
rtl::Reference< SwDoc > mxDoc
The document; never 0.
SwRect maVisArea
The modern version of VisArea.
static weld::Window * GetCareDialog(SwViewShell const &rVSh)
bool IsInConstructor() const
void SetEndActionByVirDev(bool b)
bool IsInEndAction() const
bool Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rOutRect) const
paint prepared preview
const SfxItemPool & GetAttrPool() const
page preview functionality in the writer
SfxViewShell * mpSfxViewShell
Document statistics information.
std::unique_ptr< SwAccessibilityOptions > mpAccOptions
sal_uInt16 ActionCount() const
void SetOut(vcl::RenderContext *pOut)
void SetSfxViewShell(SfxViewShell *pNew)
Provides access to settings of a document.
Text operation/manipulation interface.
void EndAction(const bool bIdleEnd=false)
Provides access to the formatting devices of a document.
const tools::Rectangle & getLOKVisibleArea() const
The visible area in the client (set by setClientVisibleArea).
static bool IsLstEndAction()
void setLOKVisibleArea(const tools::Rectangle &rArea)
OutputDevice RenderContext
const SwViewOption * GetViewOptions() const
vcl::Window * GetWin() const
Provides outline nodes of a document.
std::unique_ptr< BitmapEx > m_xReplaceBmp
replaced display of still loaded images
VclPtr< OutputDevice > mpBufferedOut
static ShellResource * spShellRes
Resources for the Shell.
void ImplUnlockPaint(bool bVirDev)
void SetWin(vcl::Window *win)
const SwPostItMgr * GetPostItMgr() const
Provides access to the layout of a document.
Access to the style pool.
SdrPaintWindow * mpTargetPaintWindow
struct _xmlTextWriter * xmlTextWriterPtr
bool IsEndActionByVirDev() const
bool mbSelectAll
Special select all mode: whole document selected, even if doc starts with table.
bool IsShowHeaderFooterSeparator(FrameControlType eControl)
std::unique_ptr< SwViewOption > mpOpt
CurrShell(SwViewShell *pNew)
const SwViewShellImp * Imp() const
void SetOutDev(SwViewShell *pSh, OutputDevice *pOut)
struct _xmlTextWriter * xmlTextWriterPtr
void Init(const sal_uInt16 _nCols, const sal_uInt16 _nRows, const Size &_rPxWinSize)
init page preview layout
bool IsDrawingLayerPaintInProgress() const
sal_uInt16 mnStartAction
!= 0 if at least one Action is active.
bool IsViewLocked() const
void SetSwVisArea(SwViewShell *pSh, const SwRect &rRect)
void UnlockPaint(bool bVirDev=false)