22 #include <viewimp.hxx>
37 #include <drawdoc.hxx>
42 OSL_ENSURE(
m_pDrawView,
"SwViewShellImp::Init without DrawView" );
69 m_pDrawView->SetSnapGridWidth( aSnGrWdtX, aSnGrWdtY );
77 m_pDrawView->SetUseIncompatiblePathCreateInterface(
false );
86 m_pSdrPageView( nullptr ),
87 m_pFirstVisiblePage( nullptr ),
88 m_pLayAction( nullptr ),
89 m_pIdleAct( nullptr ),
90 m_bFirstPageInvalid( true ),
91 m_bResetHdlHiddenPaint( false ),
92 m_bSmoothUpdate( false ),
93 m_bStopSmooth( false ),
94 m_nRestoreActions( 0 )
112 OSL_ENSURE( !
m_pLayAction,
"Have action for the rest of your life." );
113 OSL_ENSURE( !
m_pIdleAct,
"Be idle for the rest of your life." );
133 (*m_pRegion) -= rRect;
218 if(!pOutDevForDrawView)
226 pOutDevForDrawView) );
255 !
SW_MOD()->GetAccessibilityOptions().GetIsForPagePreviews())
280 OSL_ENSURE(
m_pShell->
GetLayout(),
"no layout - page preview layout can not be created.");
290 OSL_ENSURE(
GetShell()->GetLayout(),
"no layout, no access" );
291 OSL_ENSURE( pWin,
"no window, no access" );
299 catch (uno::Exception
const&)
302 assert(!
"SwViewShellImp::UpdateAccessible: unhandled exception");
310 bool bCanSkipInvisible)
315 if( rTmp.Imp()->IsAccessible() )
316 rTmp.Imp()->GetAccessibleMap().A11yDispose( pFrame, pObj,
nullptr, bRecursive, bCanSkipInvisible );
326 if( rTmp.Imp()->IsAccessible() )
327 rTmp.Imp()->GetAccessibleMap().InvalidatePosOrSize( pFrame, pObj,
nullptr,
337 if( rTmp.Imp()->IsAccessible() )
338 rTmp.Imp()->GetAccessibleMap().InvalidateContent( pFrame );
355 if( rTmp.Imp()->IsAccessible() )
356 rTmp.Imp()->GetAccessibleMap().InvalidateEditableStates( pFrame );
370 if( rTmp.Imp()->IsAccessible() )
371 rTmp.Imp()->GetAccessibleMap().InvalidateRelationSet( pMaster,
380 if ( !_pFromTextFrame && !_pToTextFrame )
388 if ( rTmp.Imp()->IsAccessible() )
390 if ( _pFromTextFrame )
392 rTmp.Imp()->GetAccessibleMap().
393 InvalidateParaFlowRelation( *_pFromTextFrame,
true );
397 rTmp.Imp()->GetAccessibleMap().
398 InvalidateParaFlowRelation( *_pToTextFrame,
false );
409 if ( rTmp.Imp()->IsAccessible() )
411 rTmp.Imp()->GetAccessibleMap().InvalidateTextSelectionOfAllParas();
421 if ( rTmp.Imp()->IsAccessible() )
423 rTmp.Imp()->GetAccessibleMap().InvalidateAttr( rTextFrame );
431 const Size& _rPreviewWinSize )
435 _pSelectedPageFrame, _rPreviewWinSize );
vcl::RenderContext * GetOut() const
Base class of the Writer layout elements.
Represents the visualization of a paragraph.
void InvalidateAccessibleFrameContent(const SwFrame *pFrame)
Invalidate accessible frame's content.
void FireAccessibleEvents()
Fire all accessible events that have been collected so far.
void InvalidateAccessibleCursorPosition(const SwFrame *pFrame)
Invalidate accessible frame's cursor position.
const Color & GetRetoucheColor() const
void InvalidateAccessibleRelationSet(const SwFlyFrame *pMaster, const SwFlyFrame *pFollow)
Invalidate frame's relation set (for chained frames)
virtual void SetSize(const Size &aSiz)
bool IsPagePreview() const
void DisposeAccessible(const SwFrame *pFrame, const SdrObject *pObj, bool bRecursive, bool bCanSkipInvisible)
Remove a frame from the accessible view.
void InvalidateAccessibleParaAttrs_(const SwTextFrame &rTextFrame)
invalidate attributes for paragraphs and paragraph's characters
const SdrPage * GetDrawPage() const
constexpr::Color COL_TRANSPARENT(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
SwAccessibleMap & GetAccessibleMap()
const SwPageFrame & GetFormatPage() const
SwViewShellImp(SwViewShell *)
CTor for the core internals.
SwLayAction * m_pLayAction
bool IsAccessible() const
Is this view accessible?
void SetDrawPage(SdrPage *pNew)
Of course Writer needs its own rectangles.
The root element of a Writer document layout.
void InvalidatePreviewSelection(sal_uInt16 nSelPage)
bool IsCalcLayout() const
virtual SwDrawModel * MakeDrawModel_()=0
const SwPageFrame * GetFirstVisPage(OutputDevice const *pRenderContext) const
Management of the first visible Page.
virtual void NotifyInvisibleLayers(SdrPageView &_rSdrPageView)=0
method to notify drawing page view about the invisible layers
short GetDivisionX() const
const SwRect & getFrameArea() const
const BorderLinePrimitive2D *pCandidateB assert(pCandidateA)
bool getBrowseMode() const
short GetDivisionY() const
void UpdateAccessiblePreview(const std::vector< std::unique_ptr< PreviewPage >> &_rPreviewPages, const Fraction &_rScale, const SwPageFrame *_pSelectedPageFrame, const Size &_rPreviewWinSize)
update data for accessible preview change method signature due to new page preview functionality ...
const IDocumentDrawModelAccess & getIDocumentDrawModelAccess() const
Provides access to the document draw model interface.
void CheckWaitCursor()
If an Action is running we ask it to check whether it's time to enable the WaitCursor.
const SwViewShell * GetShell() const
Only for SwViewShell::Init()
SdrPageView * m_pSdrPageView
page preview functionality in the writer
#define TOOLS_WARN_EXCEPTION(area, stream)
void Init(const SwViewOption *)
css::uno::Reference< css::accessibility::XAccessible > GetDocumentView()
const SwRect & VisArea() const
void InvalidateCursorPosition(const css::uno::Reference< css::accessibility::XAccessible > &rAcc)
bool IsViewLayoutBookMode() const
SwRect GetBoundRect(OutputDevice const *pOutputDevice) const
bool IsCalcLayoutProgress() const
Asks the LayAction if present.
const SwFrame * Lower() const
std::shared_ptr< SwAccessibleMap > m_pAccessibleMap
note: the map is uniquely owned here - the shared_ptr is only used so that SwAccessibleContext can ch...
const SdrPage * GetPage(sal_uInt16 nPgNum) const
virtual const SwDrawModel * GetDrawModel() const =0
Draw Model and id accessors.
tools::Long Width() const
void SetUpdateExpFields()
ring_container GetRingContainer()
void SSize(const Size &rNew)
A page of the document layout.
const IDocumentLayoutAccess & getIDocumentLayoutAccess() const
Provides access to the document layout interface.
SwAccessibleMap * CreateAccessibleMap()
void UpdateAccessible()
Update (this) accessible view.
std::unique_ptr< SwDrawView > m_pDrawView
SwPageFrame * m_pFirstVisiblePage
tools::Rectangle SVRect() const
SwDrawView * GetDrawView()
general base class for all free-flowing frames
Color GetRetoucheColor() const
virtual const SwViewShell * GetCurrentViewShell() const =0
Returns the layout set at the document.
const SwViewOption * GetViewOptions() const
vcl::Window * GetWin() const
const ::std::vector< Color > ImpSvNumberformatScan::StandardColor COL_WHITE
const Size & GetSnapSize() const
virtual SwDrawModel * GetOrCreateDrawModel()=0
void InvalidateEditableStates(const SwFrame *_pFrame)
void UpdatePreview(const std::vector< std::unique_ptr< PreviewPage >> &_rPreviewPages, const Fraction &_rScale, const SwPageFrame *_pSelectedPageFrame, const Size &_rPreviewWinSize)
void Top(const tools::Long nTop)
tools::Long Height() const
static Color & GetDocColor()
void SetActiveLayer(const OUString &rName)
void InvalidateAccessibleParaFlowRelation_(const SwTextFrame *_pFromTextFrame, const SwTextFrame *_pToTextFrame)
invalidate CONTENT_FLOWS_FROM/_TO relation for paragraphs
std::unique_ptr< SwPagePreviewLayout > m_pPagePreviewLayout
void InvalidateAccessibleEditableState(bool bAllShells, const SwFrame *pFrame=nullptr)
Invalidate editable state for all accessible frames.
bool IsGridVisible() const
Provides access to the layout of a document.
bool IsAccessibleFrame() const
bool AddPaintRect(const SwRect &rRect)
void SetFirstVisPage(OutputDevice const *pRenderContext)
bool IsOver(const SwRect &rRect) const
SwRootFrame * GetLayout() const
void Height(tools::Long nNew)
std::unique_ptr< SwRegionRects > m_pRegion
void InvalidateAccessiblePreviewSelection(sal_uInt16 nSelPage)
void MoveAccessible(const SwFrame *pFrame, const SdrObject *pObj, const SwRect &rOldFrame)
Move a frame's position in the accessible view.
void InitPagePreviewLayout()
void InvalidateAccessibleParaTextSelection_()
invalidate text selection for paragraphs