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 );
226 void DLPostPaint2(
bool bPaintFormLayer);
245 virtual void VisPortChgd(
const SwRect & );
249 const SwRect& VisArea()
const;
256 void MakeVisible(
const SwRect & );
259 void SizeChgNotify();
262 Point GetPagePos( sal_uInt16 nPageNum )
const;
264 sal_uInt16 GetNumPages()
const;
265 bool IsDummyPage( sal_uInt16 nPageNum )
const;
268 void SetFirstVisPageInvalid();
271 bool IsNewLayout()
const;
273 Size GetDocSize()
const;
275 virtual void CalcLayout();
277 sal_uInt16 GetPageCount()
const;
279 Size GetPageSize( sal_uInt16 nPageNum,
bool bSkipEmptyPages )
const;
346 void ChgAllPageSize(
Size const &rSz );
357 sal_Int32 nRenderer );
367 void CalcPagesForPrint( sal_uInt16 nMax );
370 void UpdateFields(
bool bCloseDB =
false);
371 bool IsAnyFieldInDoc()
const;
373 void UpdateAllCharts();
374 bool HasCharts()
const;
379 void SetParaSpaceMax(
bool bNew );
382 void SetParaSpaceMaxAtPages(
bool bNew );
385 void SetTabCompat(
bool bNew );
388 void SetAddExtLeading(
bool bNew );
391 void SetUseVirDev(
bool bNew );
395 void SetAddParaSpacingToTableCells(
bool _bAddParaSpacingToTableCells );
399 void SetUseFormerLineSpacing(
bool _bUseFormerLineSpacing );
402 void SetUseFormerObjectPositioning(
bool _bUseFormerObjPos );
404 void SetConsiderWrapOnObjPos(
bool _bConsiderWrapOnObjPos );
406 void SetUseFormerTextWrapping(
bool _bUseFormerTextWrapping );
408 void SetDoNotJustifyLinesWithManualBreak(
bool _bDoNotJustifyLinesWithManualBreak );
410 void SetProtectForm(
bool _bProtectForm );
412 void SetMsWordCompTrailingBlanks(
bool _bMsWordCompTrailingBlanks );
414 void SetSubtractFlysAnchoredAtFlys(
bool bSubtractFlysAnchoredAtFlys);
416 void SetEmptyDbFieldHidesPara(
bool bEmptyDbFieldHidesPara);
424 virtual void ApplyViewOptions(
const SwViewOption &rOpt );
426 virtual void SetReadonlyOption(
bool bSet);
427 void SetPDFExportOption(
bool bSet);
428 void SetPrtFormatOption(
bool bSet);
429 void SetReadonlySelectionOption(
bool bSet);
437 static void SetCareDialog(
const std::shared_ptr<weld::Window>& rNew);
439 {
return (*mpCareDialog.
get()) ? mpCareDialog.
get()->get() : CareChildWin(rVSh); }
445 virtual void DrawSelChanged();
459 void AdjustOptionsForPagePreview(
SwPrintData const& rPrintOptions );
464 inline void LockPaint();
465 void ImplLockPaint();
466 inline void UnlockPaint(
bool bVirDev =
false );
467 void ImplUnlockPaint(
bool bVirDev );
471 bool HasDrawView()
const;
475 bool HasDrawViewDrag()
const;
482 SdrView *GetDrawViewWithValidMarkList();
495 void InvalidateLayout(
bool bSizeChanged);
497 const Size& GetBrowseBorder()
const;
498 sal_Int32 GetBrowseWidth()
const;
499 void SetBrowseBorder(
const Size& rNew );
501 css::uno::Reference< css::accessibility::XAccessible > CreateAccessible();
503 css::uno::Reference< css::accessibility::XAccessible > CreateAccessiblePreview();
505 void ShowPreviewSelection( sal_uInt16 nSelPage );
506 void InvalidateAccessibleFocus();
523 void InvalidateAccessibleParaFlowRelation(
const SwTextFrame* _pFromTextFrame,
528 void InvalidateAccessibleParaTextSelection();
538 void InvalidateAccessibleParaAttrs(
const SwTextFrame& rTextFrame );
549 sal_Int32 GetPageNumAndSetOffsetForPDF(
OutputDevice& rOut,
const SwRect& rRect )
const;
553 const BitmapEx& GetReplacementBitmap(
bool bIsErrorState);
554 void DeleteReplacementBitmaps();
560 void ToggleHeaderFooterEdit();
564 virtual void SetShowHeaderFooterSeparator(
FrameControlType eControl,
bool bShow );
567 void setOutputToWindow(
bool bOutputToWindow);
568 bool isOutputToWindow()
const;
569 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
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
struct _xmlTextWriter * xmlTextWriterPtr
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.
static ShellResource * mpShellRes
Resources for the Shell.
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 vcl::DeleteOnDeinit< std::shared_ptr< weld::Window > > mpCareDialog
Avoid this window.
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
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
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)