sw/source/core/inc/dbg_lay.hxx | 82 ++++++++++--------- sw/source/core/layout/calcmove.cxx | 6 - sw/source/core/layout/dbg_lay.cxx | 159 ++++++++++++++++++------------------- sw/source/core/layout/flowfrm.cxx | 4 sw/source/core/layout/layact.cxx | 2 sw/source/core/layout/paintfrm.cxx | 2 sw/source/core/layout/sectfrm.cxx | 20 ++-- sw/source/core/layout/tabfrm.cxx | 2 sw/source/core/layout/wsfrm.cxx | 6 - sw/source/core/text/txtfrm.cxx | 2 vcl/source/window/scrwnd.cxx | 30 +++--- vcl/source/window/scrwnd.hxx | 29 +++--- 12 files changed, 179 insertions(+), 165 deletions(-)
New commits: commit 7074b5e4be3954e3650f8fb92c766e0dd7c2a419 Author: Noel Grandin <[email protected]> Date: Thu May 12 16:07:49 2016 +0200 Convert ACT to scoped enum Change-Id: I68ec79c9c85abcd91da379eecf3ed4331a15861b diff --git a/sw/source/core/inc/dbg_lay.hxx b/sw/source/core/inc/dbg_lay.hxx index a431bd4..4f7b9f7 100644 --- a/sw/source/core/inc/dbg_lay.hxx +++ b/sw/source/core/inc/dbg_lay.hxx @@ -48,15 +48,14 @@ namespace o3tl { template<> struct typed_flags<PROT> : is_typed_flags<PROT, 0x0007ffff> {}; } -#define ACT_START 1 -#define ACT_END 2 -#define ACT_CREATE_MASTER 3 -#define ACT_CREATE_FOLLOW 4 -#define ACT_DEL_MASTER 5 -#define ACT_DEL_FOLLOW 6 -#define ACT_MERGE 7 -#define ACT_NEXT_SECT 8 -#define ACT_PREV_SECT 9 +enum class DbgAction { + NONE, + Start, End, + CreateMaster, CreateFollow, + DelMaster, DelFollow, + Merge, + NextSect, PrevSect +}; #ifdef DBG_UTIL @@ -78,7 +77,7 @@ public: static PROT Record() { return nRecord; } static void SetRecord( PROT nNew ) { nRecord = nNew; } static bool Record( PROT nFunc ) { return bool(( nFunc | PROT::Init ) & nRecord); } - static void Record( const SwFrame* pFrame, PROT nFunction, sal_uLong nAction, void* pParam ); + static void Record( const SwFrame* pFrame, PROT nFunction, DbgAction nAction, void* pParam ); static void Init(); static void Stop(); }; @@ -86,11 +85,11 @@ public: class SwEnterLeave { SwImplEnterLeave* pImpl; - void Ctor( const SwFrame* pFrame, PROT nFunc, sal_uLong nAct, void* pPar ); + void Ctor( const SwFrame* pFrame, PROT nFunc, DbgAction nAct, void* pPar ); void Dtor(); public: - SwEnterLeave( const SwFrame* pFrame, PROT nFunc, sal_uLong nAct, void* pPar ) + SwEnterLeave( const SwFrame* pFrame, PROT nFunc, DbgAction nAct, void* pPar ) { if( SwProtocol::Record( nFunc ) ) Ctor( pFrame, nFunc, nAct, pPar ); diff --git a/sw/source/core/layout/calcmove.cxx b/sw/source/core/layout/calcmove.cxx index 969290f..8afb53c 100644 --- a/sw/source/core/layout/calcmove.cxx +++ b/sw/source/core/layout/calcmove.cxx @@ -707,7 +707,7 @@ size_t SwPageFrame::GetContentHeight(const long nTop, const long nBottom) const void SwPageFrame::MakeAll(vcl::RenderContext* pRenderContext) { - PROTOCOL_ENTER( this, PROT::MakeAll, 0, nullptr ) + PROTOCOL_ENTER( this, PROT::MakeAll, DbgAction::NONE, nullptr ) const SwRect aOldRect( Frame() ); // Adjust root size const SwLayNotify aNotify( this ); // takes care of the notification in the dtor @@ -835,7 +835,7 @@ void SwPageFrame::MakeAll(vcl::RenderContext* pRenderContext) void SwLayoutFrame::MakeAll(vcl::RenderContext* /*pRenderContext*/) { - PROTOCOL_ENTER( this, PROT::MakeAll, 0, nullptr ) + PROTOCOL_ENTER( this, PROT::MakeAll, DbgAction::NONE, nullptr ) // takes care of the notification in the dtor const SwLayNotify aNotify( this ); @@ -1107,7 +1107,7 @@ void SwContentFrame::MakeAll(vcl::RenderContext* /*pRenderContext*/) long nFormatCount = 0; // - loop prevention int nConsecutiveFormatsWithoutChange = 0; - PROTOCOL_ENTER( this, PROT::MakeAll, 0, nullptr ) + PROTOCOL_ENTER( this, PROT::MakeAll, DbgAction::NONE, nullptr ) #ifdef DBG_UTIL const SwDoc *pDoc = GetAttrSet()->GetDoc(); diff --git a/sw/source/core/layout/dbg_lay.cxx b/sw/source/core/layout/dbg_lay.cxx index 18e0c67..74c1a3d 100644 --- a/sw/source/core/layout/dbg_lay.cxx +++ b/sw/source/core/layout/dbg_lay.cxx @@ -30,8 +30,8 @@ * 1. A pointer to an SwFrame (usually "this" or "rThis") * 2. The function group i.e. PROT::MakeAll. This is used to decide (inline) * whether this event shall be logged at the current time. - * 3. The action, usually 0. For example ACT_START indents output in the log - * file and ACT_END stops the indentation. This allows for example + * 3. The action, usually 0. For example DbgAction::Start indents output in the log + * file and DbgAction::End stops the indentation. This allows for example * PROTOCOL_ENTER to indent at the beginning of a method and stop indenting * when leaving the method. * 4. The fourth parameter is a void pointer which allows to pass anything @@ -129,15 +129,15 @@ class SwImplProtocol sal_uInt16 nMaxLines; // max lines to be printed sal_uInt8 nInitFile; // range (FrameId,FrameType,Record) during reading of the INI file sal_uInt8 nTestMode; // special for test formatting, logging may only be done in test formatting. - void Record_( const SwFrame* pFrame, PROT nFunction, sal_uLong nAct, void* pParam ); + void Record_( const SwFrame* pFrame, PROT nFunction, DbgAction nAct, void* pParam ); bool NewStream(); void CheckLine( OString& rLine ); - static void SectFunc( OStringBuffer& rOut, const SwFrame* pFrame, sal_uLong nAct, void* pParam ); + static void SectFunc( OStringBuffer& rOut, const SwFrame* pFrame, DbgAction nAct, void* pParam ); public: SwImplProtocol(); ~SwImplProtocol(); // logging - void Record( const SwFrame* pFrame, PROT nFunction, sal_uLong nAct, void* pParam ) + void Record( const SwFrame* pFrame, PROT nFunction, DbgAction nAct, void* pParam ) { if( pStream ) Record_( pFrame, nFunction, nAct, pParam ); } bool InsertFrame( sal_uInt16 nFrameId ); // take FrameId for logging bool DeleteFrame( sal_uInt16 nFrameId ); // remove FrameId; don't log him anymore @@ -150,7 +150,7 @@ public: * The funny thing here is, that the Ctor of the Impl object is automatically * called at the beginning of the function and the Dtor is automatically called * when leaving the function. In the base implementation the Ctor calls only - * PROTOCOL(..) with ACT_START and in the Dtor a PROTOCOL(..) with ACT_END. + * PROTOCOL(..) with DbgAction::Start and in the Dtor a PROTOCOL(..) with DbgAction::End. * It's possible to derive from this class, for example to be able to document * frame resize while leaving a function. To do this, one only needs to add the * desired SwImplEnterLeave class in SwEnterLeave::Ctor(). @@ -161,10 +161,10 @@ class SwImplEnterLeave protected: const SwFrame* pFrame; // the frame PROT nFunction; // the function - sal_uLong nAction; // the action if needed + DbgAction nAction; // the action if needed void* pParam; // further parameter public: - SwImplEnterLeave( const SwFrame* pF, PROT nFunct, sal_uLong nAct, void* pPar ) + SwImplEnterLeave( const SwFrame* pF, PROT nFunct, DbgAction nAct, void* pPar ) : pFrame( pF ), nFunction( nFunct ), nAction( nAct ), pParam( pPar ) {} virtual ~SwImplEnterLeave() {} virtual void Enter(); // message when entering @@ -175,7 +175,7 @@ class SwSizeEnterLeave : public SwImplEnterLeave { long nFrameHeight; public: - SwSizeEnterLeave( const SwFrame* pF, PROT nFunct, sal_uLong nAct, void* pPar ) + SwSizeEnterLeave( const SwFrame* pF, PROT nFunct, DbgAction nAct, void* pPar ) : SwImplEnterLeave( pF, nFunct, nAct, pPar ), nFrameHeight( pF->Frame().Height() ) {} virtual ~SwSizeEnterLeave() {} virtual void Leave() override; // resize message @@ -185,7 +185,7 @@ class SwUpperEnterLeave : public SwImplEnterLeave { sal_uInt16 nFrameId; public: - SwUpperEnterLeave( const SwFrame* pF, PROT nFunct, sal_uLong nAct, void* pPar ) + SwUpperEnterLeave( const SwFrame* pF, PROT nFunct, DbgAction nAct, void* pPar ) : SwImplEnterLeave( pF, nFunct, nAct, pPar ), nFrameId( 0 ) {} virtual ~SwUpperEnterLeave() {} virtual void Enter() override; // message @@ -196,14 +196,14 @@ class SwFrameChangesLeave : public SwImplEnterLeave { SwRect aFrame; public: - SwFrameChangesLeave( const SwFrame* pF, PROT nFunct, sal_uLong nAct, void* pPar ) + SwFrameChangesLeave( const SwFrame* pF, PROT nFunct, DbgAction nAct, void* pPar ) : SwImplEnterLeave( pF, nFunct, nAct, pPar ), aFrame( pF->Frame() ) {} virtual ~SwFrameChangesLeave() {} virtual void Enter() override; // no message virtual void Leave() override; // message when resizing the Frame area }; -void SwProtocol::Record( const SwFrame* pFrame, PROT nFunction, sal_uLong nAct, void* pParam ) +void SwProtocol::Record( const SwFrame* pFrame, PROT nFunction, DbgAction nAct, void* pParam ) { if( Start() ) { // We reach this point if SwProtocol::nRecord is binary OR'd with PROT::Init(0x1) using the debugger @@ -416,15 +416,15 @@ void SwImplProtocol::FileInit() aStream.Close(); } -/// enable indentation by two spaces during ACT_START and disable it again at ACT_END. -static void lcl_Start(OStringBuffer& rOut, OStringBuffer& rLay, sal_uLong nAction) +/// enable indentation by two spaces during DbgAction::Start and disable it again at DbgAction::End. +static void lcl_Start(OStringBuffer& rOut, OStringBuffer& rLay, DbgAction nAction) { - if( nAction == ACT_START ) + if( nAction == DbgAction::Start ) { rLay.append(" "); rOut.append(" On"); } - else if( nAction == ACT_END ) + else if( nAction == DbgAction::End ) { if( rLay.getLength() > 1 ) { @@ -499,7 +499,7 @@ static void lcl_FrameType( OStringBuffer& rOut, const SwFrame* pFrame ) * * In this method we also check if FrameId and frame type should be logged. */ -void SwImplProtocol::Record_( const SwFrame* pFrame, PROT nFunction, sal_uLong nAct, void* pParam ) +void SwImplProtocol::Record_( const SwFrame* pFrame, PROT nFunction, DbgAction nAct, void* pParam ) { sal_uInt16 nSpecial = 0; if( nSpecial ) // the possible debugger manipulations @@ -536,7 +536,7 @@ void SwImplProtocol::Record_( const SwFrame* pFrame, PROT nFunction, sal_uLong n break; case PROT::MakeAll: aOut.append("MakeAll"); lcl_Start( aOut, aLayer, nAct ); - if( nAct == ACT_START ) + if( nAct == DbgAction::Start ) lcl_Flags( aOut, pFrame ); break; case PROT::MoveFwd: bTmp = true; @@ -553,11 +553,11 @@ void SwImplProtocol::Record_( const SwFrame* pFrame, PROT nFunction, sal_uLong n aOut.append(static_cast<sal_Int32>(*static_cast<sal_uInt16*>(pParam))); } break; - case PROT::GrowTest: if( ACT_START != nAct ) + case PROT::GrowTest: if( DbgAction::Start != nAct ) return; aOut.append("TestGrow"); break; - case PROT::ShrinkTest: if( ACT_START != nAct ) + case PROT::ShrinkTest: if( DbgAction::Start != nAct ) return; aOut.append("TestShrink"); break; @@ -616,7 +616,7 @@ void SwImplProtocol::Record_( const SwFrame* pFrame, PROT nFunction, sal_uLong n case PROT::TestFormat: aOut.append("Test"); lcl_Start( aOut, aLayer, nAct ); - if( ACT_START == nAct ) + if( DbgAction::Start == nAct ) nTestMode |= 2; else nTestMode &= ~2; @@ -664,32 +664,33 @@ void SwImplProtocol::Record_( const SwFrame* pFrame, PROT nFunction, sal_uLong n } /// Handle the output of the SectionFrames. -void SwImplProtocol::SectFunc(OStringBuffer &rOut, const SwFrame* , sal_uLong nAct, void* pParam) +void SwImplProtocol::SectFunc(OStringBuffer &rOut, const SwFrame* , DbgAction nAct, void* pParam) { bool bTmp = false; switch( nAct ) { - case ACT_MERGE: rOut.append("Merge Section "); + case DbgAction::Merge: rOut.append("Merge Section "); rOut.append(static_cast<sal_Int64>(lcl_GetFrameId(static_cast<SwFrame*>(pParam)))); break; - case ACT_CREATE_MASTER: bTmp = true; + case DbgAction::CreateMaster: bTmp = true; SAL_FALLTHROUGH; - case ACT_CREATE_FOLLOW: rOut.append("Create Section "); + case DbgAction::CreateFollow: rOut.append("Create Section "); if (bTmp) rOut.append("Master to "); else rOut.append("Follow from "); rOut.append(static_cast<sal_Int64>(lcl_GetFrameId(static_cast<SwFrame*>(pParam)))); break; - case ACT_DEL_MASTER: bTmp = true; + case DbgAction::DelMaster: bTmp = true; SAL_FALLTHROUGH; - case ACT_DEL_FOLLOW: rOut.append("Delete Section "); + case DbgAction::DelFollow: rOut.append("Delete Section "); if (bTmp) rOut.append("Master to "); else rOut.append("Follow from "); rOut.append(static_cast<sal_Int64>(lcl_GetFrameId(static_cast<SwFrame*>(pParam)))); break; + default: break; } } @@ -725,7 +726,7 @@ bool SwImplProtocol::DeleteFrame( sal_uInt16 nId ) * The task here is to find the right SwImplEnterLeave object based on the * function; everything else is then done in his Ctor/Dtor. */ -void SwEnterLeave::Ctor( const SwFrame* pFrame, PROT nFunc, sal_uLong nAct, void* pPar ) +void SwEnterLeave::Ctor( const SwFrame* pFrame, PROT nFunc, DbgAction nAct, void* pPar ) { switch( nFunc ) { @@ -755,30 +756,30 @@ void SwEnterLeave::Dtor() void SwImplEnterLeave::Enter() { - SwProtocol::Record( pFrame, nFunction, ACT_START, pParam ); + SwProtocol::Record( pFrame, nFunction, DbgAction::Start, pParam ); } void SwImplEnterLeave::Leave() { - SwProtocol::Record( pFrame, nFunction, ACT_END, pParam ); + SwProtocol::Record( pFrame, nFunction, DbgAction::End, pParam ); } void SwSizeEnterLeave::Leave() { nFrameHeight = pFrame->Frame().Height() - nFrameHeight; - SwProtocol::Record( pFrame, nFunction, ACT_END, &nFrameHeight ); + SwProtocol::Record( pFrame, nFunction, DbgAction::End, &nFrameHeight ); } void SwUpperEnterLeave::Enter() { nFrameId = pFrame->GetUpper() ? sal_uInt16(lcl_GetFrameId( pFrame->GetUpper() )) : 0; - SwProtocol::Record( pFrame, nFunction, ACT_START, &nFrameId ); + SwProtocol::Record( pFrame, nFunction, DbgAction::Start, &nFrameId ); } void SwUpperEnterLeave::Leave() { nFrameId = pFrame->GetUpper() ? sal_uInt16(lcl_GetFrameId( pFrame->GetUpper() )) : 0; - SwProtocol::Record( pFrame, nFunction, ACT_END, &nFrameId ); + SwProtocol::Record( pFrame, nFunction, DbgAction::End, &nFrameId ); } void SwFrameChangesLeave::Enter() @@ -788,7 +789,7 @@ void SwFrameChangesLeave::Enter() void SwFrameChangesLeave::Leave() { if( pFrame->Frame() != aFrame ) - SwProtocol::Record( pFrame, PROT::FrmChanges, 0, &aFrame ); + SwProtocol::Record( pFrame, PROT::FrmChanges, DbgAction::NONE, &aFrame ); } #endif // DBG_UTIL diff --git a/sw/source/core/layout/flowfrm.cxx b/sw/source/core/layout/flowfrm.cxx index f2db886..7946f5b 100644 --- a/sw/source/core/layout/flowfrm.cxx +++ b/sw/source/core/layout/flowfrm.cxx @@ -1841,7 +1841,7 @@ bool SwFlowFrame::MoveFwd( bool bMakePage, bool bPageBreak, bool bMoveAlways ) if ( pNewUpper ) { - PROTOCOL_ENTER( &m_rThis, PROT::MoveFwd, 0, nullptr ); + PROTOCOL_ENTER( &m_rThis, PROT::MoveFwd, DbgAction::NONE, nullptr ); SwPageFrame *pOldPage = pOldBoss->FindPageFrame(); // We move ourself and all the direct successors before the // first ContentFrame below the new Upper. @@ -2399,7 +2399,7 @@ bool SwFlowFrame::MoveBwd( bool &rbReformat ) "<SwFlowFrame::MoveBwd(..)> - moving backward to the current upper frame!?" ); if ( pNewUpper ) { - PROTOCOL_ENTER( &m_rThis, PROT::MoveBack, 0, nullptr ); + PROTOCOL_ENTER( &m_rThis, PROT::MoveBack, DbgAction::NONE, nullptr ); if ( pNewUpper->IsFootnoteContFrame() ) { // I may have gotten a Container diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx index 0a119a6..d238d38 100644 --- a/sw/source/core/layout/layact.cxx +++ b/sw/source/core/layout/layact.cxx @@ -540,7 +540,7 @@ void SwLayAction::InternalAction(OutputDevice* pRenderContext) ( pPage->IsInvalid() || (IS_FLYS && IS_INVAFLY) ) ) { - PROTOCOL( pPage, PROT::FileInit, 0, nullptr) + PROTOCOL( pPage, PROT::FileInit, DbgAction::NONE, nullptr) XCHECKPAGE; // #i81146# new loop control diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index 6979e22..ff9dc02 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -3186,7 +3186,7 @@ void SwRootFrame::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, { OSL_ENSURE( Lower() && Lower()->IsPageFrame(), "Lower of root is no page." ); - PROTOCOL( this, PROT::FileInit, 0, nullptr) + PROTOCOL( this, PROT::FileInit, DbgAction::NONE, nullptr) bool bResetRootPaint = false; SwViewShell *pSh = mpCurrShell; diff --git a/sw/source/core/layout/sectfrm.cxx b/sw/source/core/layout/sectfrm.cxx index e7a1c7b..86dac9e 100644 --- a/sw/source/core/layout/sectfrm.cxx +++ b/sw/source/core/layout/sectfrm.cxx @@ -68,7 +68,7 @@ SwSectionFrame::SwSectionFrame( SwSectionFrame &rSect, bool bMaster ) : { mnFrameType = SwFrameType::Section; - PROTOCOL( this, PROT::Section, bMaster ? ACT_CREATE_MASTER : ACT_CREATE_FOLLOW, &rSect ) + PROTOCOL( this, PROT::Section, bMaster ? DbgAction::CreateMaster : DbgAction::CreateFollow, &rSect ) if( bMaster ) { @@ -129,7 +129,7 @@ void SwSectionFrame::DestroyImpl() SwSectionFrame *pMaster = FindMaster(); if( pMaster ) { - PROTOCOL( this, PROT::Section, ACT_DEL_FOLLOW, pMaster ) + PROTOCOL( this, PROT::Section, DbgAction::DelFollow, pMaster ) pMaster->SetFollow( GetFollow() ); // A Master always grabs the space until the lower edge of his // Upper. If he doesn't have a Follow anymore, he can @@ -141,7 +141,7 @@ void SwSectionFrame::DestroyImpl() } else if( HasFollow() ) { - PROTOCOL( this, PROT::Section, ACT_DEL_MASTER, GetFollow() ) + PROTOCOL( this, PROT::Section, DbgAction::DelMaster, GetFollow() ) } } @@ -218,7 +218,7 @@ void SwSectionFrame::Cut_( bool bRemove ) { OSL_ENSURE( GetUpper(), "Cut ohne Upper()." ); - PROTOCOL( this, PROT::Cut, 0, GetUpper() ) + PROTOCOL( this, PROT::Cut, DbgAction::NONE, GetUpper() ) SwPageFrame *pPage = FindPageFrame(); InvalidatePage( pPage ); @@ -299,7 +299,7 @@ void SwSectionFrame::Paste( SwFrame* pParent, SwFrame* pSibling ) OSL_ENSURE( !GetPrev() && !GetUpper(), "I am still registered somewhere." ); - PROTOCOL( this, PROT::Paste, 0, GetUpper() ) + PROTOCOL( this, PROT::Paste, DbgAction::NONE, GetUpper() ) // Add to the tree SwSectionFrame* pSect = pParent->FindSctFrame(); @@ -429,7 +429,7 @@ void SwSectionFrame::MergeNext( SwSectionFrame* pNxt ) if (!pNxt->IsJoinLocked() && GetSection() == pNxt->GetSection()) { - PROTOCOL( this, PROT::Section, ACT_MERGE, pNxt ) + PROTOCOL( this, PROT::Section, DbgAction::Merge, pNxt ) SwFrame* pTmp = ::SaveContent( pNxt ); if( pTmp ) @@ -1223,7 +1223,7 @@ void SwSectionFrame::Format( vcl::RenderContext* pRenderContext, const SwBorderA SWRECTFN( this ) if ( !mbValidPrtArea ) { - PROTOCOL( this, PROT::PrintArea, 0, nullptr ) + PROTOCOL( this, PROT::PrintArea, DbgAction::NONE, nullptr ) mbValidPrtArea = true; SwTwips nUpper = CalcUpperSpace(); @@ -1243,7 +1243,7 @@ void SwSectionFrame::Format( vcl::RenderContext* pRenderContext, const SwBorderA if ( !mbValidSize ) { - PROTOCOL_ENTER( this, PROT::Size, 0, nullptr ) + PROTOCOL_ENTER( this, PROT::Size, DbgAction::NONE, nullptr ) const long nOldHeight = (Frame().*fnRect->fnGetHeight)(); bool bOldLock = IsColLocked(); ColLock(); @@ -1431,7 +1431,7 @@ SwLayoutFrame *SwFrame::GetNextSctLeaf( MakePageType eMakePage ) { // Attention: Nested sections are currently not supported - PROTOCOL_ENTER( this, PROT::Leaf, ACT_NEXT_SECT, GetUpper()->FindSctFrame() ) + PROTOCOL_ENTER( this, PROT::Leaf, DbgAction::NextSect, GetUpper()->FindSctFrame() ) // Shortcuts for "columned" sections, if we're not in the last column // Can we slide to the next column of the section? @@ -1649,7 +1649,7 @@ SwLayoutFrame *SwFrame::GetNextSctLeaf( MakePageType eMakePage ) /// Returns the preceding layout sheet where the frame can be moved into SwLayoutFrame *SwFrame::GetPrevSctLeaf( MakePageType ) { - PROTOCOL_ENTER( this, PROT::Leaf, ACT_PREV_SECT, GetUpper()->FindSctFrame() ) + PROTOCOL_ENTER( this, PROT::Leaf, DbgAction::PrevSect, GetUpper()->FindSctFrame() ) SwLayoutFrame* pCol; // ColumnFrame always contain a BodyFrame now diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx index 21b5bc8..002b653 100644 --- a/sw/source/core/layout/tabfrm.cxx +++ b/sw/source/core/layout/tabfrm.cxx @@ -1745,7 +1745,7 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext) return; } - PROTOCOL_ENTER( this, PROT::MakeAll, 0, nullptr ) + PROTOCOL_ENTER( this, PROT::MakeAll, DbgAction::NONE, nullptr ) LockJoin(); //I don't want to be destroyed on the way. SwLayNotify aNotify( this ); //does the notification in the DTor diff --git a/sw/source/core/layout/wsfrm.cxx b/sw/source/core/layout/wsfrm.cxx index 1c9dbd3..1635463 100644 --- a/sw/source/core/layout/wsfrm.cxx +++ b/sw/source/core/layout/wsfrm.cxx @@ -1156,7 +1156,7 @@ SwTwips SwFrame::Grow( SwTwips nDist, bool bTst, bool bInfo ) { OSL_ENSURE( nDist >= 0, "Negative growth?" ); - PROTOCOL_ENTER( this, bTst ? PROT::GrowTest : PROT::Grow, 0, &nDist ) + PROTOCOL_ENTER( this, bTst ? PROT::GrowTest : PROT::Grow, DbgAction::NONE, &nDist ) if ( nDist ) { @@ -1200,7 +1200,7 @@ SwTwips SwFrame::Shrink( SwTwips nDist, bool bTst, bool bInfo ) { OSL_ENSURE( nDist >= 0, "Negative reduction?" ); - PROTOCOL_ENTER( this, bTst ? PROT::ShrinkTest : PROT::Shrink, 0, &nDist ) + PROTOCOL_ENTER( this, bTst ? PROT::ShrinkTest : PROT::Shrink, DbgAction::NONE, &nDist ) if ( nDist ) { @@ -1259,7 +1259,7 @@ SwTwips SwFrame::Shrink( SwTwips nDist, bool bTst, bool bInfo ) */ SwTwips SwFrame::AdjustNeighbourhood( SwTwips nDiff, bool bTst ) { - PROTOCOL_ENTER( this, PROT::AdjustN, 0, &nDiff ); + PROTOCOL_ENTER( this, PROT::AdjustN, DbgAction::NONE, &nDiff ); if ( !nDiff || !GetUpper()->IsFootnoteBossFrame() ) // only inside pages/columns return 0L; diff --git a/sw/source/core/text/txtfrm.cxx b/sw/source/core/text/txtfrm.cxx index a1cb454..f2b93ff 100644 --- a/sw/source/core/text/txtfrm.cxx +++ b/sw/source/core/text/txtfrm.cxx @@ -1909,7 +1909,7 @@ SwTestFormat::~SwTestFormat() bool SwTextFrame::TestFormat( const SwFrame* pPrv, SwTwips &rMaxHeight, bool &bSplit ) { - PROTOCOL_ENTER( this, PROT::TestFormat, 0, nullptr ) + PROTOCOL_ENTER( this, PROT::TestFormat, DbgAction::NONE, nullptr ) if( IsLocked() && GetUpper()->Prt().Width() <= 0 ) return false; commit a01a492d1089799ee721dc34e421a36c10270215 Author: Noel Grandin <[email protected]> Date: Thu May 12 15:41:34 2016 +0200 convert PROT to scoped enum Change-Id: I7aaa5c45a224d2f97861864bed00eaddb9b7f317 diff --git a/sw/source/core/inc/dbg_lay.hxx b/sw/source/core/inc/dbg_lay.hxx index 04bf1e6..a431bd4 100644 --- a/sw/source/core/inc/dbg_lay.hxx +++ b/sw/source/core/inc/dbg_lay.hxx @@ -20,26 +20,33 @@ #ifndef INCLUDED_SW_SOURCE_CORE_INC_DBG_LAY_HXX #define INCLUDED_SW_SOURCE_CORE_INC_DBG_LAY_HXX -#define PROT_FILE_INIT 0x00000000 -#define PROT_INIT 0x00000001 -#define PROT_MAKEALL 0x00000002 -#define PROT_MOVE_FWD 0x00000004 -#define PROT_MOVE_BWD 0x00000008 -#define PROT_GROW 0x00000010 -#define PROT_SHRINK 0x00000020 -#define PROT_GROW_TST 0x00000040 -#define PROT_SHRINK_TST 0x00000080 -#define PROT_SIZE 0x00000100 -#define PROT_PRTAREA 0x00000200 -#define PROT_POS 0x00000400 -#define PROT_ADJUSTN 0x00000800 -#define PROT_SECTION 0x00001000 -#define PROT_CUT 0x00002000 -#define PROT_PASTE 0x00004000 -#define PROT_LEAF 0x00008000 -#define PROT_TESTFORMAT 0x00010000 -#define PROT_FRMCHANGES 0x00020000 -#define PROT_SNAPSHOT 0x00040000 +#include <o3tl/typed_flags_set.hxx> + +enum class PROT { + FileInit = 0x00000000, + Init = 0x00000001, + MakeAll = 0x00000002, + MoveFwd = 0x00000004, + MoveBack = 0x00000008, + Grow = 0x00000010, + Shrink = 0x00000020, + GrowTest = 0x00000040, + ShrinkTest = 0x00000080, + Size = 0x00000100, + PrintArea = 0x00000200, + Pos = 0x00000400, + AdjustN = 0x00000800, + Section = 0x00001000, + Cut = 0x00002000, + Paste = 0x00004000, + Leaf = 0x00008000, + TestFormat = 0x00010000, + FrmChanges = 0x00020000, + Snapshot = 0x00040000 +}; +namespace o3tl { + template<> struct typed_flags<PROT> : is_typed_flags<PROT, 0x0007ffff> {}; +} #define ACT_START 1 #define ACT_END 2 @@ -63,15 +70,15 @@ class SwImplEnterLeave; class SwProtocol { - static sal_uLong nRecord; + static PROT nRecord; static SwImplProtocol* pImpl; - static bool Start() { return 0 != ( PROT_INIT & nRecord ); } + static bool Start() { return bool( PROT::Init & nRecord ); } public: - static sal_uLong Record() { return nRecord; } - static void SetRecord( sal_uLong nNew ) { nRecord = nNew; } - static bool Record( sal_uLong nFunc ) { return 0 != (( nFunc | PROT_INIT ) & nRecord); } - static void Record( const SwFrame* pFrame, sal_uLong nFunction, sal_uLong nAction, void* pParam ); + static PROT Record() { return nRecord; } + static void SetRecord( PROT nNew ) { nRecord = nNew; } + static bool Record( PROT nFunc ) { return bool(( nFunc | PROT::Init ) & nRecord); } + static void Record( const SwFrame* pFrame, PROT nFunction, sal_uLong nAction, void* pParam ); static void Init(); static void Stop(); }; @@ -79,11 +86,11 @@ public: class SwEnterLeave { SwImplEnterLeave* pImpl; - void Ctor( const SwFrame* pFrame, sal_uLong nFunc, sal_uLong nAct, void* pPar ); + void Ctor( const SwFrame* pFrame, PROT nFunc, sal_uLong nAct, void* pPar ); void Dtor(); public: - SwEnterLeave( const SwFrame* pFrame, sal_uLong nFunc, sal_uLong nAct, void* pPar ) + SwEnterLeave( const SwFrame* pFrame, PROT nFunc, sal_uLong nAct, void* pPar ) { if( SwProtocol::Record( nFunc ) ) Ctor( pFrame, nFunc, nAct, pPar ); diff --git a/sw/source/core/layout/calcmove.cxx b/sw/source/core/layout/calcmove.cxx index c54c7ef..969290f 100644 --- a/sw/source/core/layout/calcmove.cxx +++ b/sw/source/core/layout/calcmove.cxx @@ -707,7 +707,7 @@ size_t SwPageFrame::GetContentHeight(const long nTop, const long nBottom) const void SwPageFrame::MakeAll(vcl::RenderContext* pRenderContext) { - PROTOCOL_ENTER( this, PROT_MAKEALL, 0, nullptr ) + PROTOCOL_ENTER( this, PROT::MakeAll, 0, nullptr ) const SwRect aOldRect( Frame() ); // Adjust root size const SwLayNotify aNotify( this ); // takes care of the notification in the dtor @@ -835,7 +835,7 @@ void SwPageFrame::MakeAll(vcl::RenderContext* pRenderContext) void SwLayoutFrame::MakeAll(vcl::RenderContext* /*pRenderContext*/) { - PROTOCOL_ENTER( this, PROT_MAKEALL, 0, nullptr ) + PROTOCOL_ENTER( this, PROT::MakeAll, 0, nullptr ) // takes care of the notification in the dtor const SwLayNotify aNotify( this ); @@ -1107,7 +1107,7 @@ void SwContentFrame::MakeAll(vcl::RenderContext* /*pRenderContext*/) long nFormatCount = 0; // - loop prevention int nConsecutiveFormatsWithoutChange = 0; - PROTOCOL_ENTER( this, PROT_MAKEALL, 0, nullptr ) + PROTOCOL_ENTER( this, PROT::MakeAll, 0, nullptr ) #ifdef DBG_UTIL const SwDoc *pDoc = GetAttrSet()->GetDoc(); diff --git a/sw/source/core/layout/dbg_lay.cxx b/sw/source/core/layout/dbg_lay.cxx index 00eaf23..18e0c67 100644 --- a/sw/source/core/layout/dbg_lay.cxx +++ b/sw/source/core/layout/dbg_lay.cxx @@ -28,14 +28,14 @@ * * The PROTOCOL macros accept the following parameters: * 1. A pointer to an SwFrame (usually "this" or "rThis") - * 2. The function group i.e. PROT_MAKEALL. This is used to decide (inline) + * 2. The function group i.e. PROT::MakeAll. This is used to decide (inline) * whether this event shall be logged at the current time. * 3. The action, usually 0. For example ACT_START indents output in the log * file and ACT_END stops the indentation. This allows for example * PROTOCOL_ENTER to indent at the beginning of a method and stop indenting * when leaving the method. * 4. The fourth parameter is a void pointer which allows to pass anything - * which can be used in the log. A good example is PROT_GROW: this requires + * which can be used in the log. A good example is PROT::Grow: this requires * a pointer to the value which defines how much to grow. * * The log file is called "dbg_lay.out", which is saved in the current (BIN-) @@ -45,8 +45,8 @@ * What exactly is going to be logged, can be defined as follows: * 1. The static variable SwProtocol::nRecord contains the function groups * which shall be logged. - * A value of i.e. PROT_GROW causes calls to SwFrame::Grow to be - * logged; PROT_MAKEALL logs the calls to xxx::MakeAll. + * A value of i.e. PROT::Grow causes calls to SwFrame::Grow to be + * logged; PROT::MakeAll logs the calls to xxx::MakeAll. * The PROT_XY values can be combined using binary OR, the default value * is null - no method calls are logged. * 2. The SwImplProtocol class contains a filter for frame types, only method @@ -64,7 +64,7 @@ * 1. Set a breakpoint in SwProtocol::Init() and manipulate nRecord there, set * FrameIds accordingly then start logging during program start. * 2. Set a breakpoint before any PROTOCOL or PROTOCOL_ENTER macro during - * program execution, then set the lowest bit (PROT_INIT) of + * program execution, then set the lowest bit (PROT::Init) of * SwProtocol::nRecord. This activates the function group of the following * macro and causes it to be logged in the future. * 3. There's a special case for 2: If one uses 2. in SwRootFrame::Paint(..), @@ -103,7 +103,7 @@ #include <comphelper/string.hxx> -sal_uLong SwProtocol::nRecord = 0; +PROT SwProtocol::nRecord = PROT::FileInit; SwImplProtocol* SwProtocol::pImpl = nullptr; static sal_uLong lcl_GetFrameId( const SwFrame* pFrame ) @@ -129,7 +129,7 @@ class SwImplProtocol sal_uInt16 nMaxLines; // max lines to be printed sal_uInt8 nInitFile; // range (FrameId,FrameType,Record) during reading of the INI file sal_uInt8 nTestMode; // special for test formatting, logging may only be done in test formatting. - void Record_( const SwFrame* pFrame, sal_uLong nFunction, sal_uLong nAct, void* pParam ); + void Record_( const SwFrame* pFrame, PROT nFunction, sal_uLong nAct, void* pParam ); bool NewStream(); void CheckLine( OString& rLine ); static void SectFunc( OStringBuffer& rOut, const SwFrame* pFrame, sal_uLong nAct, void* pParam ); @@ -137,7 +137,7 @@ public: SwImplProtocol(); ~SwImplProtocol(); // logging - void Record( const SwFrame* pFrame, sal_uLong nFunction, sal_uLong nAct, void* pParam ) + void Record( const SwFrame* pFrame, PROT nFunction, sal_uLong nAct, void* pParam ) { if( pStream ) Record_( pFrame, nFunction, nAct, pParam ); } bool InsertFrame( sal_uInt16 nFrameId ); // take FrameId for logging bool DeleteFrame( sal_uInt16 nFrameId ); // remove FrameId; don't log him anymore @@ -159,11 +159,12 @@ public: class SwImplEnterLeave { protected: - const SwFrame* pFrame; // the frame - sal_uLong nFunction, nAction; // the function, the action if needed - void* pParam; // further parameter + const SwFrame* pFrame; // the frame + PROT nFunction; // the function + sal_uLong nAction; // the action if needed + void* pParam; // further parameter public: - SwImplEnterLeave( const SwFrame* pF, sal_uLong nFunct, sal_uLong nAct, void* pPar ) + SwImplEnterLeave( const SwFrame* pF, PROT nFunct, sal_uLong nAct, void* pPar ) : pFrame( pF ), nFunction( nFunct ), nAction( nAct ), pParam( pPar ) {} virtual ~SwImplEnterLeave() {} virtual void Enter(); // message when entering @@ -174,7 +175,7 @@ class SwSizeEnterLeave : public SwImplEnterLeave { long nFrameHeight; public: - SwSizeEnterLeave( const SwFrame* pF, sal_uLong nFunct, sal_uLong nAct, void* pPar ) + SwSizeEnterLeave( const SwFrame* pF, PROT nFunct, sal_uLong nAct, void* pPar ) : SwImplEnterLeave( pF, nFunct, nAct, pPar ), nFrameHeight( pF->Frame().Height() ) {} virtual ~SwSizeEnterLeave() {} virtual void Leave() override; // resize message @@ -184,7 +185,7 @@ class SwUpperEnterLeave : public SwImplEnterLeave { sal_uInt16 nFrameId; public: - SwUpperEnterLeave( const SwFrame* pF, sal_uLong nFunct, sal_uLong nAct, void* pPar ) + SwUpperEnterLeave( const SwFrame* pF, PROT nFunct, sal_uLong nAct, void* pPar ) : SwImplEnterLeave( pF, nFunct, nAct, pPar ), nFrameId( 0 ) {} virtual ~SwUpperEnterLeave() {} virtual void Enter() override; // message @@ -195,26 +196,26 @@ class SwFrameChangesLeave : public SwImplEnterLeave { SwRect aFrame; public: - SwFrameChangesLeave( const SwFrame* pF, sal_uLong nFunct, sal_uLong nAct, void* pPar ) + SwFrameChangesLeave( const SwFrame* pF, PROT nFunct, sal_uLong nAct, void* pPar ) : SwImplEnterLeave( pF, nFunct, nAct, pPar ), aFrame( pF->Frame() ) {} virtual ~SwFrameChangesLeave() {} virtual void Enter() override; // no message virtual void Leave() override; // message when resizing the Frame area }; -void SwProtocol::Record( const SwFrame* pFrame, sal_uLong nFunction, sal_uLong nAct, void* pParam ) +void SwProtocol::Record( const SwFrame* pFrame, PROT nFunction, sal_uLong nAct, void* pParam ) { if( Start() ) - { // We reach this point if SwProtocol::nRecord is binary OR'd with PROT_INIT(0x1) using the debugger + { // We reach this point if SwProtocol::nRecord is binary OR'd with PROT::Init(0x1) using the debugger bool bFinit = false; // This gives the possibility to stop logging of this action in the debugger if( bFinit ) { nRecord &= ~nFunction; // Don't log this function any longer - nRecord &= ~PROT_INIT; // Always reset PROT_INIT + nRecord &= ~PROT::Init; // Always reset PROT::Init return; } nRecord |= nFunction; // Activate logging of this function - nRecord &= ~PROT_INIT; // Always reset PROT_INIT + nRecord &= ~PROT::Init; // Always reset PROT::Init if( pImpl ) pImpl->ChkStream(); } @@ -229,7 +230,7 @@ void SwProtocol::Record( const SwFrame* pFrame, sal_uLong nFunction, sal_uLong n void SwProtocol::Init() { - nRecord = 0; + nRecord = PROT::FileInit; OUString aName("dbg_lay.go"); SvFileStream aStream( aName, StreamMode::READ ); if( aStream.IsOpen() ) @@ -251,7 +252,7 @@ void SwProtocol::Stop() if( pFntCache ) pFntCache->Flush(); } - nRecord = 0; + nRecord = PROT::FileInit; } SwImplProtocol::SwImplProtocol() @@ -311,7 +312,7 @@ void SwImplProtocol::CheckLine( OString& rLine ) else if (aTmp == "[record")// section functions { nInitFile = 3; - SwProtocol::SetRecord( 0 );// default: don't log any function + SwProtocol::SetRecord( PROT::FileInit );// default: don't log any function } else if (aTmp == "[test")// section functions { @@ -360,11 +361,11 @@ void SwImplProtocol::CheckLine( OString& rLine ) } break; case 3: { - sal_uLong nOld = SwProtocol::Record(); + PROT nOld = SwProtocol::Record(); if( bNo ) - nOld &= ~sal_uLong(nVal); // remove function + nOld &= ~PROT(nVal); // remove function else - nOld |= sal_uLong(nVal); // remove function + nOld |= PROT(nVal); // remove function SwProtocol::SetRecord( nOld ); } break; @@ -498,7 +499,7 @@ static void lcl_FrameType( OStringBuffer& rOut, const SwFrame* pFrame ) * * In this method we also check if FrameId and frame type should be logged. */ -void SwImplProtocol::Record_( const SwFrame* pFrame, sal_uLong nFunction, sal_uLong nAct, void* pParam ) +void SwImplProtocol::Record_( const SwFrame* pFrame, PROT nFunction, sal_uLong nAct, void* pParam ) { sal_uInt16 nSpecial = 0; if( nSpecial ) // the possible debugger manipulations @@ -522,7 +523,7 @@ void SwImplProtocol::Record_( const SwFrame* pFrame, sal_uLong nFunction, sal_uL if( !(pFrame->GetType() & nTypes) ) return; // the type is unwanted - if( 1 == nTestMode && nFunction != PROT_TESTFORMAT ) + if( 1 == nTestMode && nFunction != PROT::TestFormat ) return; // we may only log inside a test formatting bool bTmp = false; OStringBuffer aOut(aLayer); @@ -531,17 +532,17 @@ void SwImplProtocol::Record_( const SwFrame* pFrame, sal_uLong nFunction, sal_uL lcl_FrameType( aOut, pFrame ); // then the frame type switch ( nFunction ) // and the function { - case PROT_SNAPSHOT: lcl_Flags( aOut, pFrame ); + case PROT::Snapshot: lcl_Flags( aOut, pFrame ); break; - case PROT_MAKEALL: aOut.append("MakeAll"); + case PROT::MakeAll: aOut.append("MakeAll"); lcl_Start( aOut, aLayer, nAct ); if( nAct == ACT_START ) lcl_Flags( aOut, pFrame ); break; - case PROT_MOVE_FWD: bTmp = true; + case PROT::MoveFwd: bTmp = true; SAL_FALLTHROUGH; - case PROT_MOVE_BWD: - if (nFunction == (bTmp ? 1U : 0U)) + case PROT::MoveBack: + if (nFunction == (bTmp ? PROT::Init : PROT::FileInit)) aOut.append("Fwd"); else aOut.append("Bwd"); @@ -552,23 +553,23 @@ void SwImplProtocol::Record_( const SwFrame* pFrame, sal_uLong nFunction, sal_uL aOut.append(static_cast<sal_Int32>(*static_cast<sal_uInt16*>(pParam))); } break; - case PROT_GROW_TST: if( ACT_START != nAct ) + case PROT::GrowTest: if( ACT_START != nAct ) return; aOut.append("TestGrow"); break; - case PROT_SHRINK_TST: if( ACT_START != nAct ) + case PROT::ShrinkTest: if( ACT_START != nAct ) return; aOut.append("TestShrink"); break; - case PROT_ADJUSTN : - case PROT_SHRINK: bTmp = true; + case PROT::AdjustN : + case PROT::Shrink: bTmp = true; SAL_FALLTHROUGH; - case PROT_GROW: + case PROT::Grow: if (!bTmp) aOut.append("Grow"); else { - if (nFunction == PROT_SHRINK) + if (nFunction == PROT::Shrink) aOut.append("Shrink"); else aOut.append("AdjustNgbhd"); @@ -580,16 +581,16 @@ void SwImplProtocol::Record_( const SwFrame* pFrame, sal_uLong nFunction, sal_uL aOut.append(static_cast<sal_Int64>(*static_cast<long*>(pParam))); } break; - case PROT_POS: break; - case PROT_PRTAREA: aOut.append("PrtArea"); + case PROT::Pos: break; + case PROT::PrintArea: aOut.append("PrtArea"); lcl_Start( aOut, aLayer, nAct ); break; - case PROT_SIZE: aOut.append("Size"); + case PROT::Size: aOut.append("Size"); lcl_Start( aOut, aLayer, nAct ); aOut.append(' '); aOut.append(static_cast<sal_Int64>(pFrame->Frame().Height())); break; - case PROT_LEAF: aOut.append("Prev/NextLeaf"); + case PROT::Leaf: aOut.append("Prev/NextLeaf"); lcl_Start( aOut, aLayer, nAct ); aOut.append(' '); if( pParam ) @@ -598,21 +599,21 @@ void SwImplProtocol::Record_( const SwFrame* pFrame, sal_uLong nFunction, sal_uL aOut.append(static_cast<sal_Int64>(lcl_GetFrameId(static_cast<SwFrame*>(pParam)))); } break; - case PROT_FILE_INIT: FileInit(); + case PROT::FileInit: FileInit(); aOut.append("Initialize"); break; - case PROT_SECTION: SectFunc(aOut, pFrame, nAct, pParam); + case PROT::Section: SectFunc(aOut, pFrame, nAct, pParam); break; - case PROT_CUT: bTmp = true; + case PROT::Cut: bTmp = true; SAL_FALLTHROUGH; - case PROT_PASTE: + case PROT::Paste: if (bTmp) aOut.append("Cut from "); else aOut.append("Paste to "); aOut.append(static_cast<sal_Int64>(lcl_GetFrameId(static_cast<SwFrame*>(pParam)))); break; - case PROT_TESTFORMAT: + case PROT::TestFormat: aOut.append("Test"); lcl_Start( aOut, aLayer, nAct ); if( ACT_START == nAct ) @@ -620,7 +621,7 @@ void SwImplProtocol::Record_( const SwFrame* pFrame, sal_uLong nFunction, sal_uL else nTestMode &= ~2; break; - case PROT_FRMCHANGES: + case PROT::FrmChanges: { SwRect& rFrame = *static_cast<SwRect*>(pParam); if( pFrame->Frame().Pos() != rFrame.Pos() ) @@ -653,12 +654,13 @@ void SwImplProtocol::Record_( const SwFrame* pFrame, sal_uLong nFunction, sal_uL } break; } + default: break; } pStream->WriteCharPtr( aOut.getStr() ); (*pStream) << endl; // output pStream->Flush(); // to the disk, so we can read it immediately if( ++nLineCount >= nMaxLines ) // max number of lines reached? - SwProtocol::SetRecord( 0 ); // => end f logging + SwProtocol::SetRecord( PROT::FileInit ); // => end f logging } /// Handle the output of the SectionFrames. @@ -723,16 +725,16 @@ bool SwImplProtocol::DeleteFrame( sal_uInt16 nId ) * The task here is to find the right SwImplEnterLeave object based on the * function; everything else is then done in his Ctor/Dtor. */ -void SwEnterLeave::Ctor( const SwFrame* pFrame, sal_uLong nFunc, sal_uLong nAct, void* pPar ) +void SwEnterLeave::Ctor( const SwFrame* pFrame, PROT nFunc, sal_uLong nAct, void* pPar ) { switch( nFunc ) { - case PROT_ADJUSTN : - case PROT_GROW: - case PROT_SHRINK : pImpl = new SwSizeEnterLeave( pFrame, nFunc, nAct, pPar ); break; - case PROT_MOVE_FWD: - case PROT_MOVE_BWD : pImpl = new SwUpperEnterLeave( pFrame, nFunc, nAct, pPar ); break; - case PROT_FRMCHANGES : pImpl = new SwFrameChangesLeave( pFrame, nFunc, nAct, pPar ); break; + case PROT::AdjustN : + case PROT::Grow: + case PROT::Shrink : pImpl = new SwSizeEnterLeave( pFrame, nFunc, nAct, pPar ); break; + case PROT::MoveFwd: + case PROT::MoveBack : pImpl = new SwUpperEnterLeave( pFrame, nFunc, nAct, pPar ); break; + case PROT::FrmChanges : pImpl = new SwFrameChangesLeave( pFrame, nFunc, nAct, pPar ); break; default: pImpl = new SwImplEnterLeave( pFrame, nFunc, nAct, pPar ); break; } pImpl->Enter(); @@ -786,7 +788,7 @@ void SwFrameChangesLeave::Enter() void SwFrameChangesLeave::Leave() { if( pFrame->Frame() != aFrame ) - SwProtocol::Record( pFrame, PROT_FRMCHANGES, 0, &aFrame ); + SwProtocol::Record( pFrame, PROT::FrmChanges, 0, &aFrame ); } #endif // DBG_UTIL diff --git a/sw/source/core/layout/flowfrm.cxx b/sw/source/core/layout/flowfrm.cxx index 39a9113..f2db886 100644 --- a/sw/source/core/layout/flowfrm.cxx +++ b/sw/source/core/layout/flowfrm.cxx @@ -1841,7 +1841,7 @@ bool SwFlowFrame::MoveFwd( bool bMakePage, bool bPageBreak, bool bMoveAlways ) if ( pNewUpper ) { - PROTOCOL_ENTER( &m_rThis, PROT_MOVE_FWD, 0, nullptr ); + PROTOCOL_ENTER( &m_rThis, PROT::MoveFwd, 0, nullptr ); SwPageFrame *pOldPage = pOldBoss->FindPageFrame(); // We move ourself and all the direct successors before the // first ContentFrame below the new Upper. @@ -2399,7 +2399,7 @@ bool SwFlowFrame::MoveBwd( bool &rbReformat ) "<SwFlowFrame::MoveBwd(..)> - moving backward to the current upper frame!?" ); if ( pNewUpper ) { - PROTOCOL_ENTER( &m_rThis, PROT_MOVE_BWD, 0, nullptr ); + PROTOCOL_ENTER( &m_rThis, PROT::MoveBack, 0, nullptr ); if ( pNewUpper->IsFootnoteContFrame() ) { // I may have gotten a Container diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx index de3b7d8..0a119a6 100644 --- a/sw/source/core/layout/layact.cxx +++ b/sw/source/core/layout/layact.cxx @@ -540,7 +540,7 @@ void SwLayAction::InternalAction(OutputDevice* pRenderContext) ( pPage->IsInvalid() || (IS_FLYS && IS_INVAFLY) ) ) { - PROTOCOL( pPage, PROT_FILE_INIT, 0, nullptr) + PROTOCOL( pPage, PROT::FileInit, 0, nullptr) XCHECKPAGE; // #i81146# new loop control diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index 6696675..6979e22 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -3186,7 +3186,7 @@ void SwRootFrame::Paint(vcl::RenderContext& rRenderContext, SwRect const& rRect, { OSL_ENSURE( Lower() && Lower()->IsPageFrame(), "Lower of root is no page." ); - PROTOCOL( this, PROT_FILE_INIT, 0, nullptr) + PROTOCOL( this, PROT::FileInit, 0, nullptr) bool bResetRootPaint = false; SwViewShell *pSh = mpCurrShell; diff --git a/sw/source/core/layout/sectfrm.cxx b/sw/source/core/layout/sectfrm.cxx index 8335368..e7a1c7b 100644 --- a/sw/source/core/layout/sectfrm.cxx +++ b/sw/source/core/layout/sectfrm.cxx @@ -68,7 +68,7 @@ SwSectionFrame::SwSectionFrame( SwSectionFrame &rSect, bool bMaster ) : { mnFrameType = SwFrameType::Section; - PROTOCOL( this, PROT_SECTION, bMaster ? ACT_CREATE_MASTER : ACT_CREATE_FOLLOW, &rSect ) + PROTOCOL( this, PROT::Section, bMaster ? ACT_CREATE_MASTER : ACT_CREATE_FOLLOW, &rSect ) if( bMaster ) { @@ -129,7 +129,7 @@ void SwSectionFrame::DestroyImpl() SwSectionFrame *pMaster = FindMaster(); if( pMaster ) { - PROTOCOL( this, PROT_SECTION, ACT_DEL_FOLLOW, pMaster ) + PROTOCOL( this, PROT::Section, ACT_DEL_FOLLOW, pMaster ) pMaster->SetFollow( GetFollow() ); // A Master always grabs the space until the lower edge of his // Upper. If he doesn't have a Follow anymore, he can @@ -141,7 +141,7 @@ void SwSectionFrame::DestroyImpl() } else if( HasFollow() ) { - PROTOCOL( this, PROT_SECTION, ACT_DEL_MASTER, GetFollow() ) + PROTOCOL( this, PROT::Section, ACT_DEL_MASTER, GetFollow() ) } } @@ -218,7 +218,7 @@ void SwSectionFrame::Cut_( bool bRemove ) { OSL_ENSURE( GetUpper(), "Cut ohne Upper()." ); - PROTOCOL( this, PROT_CUT, 0, GetUpper() ) + PROTOCOL( this, PROT::Cut, 0, GetUpper() ) SwPageFrame *pPage = FindPageFrame(); InvalidatePage( pPage ); @@ -299,7 +299,7 @@ void SwSectionFrame::Paste( SwFrame* pParent, SwFrame* pSibling ) OSL_ENSURE( !GetPrev() && !GetUpper(), "I am still registered somewhere." ); - PROTOCOL( this, PROT_PASTE, 0, GetUpper() ) + PROTOCOL( this, PROT::Paste, 0, GetUpper() ) // Add to the tree SwSectionFrame* pSect = pParent->FindSctFrame(); @@ -429,7 +429,7 @@ void SwSectionFrame::MergeNext( SwSectionFrame* pNxt ) if (!pNxt->IsJoinLocked() && GetSection() == pNxt->GetSection()) { - PROTOCOL( this, PROT_SECTION, ACT_MERGE, pNxt ) + PROTOCOL( this, PROT::Section, ACT_MERGE, pNxt ) SwFrame* pTmp = ::SaveContent( pNxt ); if( pTmp ) @@ -1223,7 +1223,7 @@ void SwSectionFrame::Format( vcl::RenderContext* pRenderContext, const SwBorderA SWRECTFN( this ) if ( !mbValidPrtArea ) { - PROTOCOL( this, PROT_PRTAREA, 0, nullptr ) + PROTOCOL( this, PROT::PrintArea, 0, nullptr ) mbValidPrtArea = true; SwTwips nUpper = CalcUpperSpace(); @@ -1243,7 +1243,7 @@ void SwSectionFrame::Format( vcl::RenderContext* pRenderContext, const SwBorderA if ( !mbValidSize ) { - PROTOCOL_ENTER( this, PROT_SIZE, 0, nullptr ) + PROTOCOL_ENTER( this, PROT::Size, 0, nullptr ) const long nOldHeight = (Frame().*fnRect->fnGetHeight)(); bool bOldLock = IsColLocked(); ColLock(); @@ -1431,7 +1431,7 @@ SwLayoutFrame *SwFrame::GetNextSctLeaf( MakePageType eMakePage ) { // Attention: Nested sections are currently not supported - PROTOCOL_ENTER( this, PROT_LEAF, ACT_NEXT_SECT, GetUpper()->FindSctFrame() ) + PROTOCOL_ENTER( this, PROT::Leaf, ACT_NEXT_SECT, GetUpper()->FindSctFrame() ) // Shortcuts for "columned" sections, if we're not in the last column // Can we slide to the next column of the section? @@ -1649,7 +1649,7 @@ SwLayoutFrame *SwFrame::GetNextSctLeaf( MakePageType eMakePage ) /// Returns the preceding layout sheet where the frame can be moved into SwLayoutFrame *SwFrame::GetPrevSctLeaf( MakePageType ) { - PROTOCOL_ENTER( this, PROT_LEAF, ACT_PREV_SECT, GetUpper()->FindSctFrame() ) + PROTOCOL_ENTER( this, PROT::Leaf, ACT_PREV_SECT, GetUpper()->FindSctFrame() ) SwLayoutFrame* pCol; // ColumnFrame always contain a BodyFrame now diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx index e87418f..21b5bc8 100644 --- a/sw/source/core/layout/tabfrm.cxx +++ b/sw/source/core/layout/tabfrm.cxx @@ -1745,7 +1745,7 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext) return; } - PROTOCOL_ENTER( this, PROT_MAKEALL, 0, nullptr ) + PROTOCOL_ENTER( this, PROT::MakeAll, 0, nullptr ) LockJoin(); //I don't want to be destroyed on the way. SwLayNotify aNotify( this ); //does the notification in the DTor diff --git a/sw/source/core/layout/wsfrm.cxx b/sw/source/core/layout/wsfrm.cxx index 52042e9..1c9dbd3 100644 --- a/sw/source/core/layout/wsfrm.cxx +++ b/sw/source/core/layout/wsfrm.cxx @@ -1156,7 +1156,7 @@ SwTwips SwFrame::Grow( SwTwips nDist, bool bTst, bool bInfo ) { OSL_ENSURE( nDist >= 0, "Negative growth?" ); - PROTOCOL_ENTER( this, bTst ? PROT_GROW_TST : PROT_GROW, 0, &nDist ) + PROTOCOL_ENTER( this, bTst ? PROT::GrowTest : PROT::Grow, 0, &nDist ) if ( nDist ) { @@ -1200,7 +1200,7 @@ SwTwips SwFrame::Shrink( SwTwips nDist, bool bTst, bool bInfo ) { OSL_ENSURE( nDist >= 0, "Negative reduction?" ); - PROTOCOL_ENTER( this, bTst ? PROT_SHRINK_TST : PROT_SHRINK, 0, &nDist ) + PROTOCOL_ENTER( this, bTst ? PROT::ShrinkTest : PROT::Shrink, 0, &nDist ) if ( nDist ) { @@ -1259,7 +1259,7 @@ SwTwips SwFrame::Shrink( SwTwips nDist, bool bTst, bool bInfo ) */ SwTwips SwFrame::AdjustNeighbourhood( SwTwips nDiff, bool bTst ) { - PROTOCOL_ENTER( this, PROT_ADJUSTN, 0, &nDiff ); + PROTOCOL_ENTER( this, PROT::AdjustN, 0, &nDiff ); if ( !nDiff || !GetUpper()->IsFootnoteBossFrame() ) // only inside pages/columns return 0L; diff --git a/sw/source/core/text/txtfrm.cxx b/sw/source/core/text/txtfrm.cxx index acb8831..a1cb454 100644 --- a/sw/source/core/text/txtfrm.cxx +++ b/sw/source/core/text/txtfrm.cxx @@ -1909,7 +1909,7 @@ SwTestFormat::~SwTestFormat() bool SwTextFrame::TestFormat( const SwFrame* pPrv, SwTwips &rMaxHeight, bool &bSplit ) { - PROTOCOL_ENTER( this, PROT_TESTFORMAT, 0, nullptr ) + PROTOCOL_ENTER( this, PROT::TestFormat, 0, nullptr ) if( IsLocked() && GetUpper()->Prt().Width() <= 0 ) return false; commit 383e00bde033981eacdfc45ee6d1a9e0c4b030ef Author: Noel Grandin <[email protected]> Date: Thu May 12 14:47:01 2016 +0200 Convert WHEELMODE to scoped enum Change-Id: Ia65f88b94c6c1151546f3e2d592b6a02ac49aaa4 diff --git a/vcl/source/window/scrwnd.cxx b/vcl/source/window/scrwnd.cxx index 2c0bc7f..60355ee 100644 --- a/vcl/source/window/scrwnd.cxx +++ b/vcl/source/window/scrwnd.cxx @@ -40,7 +40,7 @@ ImplWheelWindow::ImplWheelWindow( vcl::Window* pParent ) : FloatingWindow ( pParent, 0 ), mnRepaintTime ( 1UL ), mnTimeout ( DEF_TIMEOUT ), - mnWheelMode ( WHEELMODE_NONE ), + mnWheelMode ( WheelMode::NONE ), mnActDist ( 0UL ), mnActDeltaX ( 0L ), mnActDeltaY ( 0L ) @@ -67,11 +67,11 @@ ImplWheelWindow::ImplWheelWindow( vcl::Window* pParent ) : // set wheel mode if( bHorz && bVert ) - ImplSetWheelMode( WHEELMODE_VH ); + ImplSetWheelMode( WheelMode::VH ); else if( bHorz ) - ImplSetWheelMode( WHEELMODE_H ); + ImplSetWheelMode( WheelMode::H ); else - ImplSetWheelMode( WHEELMODE_V ); + ImplSetWheelMode( WheelMode::V ); // init timer mpTimer = new Timer("WheelWindowTimer"); @@ -126,13 +126,13 @@ void ImplWheelWindow::ImplCreateImageList() ( ResId( SV_RESID_BITMAP_SCROLLBMP, *pResMgr ), 6, nullptr ); } -void ImplWheelWindow::ImplSetWheelMode( sal_uLong nWheelMode ) +void ImplWheelWindow::ImplSetWheelMode( WheelMode nWheelMode ) { if( nWheelMode != mnWheelMode ) { mnWheelMode = nWheelMode; - if( WHEELMODE_NONE == mnWheelMode ) + if( WheelMode::NONE == mnWheelMode ) { if( IsVisible() ) Hide(); @@ -153,22 +153,22 @@ void ImplWheelWindow::ImplDrawWheel(vcl::RenderContext& rRenderContext) switch (mnWheelMode) { - case WHEELMODE_VH: + case WheelMode::VH: nId = 1; break; - case WHEELMODE_V: + case WheelMode::V: nId = 2; break; - case WHEELMODE_H: + case WheelMode::H: nId = 3; break; - case WHEELMODE_SCROLL_VH: + case WheelMode::ScrollVH: nId = 4; break; - case WHEELMODE_SCROLL_V: + case WheelMode::ScrollV: nId = 5; break; - case WHEELMODE_SCROLL_H: + case WheelMode::ScrollH: nId = 6; break; default: @@ -344,11 +344,11 @@ void ImplWheelWindow::MouseMove( const MouseEvent& rMEvt ) SetPointer( eActStyle ); if( bHorz && bVert ) - ImplSetWheelMode( bOuter ? WHEELMODE_SCROLL_VH : WHEELMODE_VH ); + ImplSetWheelMode( bOuter ? WheelMode::ScrollVH : WheelMode::VH ); else if( bHorz ) - ImplSetWheelMode( bOuter ? WHEELMODE_SCROLL_H : WHEELMODE_H ); + ImplSetWheelMode( bOuter ? WheelMode::ScrollH : WheelMode::H ); else - ImplSetWheelMode( bOuter ? WHEELMODE_SCROLL_V : WHEELMODE_V ); + ImplSetWheelMode( bOuter ? WheelMode::ScrollV : WheelMode::V ); } void ImplWheelWindow::MouseButtonUp( const MouseEvent& rMEvt ) diff --git a/vcl/source/window/scrwnd.hxx b/vcl/source/window/scrwnd.hxx index e9edae3..dc438cb 100644 --- a/vcl/source/window/scrwnd.hxx +++ b/vcl/source/window/scrwnd.hxx @@ -24,16 +24,21 @@ #include <vcl/bitmap.hxx> #include <vcl/image.hxx> -#define WHEELMODE_NONE 0x00000000UL -#define WHEELMODE_VH 0x00000001UL -#define WHEELMODE_V 0x00000002UL -#define WHEELMODE_H 0x00000004UL -#define WHEELMODE_SCROLL_VH 0x00000008UL -#define WHEELMODE_SCROLL_V 0x00000010UL -#define WHEELMODE_SCROLL_H 0x00000020UL - class Timer; +enum class WheelMode { + NONE = 0x0000, + VH = 0x0001, + V = 0x0002, + H = 0x0004, + ScrollVH = 0x0008, + ScrollV = 0x0010, + ScrollH = 0x0020 +}; +namespace o3tl { + template<> struct typed_flags<WheelMode> : is_typed_flags<WheelMode, 0x003f> {}; +} + class ImplWheelWindow : public FloatingWindow { private: @@ -44,9 +49,9 @@ private: Timer* mpTimer; sal_uInt64 mnRepaintTime; sal_uInt64 mnTimeout; - sal_uLong mnWheelMode; - sal_uLong mnMaxWidth; - sal_uLong mnActDist; + WheelMode mnWheelMode; + sal_uLong mnMaxWidth; + sal_uLong mnActDist; long mnActDeltaX; long mnActDeltaY; @@ -72,7 +77,7 @@ public: virtual void dispose() override; void ImplStop(); - void ImplSetWheelMode( sal_uLong nWheelMode ); + void ImplSetWheelMode( WheelMode nWheelMode ); }; #endif // INCLUDED_VCL_SOURCE_WINDOW_SCRWND_HXX _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
