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;
174 inline void ResetInvalidRect();
181 SAL_DLLPRIVATE
void PaintDesktop_(
const SwRegionRects &rRegion);
183 SAL_DLLPRIVATE
bool CheckInvalidForPaint(
const SwRect & );
186 SAL_DLLPRIVATE
void PrepareForPrint(
const SwPrintData &rOptions,
bool bIsPDFExport =
false );
188 SAL_DLLPRIVATE
void ImplApplyViewOptions(
const SwViewOption &rOpt );
190 SAL_DLLPRIVATE
void InvalidateAll(std::vector<LockPaintReason>& rReasons);
213 const SwNodes& GetNodes()
const;
219 inline void StartAction();
220 void ImplStartAction();
221 inline void EndAction(
const bool bIdleEnd =
false );
222 void ImplEndAction(
const bool bIdleEnd );
229 void SetRestoreActions(sal_uInt16 nSet);
230 sal_uInt16 GetRestoreActions()
const;
234 void ChgNumberDigits();
236 bool AddPaintRect(
const SwRect &rRect );
238 void InvalidateWindows(
const SwRect &rRect );
239 void FlushPendingLOKInvalidateTiles();
252 void DLPostPaint2(
bool bPaintFormLayer);
271 virtual void VisPortChgd(
const SwRect & );
275 const SwRect& VisArea()
const;
282 void MakeVisible(
const SwRect & );
285 void SizeChgNotify();
288 Point GetPagePos( sal_uInt16 nPageNum )
const;
290 sal_uInt16 GetNumPages()
const;
291 bool IsDummyPage( sal_uInt16 nPageNum )
const;
294 void SetFirstVisPageInvalid();
297 bool IsNewLayout()
const;
299 Size GetDocSize()
const;
301 virtual void CalcLayout();
303 sal_uInt16 GetPageCount()
const;
305 Size GetPageSize( sal_uInt16 nPageNum,
bool bSkipEmptyPages )
const;
353 IDocumentUndoRedo
const& GetIDocumentUndoRedo()
const;
354 IDocumentUndoRedo & GetIDocumentUndoRedo();
372 void ChgAllPageSize(
Size const &rSz );
383 sal_Int32 nRenderer );
388 bool bOutputForScreen );
394 void CalcPagesForPrint( sal_uInt16 nMax );
397 void UpdateFields(
bool bCloseDB =
false);
398 bool IsAnyFieldInDoc()
const;
401 void UpdateOleObjectPreviews();
404 void UpdateAllCharts();
405 bool HasCharts()
const;
410 void SetParaSpaceMax(
bool bNew );
413 void SetParaSpaceMaxAtPages(
bool bNew );
416 void SetTabCompat(
bool bNew );
419 void SetAddExtLeading(
bool bNew );
423 void SetAddParaSpacingToTableCells(
bool _bAddParaSpacingToTableCells );
427 void SetUseFormerLineSpacing(
bool _bUseFormerLineSpacing );
430 void SetUseFormerObjectPositioning(
bool _bUseFormerObjPos );
432 void SetConsiderWrapOnObjPos(
bool _bConsiderWrapOnObjPos );
434 void SetUseFormerTextWrapping(
bool _bUseFormerTextWrapping );
436 void SetDoNotJustifyLinesWithManualBreak(
bool _bDoNotJustifyLinesWithManualBreak );
438 void SetProtectForm(
bool _bProtectForm );
440 void SetMsWordCompTrailingBlanks(
bool _bMsWordCompTrailingBlanks );
442 void SetSubtractFlysAnchoredAtFlys(
bool bSubtractFlysAnchoredAtFlys);
444 void SetEmptyDbFieldHidesPara(
bool bEmptyDbFieldHidesPara);
452 virtual void ApplyViewOptions(
const SwViewOption &rOpt );
454 virtual void SetReadonlyOption(
bool bSet);
455 void SetPDFExportOption(
bool bSet);
456 void SetPrtFormatOption(
bool bSet);
457 void SetReadonlySelectionOption(
bool bSet);
465 static void SetCareDialog(
const std::shared_ptr<weld::Window>& rNew);
467 {
return (*spCareDialog.
get()) ? spCareDialog.
get()->get() : CareChildWin(rVSh); }
473 virtual void DrawSelChanged();
487 void AdjustOptionsForPagePreview(
SwPrintData const& rPrintOptions );
493 void ImplLockPaint();
494 inline void UnlockPaint(
bool bVirDev =
false );
495 void ImplUnlockPaint( std::vector<LockPaintReason>& rReasons,
bool bVirDev );
499 bool HasDrawView()
const;
503 bool HasDrawViewDrag()
const;
510 SdrView *GetDrawViewWithValidMarkList();
525 const Size& GetBrowseBorder()
const;
526 sal_Int32 GetBrowseWidth()
const;
527 void SetBrowseBorder(
const Size& rNew );
529 css::uno::Reference< css::accessibility::XAccessible > CreateAccessible();
531 css::uno::Reference< css::accessibility::XAccessible > CreateAccessiblePreview();
533 void ShowPreviewSelection( sal_uInt16 nSelPage );
534 void InvalidateAccessibleFocus();
551 void InvalidateAccessibleParaFlowRelation(
const SwTextFrame* _pFromTextFrame,
556 void InvalidateAccessibleParaTextSelection();
566 void InvalidateAccessibleParaAttrs(
const SwTextFrame& rTextFrame );
577 sal_Int32 GetPageNumAndSetOffsetForPDF(
OutputDevice& rOut,
const SwRect& rRect )
const;
581 const BitmapEx& GetReplacementBitmap(
bool bIsErrorState);
582 void DeleteReplacementBitmaps();
588 void ToggleHeaderFooterEdit();
592 virtual void SetShowHeaderFooterSeparator(
FrameControlType eControl,
bool bShow );
595 void setOutputToWindow(
bool bOutputToWindow);
596 bool isOutputToWindow()
const;
597 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)