[Libreoffice-commits] core.git: sw/source
Miklos Vajna (via logerrit)
logerrit at kemper.freedesktop.org
Thu May 20 06:50:20 UTC 2021
sw/source/core/inc/tabfrm.hxx | 18 +++++++++++++++++-
sw/source/core/layout/tabfrm.cxx | 38 +++++++++++++++++++-------------------
2 files changed, 36 insertions(+), 20 deletions(-)
New commits:
commit 4e4e02904fdff021631e7758a277b7c1c7b9378a
Author: Miklos Vajna <vmiklos at collabora.com>
AuthorDate: Wed May 19 20:36:30 2021 +0200
Commit: Miklos Vajna <vmiklos at collabora.com>
CommitDate: Thu May 20 08:49:42 2021 +0200
Introduce SwTabFrameInvFlags to replace magic numbers in ...
... SwTabFrame::SwClientNotify()
SwTabFrame::UpdateAttr_() is not yet updated to produce these.
Change-Id: Ifb534f7ac2b01f7752aace8a57686228d36edbb2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115825
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos at collabora.com>
diff --git a/sw/source/core/inc/tabfrm.hxx b/sw/source/core/inc/tabfrm.hxx
index 88bd6a82b0fb..97745968fcad 100644
--- a/sw/source/core/inc/tabfrm.hxx
+++ b/sw/source/core/inc/tabfrm.hxx
@@ -26,6 +26,22 @@ class SwTable;
class SwBorderAttrs;
class SwAttrSetChg;
+enum class SwTabFrameInvFlags : sal_uInt8
+{
+ NONE = 0x00,
+ InvalidatePrt = 0x02,
+ InvalidateIndNextPrt = 0x04,
+ InvalidatePrevPrt = 0x08,
+ SetIndNextCompletePaint = 0x10,
+ InvalidateBrowseWidth = 0x20,
+ InvalidatePos = 0x40,
+ InvalidateNextPos = 0x80,
+};
+
+namespace o3tl {
+ template<> struct typed_flags<SwTabFrameInvFlags> : is_typed_flags<SwTabFrameInvFlags, 0xfe> {};
+}
+
/// SwTabFrame is one table in the document layout, containing rows (which contain cells).
class SwTabFrame final: public SwLayoutFrame, public SwFlowFrame
{
@@ -96,7 +112,7 @@ class SwTabFrame final: public SwLayoutFrame, public SwFlowFrame
void UpdateAttr_(
const SfxPoolItem*,
- const SfxPoolItem*, sal_uInt8 &,
+ const SfxPoolItem*, SwTabFrameInvFlags &,
SwAttrSetChg *pa = nullptr,
SwAttrSetChg *pb = nullptr );
diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx
index 4747cede044b..34ba690a25b8 100644
--- a/sw/source/core/layout/tabfrm.cxx
+++ b/sw/source/core/layout/tabfrm.cxx
@@ -3265,7 +3265,7 @@ void SwTabFrame::SwClientNotify(const SwModify& rMod, const SfxHint& rHint)
auto pLegacy = dynamic_cast<const sw::LegacyModifyHint*>(&rHint);
if(!pLegacy)
return;
- sal_uInt8 nInvFlags = 0;
+ SwTabFrameInvFlags eInvFlags = SwTabFrameInvFlags::NONE;
bool bAttrSetChg = pLegacy->m_pNew && RES_ATTRSET_CHG == pLegacy->m_pNew->Which();
if(bAttrSetChg)
@@ -3280,7 +3280,7 @@ void SwTabFrame::SwClientNotify(const SwModify& rMod, const SfxHint& rHint)
SwAttrSetChg aNewSet(rNewSetChg);
do
{
- UpdateAttr_(pOItem, pNItem, nInvFlags, &aOldSet, &aNewSet);
+ UpdateAttr_(pOItem, pNItem, eInvFlags, &aOldSet, &aNewSet);
pNItem = aNIter.NextItem();
pOItem = aOIter.NextItem();
} while(pNItem);
@@ -3288,46 +3288,46 @@ void SwTabFrame::SwClientNotify(const SwModify& rMod, const SfxHint& rHint)
SwLayoutFrame::SwClientNotify(rMod, sw::LegacyModifyHint(&aOldSet, &aNewSet));
}
else
- UpdateAttr_(pLegacy->m_pOld, pLegacy->m_pNew, nInvFlags);
+ UpdateAttr_(pLegacy->m_pOld, pLegacy->m_pNew, eInvFlags);
- if(nInvFlags == 0)
+ if(eInvFlags == SwTabFrameInvFlags::NONE)
return;
SwPageFrame* pPage = FindPageFrame();
InvalidatePage(pPage);
- if(nInvFlags & 0x02)
+ if(eInvFlags & SwTabFrameInvFlags::InvalidatePrt)
InvalidatePrt_();
- if(nInvFlags & 0x40)
+ if(eInvFlags & SwTabFrameInvFlags::InvalidatePos)
InvalidatePos_();
SwFrame* pTmp = GetIndNext();
if(nullptr != pTmp)
{
- if(nInvFlags & 0x04)
+ if(eInvFlags & SwTabFrameInvFlags::InvalidateIndNextPrt)
{
pTmp->InvalidatePrt_();
if(pTmp->IsContentFrame())
pTmp->InvalidatePage(pPage);
}
- if(nInvFlags & 0x10)
+ if(eInvFlags & SwTabFrameInvFlags::SetIndNextCompletePaint)
pTmp->SetCompletePaint();
}
- if(nInvFlags & 0x08 && nullptr != (pTmp = GetPrev()))
+ if(eInvFlags & SwTabFrameInvFlags::InvalidatePrevPrt && nullptr != (pTmp = GetPrev()))
{
pTmp->InvalidatePrt_();
if(pTmp->IsContentFrame())
pTmp->InvalidatePage( pPage );
}
- if(nInvFlags & 0x20)
+ if(eInvFlags & SwTabFrameInvFlags::InvalidateBrowseWidth)
{
if(pPage && pPage->GetUpper() && !IsFollow())
static_cast<SwRootFrame*>(pPage->GetUpper())->InvalidateBrowseWidth();
}
- if(nInvFlags & 0x80)
+ if(eInvFlags & SwTabFrameInvFlags::InvalidateNextPos)
InvalidateNextPos();
}
void SwTabFrame::UpdateAttr_( const SfxPoolItem *pOld, const SfxPoolItem *pNew,
- sal_uInt8 &rInvFlags,
+ SwTabFrameInvFlags &rInvFlags,
SwAttrSetChg *pOldSet, SwAttrSetChg *pNewSet )
{
bool bClear = true;
@@ -3356,18 +3356,18 @@ void SwTabFrame::UpdateAttr_( const SfxPoolItem *pOld, const SfxPoolItem *pNew,
pHeadline->Paste( this, pLowerRow );
}
}
- rInvFlags |= 0x02;
+ rInvFlags |= static_cast<SwTabFrameInvFlags>(0x02);
break;
case RES_FRM_SIZE:
case RES_HORI_ORIENT:
- rInvFlags |= 0x22;
+ rInvFlags |= static_cast<SwTabFrameInvFlags>(0x22);
break;
case RES_PAGEDESC: //Attribute changes (on/off)
if ( IsInDocBody() )
{
- rInvFlags |= 0x40;
+ rInvFlags |= static_cast<SwTabFrameInvFlags>(0x40);
SwPageFrame *pPage = FindPageFrame();
if (pPage)
{
@@ -3382,23 +3382,23 @@ void SwTabFrame::UpdateAttr_( const SfxPoolItem *pOld, const SfxPoolItem *pNew,
break;
case RES_BREAK:
- rInvFlags |= 0xC0;
+ rInvFlags |= static_cast<SwTabFrameInvFlags>(0xC0);
break;
case RES_LAYOUT_SPLIT:
if ( !IsFollow() )
- rInvFlags |= 0x40;
+ rInvFlags |= static_cast<SwTabFrameInvFlags>(0x40);
break;
case RES_FRAMEDIR :
SetDerivedR2L( false );
CheckDirChange();
break;
case RES_COLLAPSING_BORDERS :
- rInvFlags |= 0x02;
+ rInvFlags |= static_cast<SwTabFrameInvFlags>(0x02);
lcl_InvalidateAllLowersPrt( this );
break;
case RES_UL_SPACE:
- rInvFlags |= 0x1C;
+ rInvFlags |= static_cast<SwTabFrameInvFlags>(0x1C);
[[fallthrough]];
default:
More information about the Libreoffice-commits
mailing list