LibreOffice Module sw (master)  1
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
SwViewShellImp Class Reference

#include <viewimp.hxx>

Collaboration diagram for SwViewShellImp:
[legend]

Public Member Functions

 SwViewShellImp (SwViewShell *)
 CTor for the core internals. More...
 
 ~SwViewShellImp ()
 
void Init (const SwViewOption *)
 
const SwViewShellGetShell () const
 Only for SwViewShell::Init() More...
 
SwViewShellGetShell ()
 
Color GetRetoucheColor () const
 
const SwPageFrameGetFirstVisPage (OutputDevice const *pRenderContext) const
 Management of the first visible Page. More...
 
SwPageFrameGetFirstVisPage (OutputDevice const *pRenderContext)
 
void SetFirstVisPageInvalid ()
 
bool AddPaintRect (const SwRect &rRect)
 
SwRegionRectsGetRegion ()
 
void DelRegion ()
 
bool HasDrawView () const
 New Interface for StarView Drawing. More...
 
SwDrawViewGetDrawView ()
 
const SwDrawViewGetDrawView () const
 
SdrPageViewGetPageView ()
 
const SdrPageViewGetPageView () const
 
void MakeDrawView ()
 
void PaintLayer (const SdrLayerID _nLayerID, SwPrintData const *const pPrintData, SwPageFrame const &rPageFrame, const SwRect &_rRect, const Color *_pPageBackgrdColor, const bool _bIsPageRightToLeft, sdr::contact::ViewObjectContactRedirector *pRedirector)
 
bool IsDragPossible (const Point &rPoint)
 Is passed to the DrawEngine as a Link and decides what is painted or not and in what way. More...
 
void NotifySizeChg (const Size &rNewSz)
 
bool IsAction () const
 SS for the Lay-/IdleAction and relatives. More...
 
bool IsIdleAction () const
 
SwLayActionGetLayAction ()
 
const SwLayActionGetLayAction () const
 
void CheckWaitCursor ()
 If an Action is running we ask it to check whether it's time to enable the WaitCursor. More...
 
bool IsCalcLayoutProgress () const
 Asks the LayAction if present. More...
 
bool IsUpdateExpFields ()
 
void SetRestoreActions (sal_uInt16 nSet)
 
sal_uInt16 GetRestoreActions () const
 
void InitPagePreviewLayout ()
 
SwPagePreviewLayoutPagePreviewLayout ()
 
bool IsAccessible () const
 Is this view accessible? More...
 
SwAccessibleMapGetAccessibleMap ()
 
void UpdateAccessible ()
 Update (this) accessible view. More...
 
void DisposeAccessible (const SwFrame *pFrame, const SdrObject *pObj, bool bRecursive, bool bCanSkipInvisible)
 Remove a frame from the accessible view. More...
 
void DisposeAccessibleFrame (const SwFrame *pFrame, bool bRecursive=false)
 
void DisposeAccessibleObj (const SdrObject *pObj, bool bCanSkipInvisible)
 
void MoveAccessible (const SwFrame *pFrame, const SdrObject *pObj, const SwRect &rOldFrame)
 Move a frame's position in the accessible view. More...
 
void MoveAccessibleFrame (const SwFrame *pFrame, const SwRect &rOldFrame)
 
void AddAccessibleFrame (const SwFrame *pFrame)
 Add a frame in the accessible view. More...
 
void AddAccessibleObj (const SdrObject *pObj)
 
void InvalidateAccessibleFrameContent (const SwFrame *pFrame)
 Invalidate accessible frame's content. More...
 
void InvalidateAccessibleCursorPosition (const SwFrame *pFrame)
 Invalidate accessible frame's cursor position. More...
 
void InvalidateAccessibleEditableState (bool bAllShells, const SwFrame *pFrame=nullptr)
 Invalidate editable state for all accessible frames. More...
 
void InvalidateAccessibleRelationSet (const SwFlyFrame *pMaster, const SwFlyFrame *pFollow)
 Invalidate frame's relation set (for chained frames) More...
 
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 More...
 
void InvalidateAccessiblePreviewSelection (sal_uInt16 nSelPage)
 
void FireAccessibleEvents ()
 Fire all accessible events that have been collected so far. More...
 

Private Member Functions

void SetFirstVisPage (OutputDevice const *pRenderContext)
 
void StartAction ()
 
void EndAction ()
 
void LockPaint ()
 
void UnlockPaint ()
 
SwAccessibleMapCreateAccessibleMap ()
 
void InvalidateAccessibleParaFlowRelation_ (const SwTextFrame *_pFromTextFrame, const SwTextFrame *_pToTextFrame)
 invalidate CONTENT_FLOWS_FROM/_TO relation for paragraphs More...
 
void InvalidateAccessibleParaTextSelection_ ()
 invalidate text selection for paragraphs More...
 
void InvalidateAccessibleParaAttrs_ (const SwTextFrame &rTextFrame)
 invalidate attributes for paragraphs and paragraph's characters More...
 

Private Attributes

SwViewShellm_pShell
 
std::unique_ptr< SwDrawViewm_pDrawView
 
SdrPageViewm_pSdrPageView
 
SwPageFramem_pFirstVisiblePage
 
std::unique_ptr< SwRegionRectsm_pRegion
 
SwLayActionm_pLayAction
 
SwLayIdlem_pIdleAct
 
std::shared_ptr< SwAccessibleMapm_pAccessibleMap
 note: the map is uniquely owned here - the shared_ptr is only used so that SwAccessibleContext can check via weak_ptr that it's alive More...
 
bool m_bFirstPageInvalid: 1
 
bool m_bResetHdlHiddenPaint: 1
 
bool m_bSmoothUpdate: 1
 
bool m_bStopSmooth: 1
 
sal_uInt16 m_nRestoreActions
 
SwRect m_aSmoothRect
 
std::unique_ptr< SwPagePreviewLayoutm_pPagePreviewLayout
 

Friends

class SwViewShell
 
class SwLayAction
 
class SwLayIdle
 
class SwPagePreviewLayout
 

Detailed Description

Definition at line 52 of file viewimp.hxx.

Constructor & Destructor Documentation

SwViewShellImp::SwViewShellImp ( SwViewShell pParent)

CTor for the core internals.

Definition at line 91 of file viewimp.cxx.

References m_pShell.

SwViewShellImp::~SwViewShellImp ( )

Member Function Documentation

void SwViewShellImp::AddAccessibleFrame ( const SwFrame pFrame)
inline

Add a frame in the accessible view.

Definition at line 296 of file viewimp.hxx.

References MoveAccessible().

Referenced by SwDrawView::MoveRepeatedObjs(), SwDrawView::ObjOrderChanged(), and SwFlyFrame::UpdateAttr_().

void SwViewShellImp::AddAccessibleObj ( const SdrObject pObj)
inline
bool SwViewShellImp::AddPaintRect ( const SwRect rRect)
void SwViewShellImp::CheckWaitCursor ( )

If an Action is running we ask it to check whether it's time to enable the WaitCursor.

Definition at line 146 of file viewimp.cxx.

References SwLayAction::CheckWaitCursor(), and m_pLayAction.

Referenced by SwFrame::CheckPageDescs(), and SwLayoutFrame::FormatWidthCols().

SwAccessibleMap * SwViewShellImp::CreateAccessibleMap ( )
private

Definition at line 451 of file viewimp.cxx.

References GetShell(), and m_pAccessibleMap.

Referenced by GetAccessibleMap().

void SwViewShellImp::DelRegion ( )
void SwViewShellImp::DisposeAccessible ( const SwFrame pFrame,
const SdrObject pObj,
bool  bRecursive,
bool  bCanSkipInvisible 
)

Remove a frame from the accessible view.

Definition at line 314 of file viewimp.cxx.

References sw::Ring< value_type >::GetRingContainer(), GetShell(), and SwFrame::IsAccessibleFrame().

Referenced by DisposeAccessibleFrame(), and DisposeAccessibleObj().

void SwViewShellImp::DisposeAccessibleFrame ( const SwFrame pFrame,
bool  bRecursive = false 
)
inline
void SwViewShellImp::DisposeAccessibleObj ( const SdrObject pObj,
bool  bCanSkipInvisible 
)
inline
void SwViewShellImp::EndAction ( )
private

Definition at line 60 of file vdraw.cxx.

References GetShell(), HasDrawView(), m_pShell, and SET_CURR_SHELL.

Referenced by SwViewShell::ImplEndAction().

void SwViewShellImp::FireAccessibleEvents ( )

Fire all accessible events that have been collected so far.

Definition at line 458 of file viewimp.cxx.

References SwAccessibleMap::FireEvents(), GetAccessibleMap(), and IsAccessible().

Referenced by SwViewShell::ImplEndAction(), and SwLayIdle::SwLayIdle().

SwAccessibleMap & SwViewShellImp::GetAccessibleMap ( )
inline
SwDrawView* SwViewShellImp::GetDrawView ( )
inline
const SwDrawView* SwViewShellImp::GetDrawView ( ) const
inline

Definition at line 157 of file viewimp.hxx.

const SwPageFrame * SwViewShellImp::GetFirstVisPage ( OutputDevice const *  pRenderContext) const
SwPageFrame * SwViewShellImp::GetFirstVisPage ( OutputDevice const *  pRenderContext)

Definition at line 270 of file viewimp.cxx.

References m_bFirstPageInvalid, m_pFirstVisiblePage, and SetFirstVisPage().

SwLayAction& SwViewShellImp::GetLayAction ( )
inline
const SwLayAction& SwViewShellImp::GetLayAction ( ) const
inline

Definition at line 191 of file viewimp.hxx.

References m_pLayAction.

SdrPageView* SwViewShellImp::GetPageView ( )
inline
const SdrPageView* SwViewShellImp::GetPageView ( ) const
inline

Definition at line 159 of file viewimp.hxx.

References m_pSdrPageView.

SwRegionRects* SwViewShellImp::GetRegion ( )
inline

Definition at line 151 of file viewimp.hxx.

Referenced by SwViewShell::CheckInvalidForPaint(), and SwLayIdle::SwLayIdle().

sal_uInt16 SwViewShellImp::GetRestoreActions ( ) const
inline

Definition at line 210 of file viewimp.hxx.

References m_nRestoreActions.

Referenced by SwViewShell::GetRestoreActions().

Color SwViewShellImp::GetRetoucheColor ( ) const
const SwViewShell* SwViewShellImp::GetShell ( ) const
inline
SwViewShell* SwViewShellImp::GetShell ( )
inline

Definition at line 141 of file viewimp.hxx.

References m_pShell.

bool SwViewShellImp::HasDrawView ( ) const
inline
void SwViewShellImp::Init ( const SwViewOption pNewOpt)
void SwViewShellImp::InitPagePreviewLayout ( )

Definition at line 285 of file viewimp.cxx.

References SwViewShell::GetLayout(), m_pPagePreviewLayout, and m_pShell.

void SwViewShellImp::InvalidateAccessibleCursorPosition ( const SwFrame pFrame)

Invalidate accessible frame's cursor position.

Definition at line 349 of file viewimp.cxx.

References GetAccessibleMap(), SwAccessibleMap::InvalidateCursorPosition(), and IsAccessible().

void SwViewShellImp::InvalidateAccessibleEditableState ( bool  bAllShells,
const SwFrame pFrame = nullptr 
)
void SwViewShellImp::InvalidateAccessibleFrameContent ( const SwFrame pFrame)

Invalidate accessible frame's content.

Definition at line 339 of file viewimp.cxx.

References sw::Ring< value_type >::GetRingContainer(), GetShell(), and SwFrame::IsAccessibleFrame().

Referenced by SwFrameNotify::~SwFrameNotify().

void SwViewShellImp::InvalidateAccessibleParaAttrs_ ( const SwTextFrame rTextFrame)
private

invalidate attributes for paragraphs and paragraph's characters

invalidate attributes for paragraphs

#i88069# implementation for wrapper method <SwViewShell::InvalidateAccessibleParaAttrs(..)>

Definition at line 424 of file viewimp.cxx.

References GetShell().

Referenced by SwViewShell::InvalidateAccessibleParaAttrs().

void SwViewShellImp::InvalidateAccessibleParaFlowRelation_ ( const SwTextFrame _pFromTextFrame,
const SwTextFrame _pToTextFrame 
)
private

invalidate CONTENT_FLOWS_FROM/_TO relation for paragraphs

#i27138# implementation for wrapper method <SwViewShell::InvalidateAccessibleParaFlowRelation(..)>

Parameters
_pFromTextFrameinput parameter - paragraph frame, for which the relation CONTENT_FLOWS_FROM has to be invalidated. If NULL, no CONTENT_FLOWS_FROM relation has to be invalidated
_pToTextFrameinput parameter - paragraph frame, for which the relation CONTENT_FLOWS_TO has to be invalidated. If NULL, no CONTENT_FLOWS_TO relation has to be invalidated

Definition at line 384 of file viewimp.cxx.

References GetShell().

Referenced by SwViewShell::InvalidateAccessibleParaFlowRelation().

void SwViewShellImp::InvalidateAccessibleParaTextSelection_ ( )
private

invalidate text selection for paragraphs

#i27301# implementation for wrapper method <SwViewShell::InvalidateAccessibleParaTextSelection(..)>

Definition at line 412 of file viewimp.cxx.

References GetShell().

Referenced by SwViewShell::InvalidateAccessibleParaTextSelection().

void SwViewShellImp::InvalidateAccessiblePreviewSelection ( sal_uInt16  nSelPage)
void SwViewShellImp::InvalidateAccessibleRelationSet ( const SwFlyFrame pMaster,
const SwFlyFrame pFollow 
)

Invalidate frame's relation set (for chained frames)

Definition at line 372 of file viewimp.cxx.

References GetShell().

Referenced by SwFlyFrame::ChainFrames().

bool SwViewShellImp::IsAccessible ( ) const
inline
bool SwViewShellImp::IsAction ( ) const
inline

SS for the Lay-/IdleAction and relatives.

Definition at line 188 of file viewimp.hxx.

Referenced by SwFrame::CheckPageDescs(), SwPageFrame::DestroyImpl(), SwFrame::InsertPage(), SwFlowFrame::MoveSubTree(), and SwFlyNotify::~SwFlyNotify().

bool SwViewShellImp::IsCalcLayoutProgress ( ) const

Asks the LayAction if present.

Definition at line 152 of file viewimp.cxx.

References SwLayAction::IsCalcLayout(), and m_pLayAction.

bool SwViewShellImp::IsDragPossible ( const Point rPoint)
bool SwViewShellImp::IsIdleAction ( ) const
inline

Definition at line 189 of file viewimp.hxx.

bool SwViewShellImp::IsUpdateExpFields ( )
void SwViewShellImp::LockPaint ( )
private
void SwViewShellImp::MakeDrawView ( )
void SwViewShellImp::MoveAccessible ( const SwFrame pFrame,
const SdrObject pObj,
const SwRect rOldFrame 
)

Move a frame's position in the accessible view.

Definition at line 327 of file viewimp.cxx.

References sw::Ring< value_type >::GetRingContainer(), GetShell(), and SwFrame::IsAccessibleFrame().

Referenced by AddAccessibleFrame(), AddAccessibleObj(), MoveAccessibleFrame(), and SwPosNotify::~SwPosNotify().

void SwViewShellImp::MoveAccessibleFrame ( const SwFrame pFrame,
const SwRect rOldFrame 
)
inline
void SwViewShellImp::NotifySizeChg ( const Size rNewSz)
SwPagePreviewLayout* SwViewShellImp::PagePreviewLayout ( )
inline

Definition at line 214 of file viewimp.hxx.

Referenced by SwViewShell::PagePreviewLayout().

void SwViewShellImp::PaintLayer ( const SdrLayerID  _nLayerID,
SwPrintData const *const  pPrintData,
SwPageFrame const &  rPageFrame,
const SwRect _rRect,
const Color _pPageBackgrdColor,
const bool  _bIsPageRightToLeft,
sdr::contact::ViewObjectContactRedirector pRedirector 
)
Parameters
_pPageBackgrdColorfor setting this color as the background color at the outliner of the draw view for painting layers "hell" and "heaven"
_bIsPageRightToLeftfor the horizontal text direction of the page in order to set the default horizontal text direction at the outliner of the draw view for painting layers "hell" and "heaven"

Definition at line 89 of file vdraw.cxx.

References vcl::unotools::b2IRectangleFromRectangle(), SdrPageView::DrawLayer(), OutputDevice::GetDrawMode(), SdrModel::GetDrawOutliner(), GetDrawView(), SwFrameAreaDefinition::getFrameArea(), IDocumentDrawModelAccess::GetHeavenId(), IDocumentDrawModelAccess::GetHellId(), SwViewShell::getIDocumentDrawModelAccess(), SdrPaintView::GetModel(), SwViewShell::GetOut(), GetPageView(), Application::GetSettings(), GetShell(), SdrPageView::GetView(), HasDrawView(), SwPrintData::IsPrintDraw(), OutputDevice::Pop(), OutputDevice::Push(), OutputDevice::SetDrawMode(), SdrPaintView::setHideDraw(), SwRect::SVRect(), and SW_MOD.

Referenced by SwFlyFrameFormat::MakeGraphic(), SwRootFrame::PaintSwFrame(), and SwFrame::Retouch().

void SwViewShellImp::SetFirstVisPage ( OutputDevice const *  pRenderContext)
private
void SwViewShellImp::SetFirstVisPageInvalid ( )
inline
void SwViewShellImp::SetRestoreActions ( sal_uInt16  nSet)
inline

Definition at line 209 of file viewimp.hxx.

Referenced by SwViewShell::SetRestoreActions().

void SwViewShellImp::StartAction ( )
private

Definition at line 50 of file vdraw.cxx.

References GetShell(), HasDrawView(), m_pShell, and SET_CURR_SHELL.

Referenced by SwViewShell::ImplEndAction(), and SwViewShell::ImplStartAction().

void SwViewShellImp::UnlockPaint ( )
private
void SwViewShellImp::UpdateAccessible ( )
void SwViewShellImp::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

Definition at line 435 of file viewimp.cxx.

References GetAccessibleMap(), IsAccessible(), and SwAccessibleMap::UpdatePreview().

Referenced by SwPagePreviewLayout::Paint().

Friends And Related Function Documentation

friend class SwLayAction
friend

Definition at line 56 of file viewimp.hxx.

friend class SwLayIdle
friend

Definition at line 57 of file viewimp.hxx.

friend class SwPagePreviewLayout
friend

Definition at line 60 of file viewimp.hxx.

friend class SwViewShell
friend

Definition at line 54 of file viewimp.hxx.

Member Data Documentation

SwRect SwViewShellImp::m_aSmoothRect
private

Definition at line 85 of file viewimp.hxx.

Referenced by SwViewShell::Paint(), and SwViewShell::SmoothScroll().

bool SwViewShellImp::m_bFirstPageInvalid
private
bool SwViewShellImp::m_bResetHdlHiddenPaint
private

Definition at line 80 of file viewimp.hxx.

Referenced by LockPaint(), and UnlockPaint().

bool SwViewShellImp::m_bSmoothUpdate
private

Definition at line 81 of file viewimp.hxx.

Referenced by SwViewShell::SmoothScroll().

bool SwViewShellImp::m_bStopSmooth
private

Definition at line 82 of file viewimp.hxx.

Referenced by SwViewShell::Paint(), and SwViewShell::SmoothScroll().

sal_uInt16 SwViewShellImp::m_nRestoreActions
private

Definition at line 84 of file viewimp.hxx.

Referenced by GetRestoreActions().

std::shared_ptr<SwAccessibleMap> SwViewShellImp::m_pAccessibleMap
private

note: the map is uniquely owned here - the shared_ptr is only used so that SwAccessibleContext can check via weak_ptr that it's alive

Definition at line 77 of file viewimp.hxx.

Referenced by CreateAccessibleMap(), GetAccessibleMap(), and ~SwViewShellImp().

std::unique_ptr<SwDrawView> SwViewShellImp::m_pDrawView
private

Definition at line 65 of file viewimp.hxx.

Referenced by HasDrawView(), Init(), MakeDrawView(), and ~SwViewShellImp().

SwPageFrame* SwViewShellImp::m_pFirstVisiblePage
private
SwLayIdle* SwViewShellImp::m_pIdleAct
private

Definition at line 73 of file viewimp.hxx.

Referenced by SwLayIdle::SwLayIdle(), SwLayIdle::~SwLayIdle(), and ~SwViewShellImp().

SwLayAction* SwViewShellImp::m_pLayAction
private
std::unique_ptr<SwPagePreviewLayout> SwViewShellImp::m_pPagePreviewLayout
private

Definition at line 87 of file viewimp.hxx.

Referenced by InitPagePreviewLayout(), and ~SwViewShellImp().

std::unique_ptr<SwRegionRects> SwViewShellImp::m_pRegion
private

Definition at line 69 of file viewimp.hxx.

Referenced by AddPaintRect(), and DelRegion().

SdrPageView* SwViewShellImp::m_pSdrPageView
private

Definition at line 66 of file viewimp.hxx.

Referenced by GetPageView(), and Init().

SwViewShell* SwViewShellImp::m_pShell
private

The documentation for this class was generated from the following files: