44class IDocumentUndoRedo;
63namespace vcl {
class Region; }
95#define VSHELLFLAG_ISPREVIEW (tools::Long(0x1))
96#define VSHELLFLAG_SHARELAYOUT (tools::Long(0x2))
137 std::unique_ptr<SwViewShellImp>
144 std::unique_ptr<SwViewOption>
mpOpt;
173 inline void ResetInvalidRect();
180 SAL_DLLPRIVATE
void PaintDesktop_(
const SwRegionRects &rRegion);
182 SAL_DLLPRIVATE
bool CheckInvalidForPaint(
const SwRect & );
185 SAL_DLLPRIVATE
void PrepareForPrint(
const SwPrintData &rOptions,
bool bIsPDFExport =
false );
187 SAL_DLLPRIVATE
void ImplApplyViewOptions(
const SwViewOption &rOpt );
189 SAL_DLLPRIVATE
void InvalidateAll(std::vector<LockPaintReason>& rReasons);
191 SAL_DLLPRIVATE
void InvalidatePageAndHFSubsidiaryLines();
214 const SwNodes& GetNodes()
const;
220 inline void StartAction();
221 void ImplStartAction();
222 inline void EndAction(
const bool bIdleEnd =
false );
223 void ImplEndAction(
const bool bIdleEnd );
230 void SetRestoreActions(sal_uInt16 nSet);
231 sal_uInt16 GetRestoreActions()
const;
235 void ChgNumberDigits();
237 bool AddPaintRect(
const SwRect &rRect );
239 void InvalidateWindows(
const SwRect &rRect );
240 void FlushPendingLOKInvalidateTiles();
253 void DLPostPaint2(
bool bPaintFormLayer);
272 virtual void VisPortChgd(
const SwRect & );
276 const SwRect& VisArea()
const;
283 void MakeVisible(
const SwRect & );
286 void SizeChgNotify();
289 Point GetPagePos( sal_uInt16 nPageNum )
const;
291 sal_uInt16 GetNumPages()
const;
292 bool IsDummyPage( sal_uInt16 nPageNum )
const;
295 void SetFirstVisPageInvalid();
298 bool IsNewLayout()
const;
300 Size GetDocSize()
const;
302 virtual void CalcLayout();
304 sal_uInt16 GetPageCount()
const;
306 Size GetPageSize( sal_uInt16 nPageNum,
bool bSkipEmptyPages )
const;
354 IDocumentUndoRedo
const& GetIDocumentUndoRedo()
const;
355 IDocumentUndoRedo & GetIDocumentUndoRedo();
373 void ChgAllPageSize(
Size const &rSz );
384 sal_Int32 nRenderer );
389 bool bOutputForScreen );
395 void CalcPagesForPrint( sal_uInt16 nMax );
398 void UpdateFields(
bool bCloseDB =
false);
399 bool IsAnyFieldInDoc()
const;
402 void UpdateOleObjectPreviews();
405 void UpdateAllCharts();
406 bool HasCharts()
const;
411 void SetParaSpaceMax(
bool bNew );
414 void SetParaSpaceMaxAtPages(
bool bNew );
417 void SetTabCompat(
bool bNew );
420 void SetAddExtLeading(
bool bNew );
424 void SetAddParaSpacingToTableCells(
bool _bAddParaSpacingToTableCells );
428 void SetUseFormerLineSpacing(
bool _bUseFormerLineSpacing );
431 void SetUseFormerObjectPositioning(
bool _bUseFormerObjPos );
433 void SetConsiderWrapOnObjPos(
bool _bConsiderWrapOnObjPos );
435 void SetUseFormerTextWrapping(
bool _bUseFormerTextWrapping );
437 void SetDoNotJustifyLinesWithManualBreak(
bool _bDoNotJustifyLinesWithManualBreak );
439 void SetProtectForm(
bool _bProtectForm );
441 void SetMsWordCompTrailingBlanks(
bool _bMsWordCompTrailingBlanks );
443 void SetSubtractFlysAnchoredAtFlys(
bool bSubtractFlysAnchoredAtFlys);
445 void SetEmptyDbFieldHidesPara(
bool bEmptyDbFieldHidesPara);
453 virtual void ApplyViewOptions(
const SwViewOption &rOpt );
455 virtual void SetReadonlyOption(
bool bSet);
456 void SetPDFExportOption(
bool bSet);
457 void SetPrtFormatOption(
bool bSet);
458 void SetReadonlySelectionOption(
bool bSet);
466 static void SetCareDialog(
const std::shared_ptr<weld::Window>& rNew);
468 {
return (*spCareDialog.
get()) ? spCareDialog.
get()->get() : CareChildWin(rVSh); }
474 virtual void DrawSelChanged();
488 void AdjustOptionsForPagePreview(
SwPrintData const& rPrintOptions );
494 void ImplLockPaint();
495 inline void UnlockPaint(
bool bVirDev =
false );
496 void ImplUnlockPaint( std::vector<LockPaintReason>& rReasons,
bool bVirDev );
500 bool HasDrawView()
const;
504 bool HasDrawViewDrag()
const;
511 SdrView *GetDrawViewWithValidMarkList();
524 const Size& GetBrowseBorder()
const;
525 sal_Int32 GetBrowseWidth()
const;
526 void SetBrowseBorder(
const Size& rNew );
528 css::uno::Reference< css::accessibility::XAccessible > CreateAccessible();
530 css::uno::Reference< css::accessibility::XAccessible > CreateAccessiblePreview();
532 void ShowPreviewSelection( sal_uInt16 nSelPage );
533 void InvalidateAccessibleFocus();
536 void ApplyAccessibilityOptions();
550 void InvalidateAccessibleParaFlowRelation(
const SwTextFrame* _pFromTextFrame,
555 void InvalidateAccessibleParaTextSelection();
565 void InvalidateAccessibleParaAttrs(
const SwTextFrame& rTextFrame );
576 sal_Int32 GetPageNumAndSetOffsetForPDF(
OutputDevice& rOut,
const SwRect& rRect )
const;
580 const BitmapEx& GetReplacementBitmap(
bool bIsErrorState);
581 void DeleteReplacementBitmaps();
587 void ToggleHeaderFooterEdit();
591 virtual void SetShowHeaderFooterSeparator(
FrameControlType eControl,
bool bShow );
594 void setOutputToWindow(
bool bOutputToWindow);
595 bool isOutputToWindow()
const;
596 void OnGraphicArrived(
const SwRect&);
CurrShell(SwViewShell *pNew)
Text operation/manipulation interface.
Provides access to the formatting devices of a document.
Provides access to the layout of a document.
Provides numbered items of a document.
Provides access to the marks of a document.
Provides outline nodes of a document.
Provides access to settings of a document.
Document statistics information.
Access to the style pool.
page preview functionality in the writer
void Init(const sal_uInt16 _nCols, const sal_uInt16 _nRows, const Size &_rPxWinSize)
init page preview layout
bool Paint(vcl::RenderContext &rRenderContext, const tools::Rectangle &rOutRect) const
paint prepared preview
Of course Writer needs its own rectangles.
The root element of a Writer document layout.
Represents the visualization of a paragraph.
const SwViewShellImp * Imp() const
sal_uInt16 ActionCount() const
bool IsViewLocked() const
vcl::RenderContext * GetOut() const
VclPtr< vcl::Window > mpWin
= 0 during printing or pdf export
bool IsHeaderFooterEdit() const
Acts both for headers / footers, depending on the bShow(Header|Footer)Separator flags.
void setLOKVisibleArea(const tools::Rectangle &rArea)
SdrPaintWindow * mpTargetPaintWindow
const SwViewOption * GetViewOptions() const
void UnlockPaint(bool bVirDev=false)
void EnableSmooth(bool b)
VclPtr< OutputDevice > mpOut
Window, Printer, VirtDev, ...
bool IsPaintInProgress() const
bool IsInEndAction() const
rtl::Reference< SwDoc > mxDoc
The document; never 0.
VclPtr< OutputDevice > mpBufferedOut
const tools::Rectangle & getLOKVisibleArea() const
The visible area in the client (set by setClientVisibleArea).
VclPtr< OutputDevice > mpPrePostOutDev
void ImplEndAction(const bool bIdleEnd)
void EndAction(const bool bIdleEnd=false)
std::unique_ptr< SwViewOption > mpOpt
std::stack< vcl::Region > mPrePostPaintRegions
SfxViewShell * mpSfxViewShell
const MapMode & getPrePostMapMode() const
bool mbOutputToWindow
The virtual device we paint to will end up on the screen.
std::unique_ptr< SwAccessibilityOptions > mpAccOptions
SwRect maVisArea
The modern version of VisArea.
vcl::Window * GetWin() const
bool mbShowHeaderSeparator
Flag to say that we are showing the header control.
const SdrView * GetDrawView() const
bool HasInvalidRect() const
void ImplUnlockPaint(std::vector< LockPaintReason > &rReasons, bool bVirDev)
std::unique_ptr< SwViewShellImp > mpImp
void SetOut(vcl::RenderContext *pOut)
std::unique_ptr< BitmapEx > m_xErrorBmp
error display of missed images
void SetWin(vcl::Window *win)
bool IsShowHeaderFooterSeparator(FrameControlType eControl)
sal_uInt16 mnStartAction
!= 0 if at least one Action is active.
static ShellResource * spShellRes
Resources for the Shell.
static weld::Window * GetCareDialog(SwViewShell const &rVSh)
tools::Rectangle maLOKVisibleArea
The visible area in the LibreOfficeKit client.
bool mbHeaderFooterEdit
Flag to say that we are editing header or footer (according to the bShow(Header|Footer)Separator abov...
SfxViewShell * GetSfxViewShell() const
const SwAccessibilityOptions * GetAccessibilityOptions() const
sal_uInt16 mnLockPaint
!= 0 if Paint is locked.
bool mbShowFooterSeparator
Flag to say that we are showing the footer control.
void LockPaint(LockPaintReason eReason)
const SwPostItMgr * GetPostItMgr() const
void SetSfxViewShell(SfxViewShell *pNew)
std::vector< LockPaintReason > maLockPaintReasons
static bool IsLstEndAction()
bool IsDrawingLayerPaintInProgress() const
static void SetShellRes(ShellResource *pRes)
std::unique_ptr< BitmapEx > m_xReplaceBmp
replaced display of still loaded images
const SfxItemPool & GetAttrPool() const
static vcl::DeleteOnDeinit< std::shared_ptr< weld::Window > > spCareDialog
Avoid this window.
bool IsInConstructor() const
bool IsPaintLocked() const
bool mbSelectAll
Special select all mode: whole document selected, even if doc starts with table.
struct _xmlTextWriter * xmlTextWriterPtr
OutputDevice RenderContext
void SetOutDev(SwViewShell *pSh, OutputDevice *pOut)
void SetOutDevAndWin(SwViewShell *pSh, OutputDevice *pO, vcl::Window *pW, sal_uInt16 nZoom)
OUString sFirstCustomVirt
struct _xmlTextWriter * xmlTextWriterPtr
std::shared_ptr< SwRootFrame > SwRootFramePtr
void SetSwVisArea(SwViewShell *pSh, const SwRect &rRect)