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

The usage of LayAction is always the same: More...

#include <layact.hxx>

Collaboration diagram for SwLayAction:
[legend]

Public Member Functions

 SwLayAction (SwRootFrame *pRt, SwViewShellImp *pImp)
 
 ~SwLayAction ()
 
void SetIdle (bool bNew)
 
void SetCheckPages (bool bNew)
 
void SetBrowseActionStop (bool bNew)
 
void SetNextCycle (bool bNew)
 
bool IsWaitAllowed () const
 
bool IsNextCycle () const
 
bool IsPaint () const
 
bool IsIdle () const
 
bool IsReschedule () const
 
bool IsPaintExtraData () const
 
bool IsInterrupt () const
 
VclInputFlags GetInputType () const
 
void SetPaint (bool bNew)
 
void SetComplete (bool bNew)
 
void SetStatBar (bool bNew)
 
void SetInputType (VclInputFlags nNew)
 
void SetCalcLayout (bool bNew)
 
void SetReschedule (bool bNew)
 
void SetWaitAllowed (bool bNew)
 
void SetAgain (bool bAgain)
 
void SetUpdateExpFields ()
 
void SetCheckPageNum (sal_uInt16 nNew)
 
void SetCheckPageNumDirect (sal_uInt16 nNew)
 
void Action (OutputDevice *pRenderContext)
 
void Reset ()
 
bool IsAgain () const
 
bool IsComplete () const
 
bool IsExpFields () const
 
bool IsCalcLayout () const
 
bool IsCheckPages () const
 
bool IsBrowseActionStop () const
 
bool IsActionInProgress () const
 
sal_uInt16 GetCheckPageNum () const
 
void CheckWaitCursor ()
 
void FormatLayoutFly (SwFlyFrame *)
 
void FormatFlyContent (const SwFlyFrame *)
 

Private Member Functions

void PaintContent (const SwContentFrame *, const SwPageFrame *, const SwRect &rOldRect, tools::Long nOldBottom)
 Depending of the type, the Content is output according to its changes, or the area to be outputted is registered with the region, respectively. More...
 
bool PaintWithoutFlys (const SwRect &, const SwContentFrame *, const SwPageFrame *)
 
bool PaintContent_ (const SwContentFrame *, const SwPageFrame *, const SwRect &)
 
bool FormatLayout (OutputDevice *pRenderContext, SwLayoutFrame *, bool bAddRect=true)
 
bool FormatLayoutTab (SwTabFrame *, bool bAddRect)
 
bool FormatContent (SwPageFrame *pPage)
 
void FormatContent_ (const SwContentFrame *pContent, const SwPageFrame *pPage)
 
bool IsShortCut (SwPageFrame *&)
 
bool TurboAction ()
 
bool TurboAction_ (const SwContentFrame *)
 
void InternalAction (OutputDevice *pRenderContext)
 
bool RemoveEmptyBrowserPages ()
 
void PushFormatLayout (SwFrame *pLow)
 
void PopFormatLayout ()
 
void CheckIdleEnd ()
 

Static Private Member Functions

static SwPageFrameCheckFirstVisPage (SwPageFrame *pPage)
 

Private Attributes

SwRootFramem_pRoot
 
SwViewShellImpm_pImp
 
const SwTabFramem_pOptTab
 
std::unique_ptr< SwWaitm_pWait
 
std::vector< SwFrame * > m_aFrameStack
 
std::vector< std::unique_ptr< SwFrameDeleteGuard > > m_aFrameDeleteGuards
 
sal_uInt16 m_nPreInvaPage
 
std::clock_t m_nStartTicks
 
VclInputFlags m_nInputType
 
sal_uInt16 m_nEndPage
 
sal_uInt16 m_nCheckPageNum
 
bool m_bPaint
 
bool m_bComplete
 
bool m_bCalcLayout
 
bool m_bAgain
 
bool m_bNextCycle
 
bool m_bInterrupt
 
bool m_bIdle
 
bool m_bReschedule
 
bool m_bCheckPages
 
bool m_bUpdateExpFields
 
bool m_bBrowseActionStop
 
bool m_bWaitAllowed
 
bool m_bPaintExtraData
 
bool m_bActionInProgress
 
bool mbFormatContentOnInterrupt
 

Detailed Description

The usage of LayAction is always the same:

  1. Generation of the LayAction object.
  2. Specifying the wanted behaviour via the Set-methods
  3. Calling Action()
  4. Soon after that the destruction of the object

The object registers at the SwViewShellImp in the ctor and deregisters not until the dtor! It's a typical stack object.

Definition at line 58 of file layact.hxx.

Constructor & Destructor Documentation

◆ SwLayAction()

SwLayAction::SwLayAction ( SwRootFrame pRt,
SwViewShellImp pImp 
)

◆ ~SwLayAction()

SwLayAction::~SwLayAction ( )

Definition at line 270 of file layact.cxx.

References m_pImp, SwViewShellImp::m_pLayAction, and m_pWait.

Member Function Documentation

◆ Action()

void SwLayAction::Action ( OutputDevice pRenderContext)

◆ CheckFirstVisPage()

SwPageFrame * SwLayAction::CheckFirstVisPage ( SwPageFrame pPage)
staticprivate

◆ CheckIdleEnd()

void SwLayAction::CheckIdleEnd ( )
inlineprivate

◆ CheckWaitCursor()

void SwLayAction::CheckWaitCursor ( )

◆ FormatContent()

bool SwLayAction::FormatContent ( SwPageFrame pPage)
private

◆ FormatContent_()

void SwLayAction::FormatContent_ ( const SwContentFrame pContent,
const SwPageFrame pPage 
)
private

◆ FormatFlyContent()

void SwLayAction::FormatFlyContent ( const SwFlyFrame pFly)

◆ FormatLayout()

bool SwLayAction::FormatLayout ( OutputDevice pRenderContext,
SwLayoutFrame pLay,
bool  bAddRect = true 
)
private

Definition at line 1219 of file layact.cxx.

References SwViewShell::AddPaintRect(), SwRect::Bottom(), SwFrame::Calc(), SwRegionRects::ChangeOrigin(), CheckWaitCursor(), SwViewOption::defGapBetweenPages, SwFootnoteBossFrame::FindFootnoteCont(), SwFrame::FindPageFrame(), FormatLayout(), FormatLayoutTab(), SwPageFrame::GetBorderAndShadowBoundRect(), SwPageFrame::GetBoundRect(), SwViewOption::getBrowseMode(), SwRootFrame::GetCurrShell(), SwFrameAreaDefinition::getFrameArea(), SwViewOption::GetGapBetweenPages(), SwFrame::GetNext(), SwFrame::GetPaintArea(), SwFrame::GetPrev(), SwRectFnSet::GetPrtBottom(), SwFrame::getRootFrame(), SwSectionFrame::GetSection(), SwViewShellImp::GetShell(), SwFrame::GetUpper(), SwViewShell::GetViewOptions(), SwRect::Height(), i, IsAgain(), SwFrame::IsCompletePaint(), SwRect::IsEmpty(), SwFrame::IsFootnoteFrame(), SwFrameAreaDefinition::isFrameAreaDefinitionValid(), SwFrame::IsLayoutFrame(), SwPageFrame::IsLeftShadowNeeded(), SwRootFrame::IsLeftToRightViewLayout(), SwFrame::IsPageBodyFrame(), SwFrame::IsPageFrame(), IsPaint(), SwViewShell::IsPaintLocked(), SwFrame::IsRetouche(), SwFrame::IsRetoucheFrame(), SwPageFrame::IsRightShadowNeeded(), SwFrame::IsSctFrame(), SwFrame::IsTabFrame(), SwRect::Left(), SwLayoutFrame::Lower(), m_pImp, m_pRoot, SwFrame::OptCalc(), PopFormatLayout(), SwRect::Pos(), PushFormatLayout(), SwFrame::ResetCompletePaint(), SwFrame::ResetRetouche(), sw::sidebarwindows::RIGHT, SwRect::Right(), SwFrame::SetCompletePaint(), SwRectFnSet::SetTop(), SwPageFrame::SidebarPosition(), SwRect::Top(), and SwRect::Width().

Referenced by FormatLayout(), FormatLayoutFly(), FormatLayoutTab(), InternalAction(), and IsShortCut().

◆ FormatLayoutFly()

void SwLayAction::FormatLayoutFly ( SwFlyFrame pFly)

◆ FormatLayoutTab()

bool SwLayAction::FormatLayoutTab ( SwTabFrame pTab,
bool  bAddRect 
)
private

◆ GetCheckPageNum()

sal_uInt16 SwLayAction::GetCheckPageNum ( ) const
inline

Definition at line 178 of file layact.hxx.

References m_nCheckPageNum.

Referenced by SwFrame::InsertPage().

◆ GetInputType()

VclInputFlags SwLayAction::GetInputType ( ) const
inline

Definition at line 150 of file layact.hxx.

References m_nInputType.

Referenced by CheckIdleEnd().

◆ InternalAction()

void SwLayAction::InternalAction ( OutputDevice pRenderContext)
private

Definition at line 466 of file layact.cxx.

References SwRootFrame::AssertFlyPages(), SwRect::Bottom(), SwFrame::Calc(), CheckFirstVisPage(), CheckIdleEnd(), SwFrame::CheckPageDescs(), SwRootFrame::DeleteEmptyFlys(), SwRootFrame::DeleteEmptySct(), SwLayouter::EndLoopControl(), FileInit, FormatContent(), FormatLayout(), SwObjectFormatter::FormatObjsAtFrame(), SwFormat::GetDoc(), SwViewShell::GetDoc(), SwDoc::GetDocShell(), SwViewShellImp::GetFirstVisPage(), SwLayoutFrame::GetFormat(), SwFrameAreaDefinition::getFrameArea(), SwFormat::getIDocumentLayoutAccess(), IDocumentLayoutAccess::GetLayouter(), SwFrame::GetNext(), SwPageFrame::GetPhyPageNum(), SwFrame::GetPrev(), SwViewShellImp::GetShell(), SwPageFrame::GetSortedObjs(), SwPageFrame::InvalidateContent(), SwPageFrame::InvalidateFlyContent(), SwPageFrame::InvalidateFlyInCnt(), SwPageFrame::InvalidateFlyLayout(), IsAgain(), SwRootFrame::IsAssertFlyPages(), IsBrowseActionStop(), IsComplete(), IsIdle(), IsInterrupt(), SwPageFrame::IsInvalid(), SwPageFrame::IsInvalidContent(), SwPageFrame::IsInvalidFly(), SwPageFrame::IsInvalidLayout(), IsNextCycle(), SwFrame::IsPageFrame(), IsShortCut(), SwRootFrame::IsSuperfluous(), SwRootFrame::IsTableUpdateInProgress(), SwLayouter::LoopControl(), SwLayoutFrame::Lower(), m_bInterrupt, m_nCheckPageNum, m_nEndPage, m_nPreInvaPage, m_pImp, m_pOptTab, m_pRoot, mbFormatContentOnInterrupt, NONE, PROTOCOL, SwRootFrame::RemoveSuperfluous(), SAL_WARN, SetAgain(), SetCheckPages(), SwViewShellImp::SetFirstVisPageInvalid(), SetNextCycle(), SetProgressState(), SwLayouter::StartLoopControl(), SwRect::Top(), unlockPositionOfObjects(), SwPageFrame::ValidateContent(), SwPageFrame::ValidateFlyContent(), SwPageFrame::ValidateFlyInCnt(), SwPageFrame::ValidateFlyLayout(), SwPageFrame::ValidateLayout(), and SwViewShell::VisArea().

Referenced by Action().

◆ IsActionInProgress()

bool SwLayAction::IsActionInProgress ( ) const
inline

Definition at line 176 of file layact.hxx.

References m_bActionInProgress.

◆ IsAgain()

bool SwLayAction::IsAgain ( ) const
inline

◆ IsBrowseActionStop()

bool SwLayAction::IsBrowseActionStop ( ) const
inline

Definition at line 175 of file layact.hxx.

References m_bBrowseActionStop.

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

◆ IsCalcLayout()

bool SwLayAction::IsCalcLayout ( ) const
inline

◆ IsCheckPages()

bool SwLayAction::IsCheckPages ( ) const
inline

Definition at line 174 of file layact.hxx.

References m_bCheckPages.

Referenced by SwFrame::CheckPageDescs(), and SwFrame::InsertPage().

◆ IsComplete()

bool SwLayAction::IsComplete ( ) const
inline

Definition at line 171 of file layact.hxx.

References m_bComplete.

Referenced by InternalAction().

◆ IsExpFields()

bool SwLayAction::IsExpFields ( ) const
inline

Definition at line 172 of file layact.hxx.

References m_bUpdateExpFields.

Referenced by SwViewShell::CalcLayout().

◆ IsIdle()

bool SwLayAction::IsIdle ( ) const
inline

Definition at line 145 of file layact.hxx.

References m_bIdle.

Referenced by Action(), and InternalAction().

◆ IsInterrupt()

bool SwLayAction::IsInterrupt ( ) const
inline

Definition at line 148 of file layact.hxx.

References m_bInterrupt.

Referenced by CheckIdleEnd(), FormatFlyContent(), InternalAction(), and SwLayIdle::SwLayIdle().

◆ IsNextCycle()

bool SwLayAction::IsNextCycle ( ) const
inline

Definition at line 143 of file layact.hxx.

References m_bNextCycle.

Referenced by InternalAction().

◆ IsPaint()

bool SwLayAction::IsPaint ( ) const
inline

◆ IsPaintExtraData()

bool SwLayAction::IsPaintExtraData ( ) const
inline

Definition at line 147 of file layact.hxx.

References m_bPaintExtraData.

Referenced by FormatFlyContent(), and TurboAction_().

◆ IsReschedule()

bool SwLayAction::IsReschedule ( ) const
inline

Definition at line 146 of file layact.hxx.

References m_bReschedule.

Referenced by CheckWaitCursor().

◆ IsShortCut()

bool SwLayAction::IsShortCut ( SwPageFrame *&  prPage)
private

◆ IsWaitAllowed()

bool SwLayAction::IsWaitAllowed ( ) const
inline

Definition at line 142 of file layact.hxx.

References m_bWaitAllowed.

Referenced by CheckWaitCursor().

◆ PaintContent()

void SwLayAction::PaintContent ( const SwContentFrame pCnt,
const SwPageFrame pPage,
const SwRect rOldRect,
tools::Long  nOldBottom 
)
private

◆ PaintContent_()

bool SwLayAction::PaintContent_ ( const SwContentFrame pContent,
const SwPageFrame pPage,
const SwRect rRect 
)
inlineprivate

◆ PaintWithoutFlys()

bool SwLayAction::PaintWithoutFlys ( const SwRect rRect,
const SwContentFrame pCnt,
const SwPageFrame pPage 
)
private

◆ PopFormatLayout()

void SwLayAction::PopFormatLayout ( )
private

Definition at line 357 of file layact.cxx.

References m_aFrameDeleteGuards, and m_aFrameStack.

Referenced by FormatLayout().

◆ PushFormatLayout()

void SwLayAction::PushFormatLayout ( SwFrame pLow)
private

Definition at line 343 of file layact.cxx.

References m_aFrameDeleteGuards, and m_aFrameStack.

Referenced by FormatLayout().

◆ RemoveEmptyBrowserPages()

bool SwLayAction::RemoveEmptyBrowserPages ( )
private

◆ Reset()

void SwLayAction::Reset ( void  )

◆ SetAgain()

void SwLayAction::SetAgain ( bool  bAgain)

◆ SetBrowseActionStop()

void SwLayAction::SetBrowseActionStop ( bool  bNew)
inline

Definition at line 139 of file layact.hxx.

References m_bBrowseActionStop.

◆ SetCalcLayout()

void SwLayAction::SetCalcLayout ( bool  bNew)
inline

Definition at line 157 of file layact.hxx.

References m_bCalcLayout.

Referenced by SwViewShell::CalcLayout().

◆ SetCheckPageNum()

void SwLayAction::SetCheckPageNum ( sal_uInt16  nNew)
inline

Definition at line 227 of file layact.hxx.

References m_nCheckPageNum.

Referenced by SwFrame::CheckPageDescs(), and SwContentFrame::Cut().

◆ SetCheckPageNumDirect()

void SwLayAction::SetCheckPageNumDirect ( sal_uInt16  nNew)
inline

Definition at line 165 of file layact.hxx.

References m_nCheckPageNum.

Referenced by SwFrame::InsertPage().

◆ SetCheckPages()

void SwLayAction::SetCheckPages ( bool  bNew)
inline

Definition at line 138 of file layact.hxx.

References m_bCheckPages.

Referenced by Action(), and InternalAction().

◆ SetComplete()

void SwLayAction::SetComplete ( bool  bNew)
inline

◆ SetIdle()

void SwLayAction::SetIdle ( bool  bNew)
inline

Definition at line 137 of file layact.hxx.

References m_bIdle.

Referenced by SwLayIdle::SwLayIdle().

◆ SetInputType()

void SwLayAction::SetInputType ( VclInputFlags  nNew)
inline

Definition at line 156 of file layact.hxx.

References m_nInputType.

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

◆ SetNextCycle()

void SwLayAction::SetNextCycle ( bool  bNew)
inline

Definition at line 140 of file layact.hxx.

References m_bNextCycle.

Referenced by FormatLayoutTab(), and InternalAction().

◆ SetPaint()

void SwLayAction::SetPaint ( bool  bNew)
inline

◆ SetReschedule()

void SwLayAction::SetReschedule ( bool  bNew)
inline

◆ SetStatBar()

void SwLayAction::SetStatBar ( bool  bNew)

Definition at line 92 of file layact.cxx.

References SwRootFrame::GetPageNum(), m_nEndPage, and m_pRoot.

Referenced by SwViewShell::CalcLayout().

◆ SetUpdateExpFields()

void SwLayAction::SetUpdateExpFields ( )
inline

Definition at line 162 of file layact.hxx.

References m_bUpdateExpFields.

Referenced by SwViewShellImp::IsUpdateExpFields().

◆ SetWaitAllowed()

void SwLayAction::SetWaitAllowed ( bool  bNew)
inline

Definition at line 159 of file layact.hxx.

References m_bWaitAllowed.

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

◆ TurboAction()

bool SwLayAction::TurboAction ( )
private

Definition at line 874 of file layact.cxx.

References CheckIdleEnd(), SwRootFrame::GetTurbo(), m_pRoot, SwRootFrame::ResetTurbo(), and TurboAction_().

Referenced by Action().

◆ TurboAction_()

bool SwLayAction::TurboAction_ ( const SwContentFrame pCnt)
private

Member Data Documentation

◆ m_aFrameDeleteGuards

std::vector<std::unique_ptr<SwFrameDeleteGuard> > SwLayAction::m_aFrameDeleteGuards
private

Definition at line 73 of file layact.hxx.

Referenced by PopFormatLayout(), PushFormatLayout(), and SetAgain().

◆ m_aFrameStack

std::vector<SwFrame*> SwLayAction::m_aFrameStack
private

Definition at line 72 of file layact.hxx.

Referenced by PopFormatLayout(), PushFormatLayout(), and SetAgain().

◆ m_bActionInProgress

bool SwLayAction::m_bActionInProgress
private

Definition at line 101 of file layact.hxx.

Referenced by Action(), IsActionInProgress(), and SwLayAction().

◆ m_bAgain

bool SwLayAction::m_bAgain
private

Definition at line 91 of file layact.hxx.

Referenced by IsAgain(), SetAgain(), and SwLayAction().

◆ m_bBrowseActionStop

bool SwLayAction::m_bBrowseActionStop
private

Definition at line 98 of file layact.hxx.

Referenced by IsBrowseActionStop(), Reset(), SetBrowseActionStop(), and SwLayAction().

◆ m_bCalcLayout

bool SwLayAction::m_bCalcLayout
private

Definition at line 90 of file layact.hxx.

Referenced by IsCalcLayout(), Reset(), SetCalcLayout(), and SwLayAction().

◆ m_bCheckPages

bool SwLayAction::m_bCheckPages
private

Definition at line 96 of file layact.hxx.

Referenced by IsCheckPages(), Reset(), SetCheckPages(), and SwLayAction().

◆ m_bComplete

bool SwLayAction::m_bComplete
private

Definition at line 89 of file layact.hxx.

Referenced by IsComplete(), Reset(), SetComplete(), and SwLayAction().

◆ m_bIdle

bool SwLayAction::m_bIdle
private

Definition at line 94 of file layact.hxx.

Referenced by IsIdle(), Reset(), SetIdle(), and SwLayAction().

◆ m_bInterrupt

bool SwLayAction::m_bInterrupt
private

Definition at line 93 of file layact.hxx.

Referenced by CheckIdleEnd(), InternalAction(), IsInterrupt(), Reset(), and SwLayAction().

◆ m_bNextCycle

bool SwLayAction::m_bNextCycle
private

Definition at line 92 of file layact.hxx.

Referenced by Action(), IsNextCycle(), Reset(), SetNextCycle(), and SwLayAction().

◆ m_bPaint

bool SwLayAction::m_bPaint
private

Definition at line 88 of file layact.hxx.

Referenced by IsPaint(), Reset(), SetPaint(), and SwLayAction().

◆ m_bPaintExtraData

bool SwLayAction::m_bPaintExtraData
private

Definition at line 100 of file layact.hxx.

Referenced by IsPaintExtraData(), and SwLayAction().

◆ m_bReschedule

bool SwLayAction::m_bReschedule
private

Definition at line 95 of file layact.hxx.

Referenced by IsReschedule(), Reset(), SetReschedule(), and SwLayAction().

◆ m_bUpdateExpFields

bool SwLayAction::m_bUpdateExpFields
private

Definition at line 97 of file layact.hxx.

Referenced by IsExpFields(), Reset(), SetUpdateExpFields(), and SwLayAction().

◆ m_bWaitAllowed

bool SwLayAction::m_bWaitAllowed
private

Definition at line 99 of file layact.hxx.

Referenced by IsWaitAllowed(), Reset(), SetWaitAllowed(), and SwLayAction().

◆ m_nCheckPageNum

sal_uInt16 SwLayAction::m_nCheckPageNum
private

◆ m_nEndPage

sal_uInt16 SwLayAction::m_nEndPage
private

Definition at line 84 of file layact.hxx.

Referenced by InternalAction(), Reset(), and SetStatBar().

◆ m_nInputType

VclInputFlags SwLayAction::m_nInputType
private

Definition at line 83 of file layact.hxx.

Referenced by GetInputType(), Reset(), and SetInputType().

◆ m_nPreInvaPage

sal_uInt16 SwLayAction::m_nPreInvaPage
private

Definition at line 78 of file layact.hxx.

Referenced by InternalAction(), and Reset().

◆ m_nStartTicks

std::clock_t SwLayAction::m_nStartTicks
private

Definition at line 80 of file layact.hxx.

Referenced by CheckWaitCursor(), and Reset().

◆ m_pImp

SwViewShellImp* SwLayAction::m_pImp
private

◆ m_pOptTab

const SwTabFrame* SwLayAction::m_pOptTab
private

Definition at line 68 of file layact.hxx.

Referenced by FormatLayoutTab(), InternalAction(), and Reset().

◆ m_pRoot

SwRootFrame* SwLayAction::m_pRoot
private

◆ m_pWait

std::unique_ptr<SwWait> SwLayAction::m_pWait
private

Definition at line 70 of file layact.hxx.

Referenced by Action(), CheckWaitCursor(), and ~SwLayAction().

◆ mbFormatContentOnInterrupt

bool SwLayAction::mbFormatContentOnInterrupt
private

Definition at line 104 of file layact.hxx.

Referenced by FormatFlyContent(), InternalAction(), and SwLayAction().


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