sw/source/core/doc/DocumentContentOperationsManager.cxx | 25 ++++------ sw/source/core/doc/dbgoutsw.cxx | 9 +-- sw/source/core/doc/docedt.cxx | 7 -- sw/source/core/doc/docfly.cxx | 40 +++++++--------- sw/source/core/doc/docfmt.cxx | 29 +++++------ sw/source/core/doc/doclay.cxx | 12 +--- sw/source/core/doc/fmtcol.cxx | 33 ++++--------- sw/source/core/doc/gctable.cxx | 36 ++++++-------- sw/source/core/doc/notxtfrm.cxx | 7 +- sw/source/core/doc/tblafmt.cxx | 3 - sw/source/core/doc/tblcpy.cxx | 8 +-- sw/source/core/doc/tblrwcl.cxx | 8 +-- 12 files changed, 92 insertions(+), 125 deletions(-)
New commits: commit aa90836808d0a071e544554a39724fc0dfc3c846 Author: Noel Grandin <[email protected]> AuthorDate: Wed Mar 2 13:07:53 2022 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Wed Mar 2 16:54:08 2022 +0100 use SfxItemSet::GetItemIfSet in sw/source/core/doc Change-Id: Ia56daf87140680a83d783e995ea220134a8be4c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130838 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx index e889a6bcd419..d94632d3b92a 100644 --- a/sw/source/core/doc/DocumentContentOperationsManager.cxx +++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx @@ -1604,9 +1604,8 @@ namespace //local functions originally from docfmt.cxx if( pOtherSet && pOtherSet->Count() ) { SwTableNode* pTableNd; - const SwFormatPageDesc* pDesc; - if( SfxItemState::SET == pOtherSet->GetItemState( RES_PAGEDESC, - false, reinterpret_cast<const SfxPoolItem**>(&pDesc) )) + const SwFormatPageDesc* pDesc = pOtherSet->GetItemIfSet( RES_PAGEDESC, false ); + if( pDesc ) { if( pNode ) { @@ -1657,8 +1656,7 @@ namespace //local functions originally from docfmt.cxx const SvxFormatBreakItem* pBreak; if( pNode && !(nFlags & SetAttrMode::APICALL) && nullptr != (pTableNd = pNode->FindTableNode() ) && - SfxItemState::SET == pOtherSet->GetItemState( RES_BREAK, - false, reinterpret_cast<const SfxPoolItem**>(&pBreak) ) ) + (pBreak = pOtherSet->GetItemIfSet( RES_BREAK, false )) ) { SwTableNode* pCurTableNd = pTableNd; while ( nullptr != ( pCurTableNd = pCurTableNd->StartOfSectionNode()->FindTableNode() ) ) @@ -1686,10 +1684,9 @@ namespace //local functions originally from docfmt.cxx { // If we have a PoolNumRule, create it if needed - const SwNumRuleItem* pRule; sal_uInt16 nPoolId=0; - if( SfxItemState::SET == pOtherSet->GetItemState( RES_PARATR_NUMRULE, - false, reinterpret_cast<const SfxPoolItem**>(&pRule) ) && + const SwNumRuleItem* pRule = pOtherSet->GetItemIfSet( RES_PARATR_NUMRULE, false ); + if( pRule && !rDoc.FindNumRulePtr( pRule->GetValue() ) && USHRT_MAX != (nPoolId = SwStyleNameMapper::GetPoolIdFromUIName ( pRule->GetValue(), SwGetPoolIdFromName::NumRule )) ) @@ -3152,8 +3149,7 @@ SwDrawFrameFormat* DocumentContentOperationsManager::InsertDrawObj( { SwDrawFrameFormat* pFormat = m_rDoc.MakeDrawFrameFormat( OUString(), m_rDoc.GetDfltFrameFormat() ); - const SwFormatAnchor* pAnchor = nullptr; - rFlyAttrSet.GetItemState( RES_ANCHOR, false, reinterpret_cast<const SfxPoolItem**>(&pAnchor) ); + const SwFormatAnchor* pAnchor = rFlyAttrSet.GetItemIfSet( RES_ANCHOR, false ); pFormat->SetFormatAttr( rFlyAttrSet ); // Didn't set the Anchor yet? @@ -4739,15 +4735,14 @@ static void lcl_PushNumruleState( if (pAttrSet == nullptr) return; - const SfxPoolItem* pItem(nullptr); - if (SfxItemState::SET == pAttrSet->GetItemState(RES_PARATR_NUMRULE, false, &pItem)) + if (const SwNumRuleItem* pItem = pAttrSet->GetItemIfSet(RES_PARATR_NUMRULE, false)) { - aNumRuleItemHolderIfSet.reset(&pItem->Clone()->StaticWhichCast(RES_PARATR_NUMRULE)); + aNumRuleItemHolderIfSet.reset(pItem->Clone()); } - if (SfxItemState::SET == pAttrSet->GetItemState(RES_PARATR_LIST_ID, false, &pItem)) + if (const SfxStringItem* pItem = pAttrSet->GetItemIfSet(RES_PARATR_LIST_ID, false)) { - aListIdItemHolderIfSet.reset(&pItem->Clone()->StaticWhichCast(RES_PARATR_LIST_ID)); + aListIdItemHolderIfSet.reset(pItem->Clone()); } } diff --git a/sw/source/core/doc/dbgoutsw.cxx b/sw/source/core/doc/dbgoutsw.cxx index 0d294863dbed..dfed2005eaa9 100644 --- a/sw/source/core/doc/dbgoutsw.cxx +++ b/sw/source/core/doc/dbgoutsw.cxx @@ -524,13 +524,12 @@ static OUString lcl_dbg_out(const SwNode & rNode) aTmpStr += "</number><rule>" + pNumRule->GetName(); - const SfxPoolItem * pItem = nullptr; + const SwNumRuleItem * pItem = nullptr; - if (pAttrSet && SfxItemState::SET == - pAttrSet->GetItemState(RES_PARATR_NUMRULE, false, &pItem)) + if (pAttrSet && + (pItem = pAttrSet->GetItemIfSet(RES_PARATR_NUMRULE, false))) { - aTmpStr += "(" + - static_cast<const SwNumRuleItem *>(pItem)->GetValue() + ")*"; + aTmpStr += "(" + pItem->GetValue() + ")*"; } const SwNumFormat * pNumFormat = nullptr; diff --git a/sw/source/core/doc/docedt.cxx b/sw/source/core/doc/docedt.cxx index 57fffff87b18..a325c487702b 100644 --- a/sw/source/core/doc/docedt.cxx +++ b/sw/source/core/doc/docedt.cxx @@ -380,13 +380,10 @@ bool sw_JoinText( SwPaM& rPam, bool bJoinPrev ) pTextNd = aIdx.GetNode().GetTextNode(); if (pTextNd->HasSwAttrSet()) { - const SfxPoolItem* pItem; - if( SfxItemState::SET == pTextNd->GetpSwAttrSet()->GetItemState( - RES_BREAK, false, &pItem ) ) + if( SfxItemState::SET == pTextNd->GetpSwAttrSet()->GetItemState( RES_BREAK, false) ) pTextNd->ResetAttr( RES_BREAK ); if( pTextNd->HasSwAttrSet() && - SfxItemState::SET == pTextNd->GetpSwAttrSet()->GetItemState( - RES_PAGEDESC, false, &pItem ) ) + SfxItemState::SET == pTextNd->GetpSwAttrSet()->GetItemState( RES_PAGEDESC, false ) ) pTextNd->ResetAttr( RES_PAGEDESC ); } diff --git a/sw/source/core/doc/docfly.cxx b/sw/source/core/doc/docfly.cxx index 6b73f1f756b5..f34b78141fb1 100644 --- a/sw/source/core/doc/docfly.cxx +++ b/sw/source/core/doc/docfly.cxx @@ -327,7 +327,6 @@ sal_Int8 SwDoc::SetFlyFrameAnchor( SwFrameFormat& rFormat, SfxItemSet& rSet, boo rFormat.SetFormatAttr( aNewAnch ); // Correct the position - const SfxPoolItem* pItem; switch( nNew ) { case RndStdIds::FLY_AS_CHAR: @@ -342,7 +341,7 @@ sal_Int8 SwDoc::SetFlyFrameAnchor( SwFrameFormat& rFormat, SfxItemSet& rSet, boo pNd->InsertItem( aFormat, pPos->nContent.GetIndex(), 0 ); } - if( SfxItemState::SET != rSet.GetItemState( RES_VERT_ORIENT, false, &pItem )) + if( SfxItemState::SET != rSet.GetItemState( RES_VERT_ORIENT, false )) { SwFormatVertOrient aOldV( rFormat.GetVertOrient() ); bool bSet = true; @@ -369,31 +368,29 @@ sal_Int8 SwDoc::SetFlyFrameAnchor( SwFrameFormat& rFormat, SfxItemSet& rSet, boo // such that the fly's document coordinates are preserved. // If only the alignment changes in the position attributes (text::RelOrientation::FRAME // vs. text::RelOrientation::PRTAREA), we also correct the position. - if( SfxItemState::SET != rSet.GetItemState( RES_HORI_ORIENT, false, &pItem )) - pItem = nullptr; + const SwFormatHoriOrient* pHoriOrientItem = rSet.GetItemIfSet( RES_HORI_ORIENT, false ); SwFormatHoriOrient aOldH( rFormat.GetHoriOrient() ); bool bPutOldH(false); - if( text::HoriOrientation::NONE == aOldH.GetHoriOrient() && ( !pItem || - aOldH.GetPos() == pItem->StaticWhichCast(RES_HORI_ORIENT).GetPos() )) + if( text::HoriOrientation::NONE == aOldH.GetHoriOrient() && ( !pHoriOrientItem || + aOldH.GetPos() == pHoriOrientItem->GetPos() )) { SwTwips nPos = (RndStdIds::FLY_AS_CHAR == nOld) ? 0 : aOldH.GetPos(); nPos += aOldAnchorPos.getX() - aNewAnchorPos.getX(); - if( pItem ) + if( pHoriOrientItem ) { - SwFormatHoriOrient& rH = const_cast<SwFormatHoriOrient&>(pItem->StaticWhichCast(RES_HORI_ORIENT)); - aOldH.SetHoriOrient( rH.GetHoriOrient() ); - aOldH.SetRelationOrient( rH.GetRelationOrient() ); + aOldH.SetHoriOrient( pHoriOrientItem->GetHoriOrient() ); + aOldH.SetRelationOrient( pHoriOrientItem->GetRelationOrient() ); } aOldH.SetPos( nPos ); bPutOldH = true; } if (nNew == RndStdIds::FLY_AT_PAGE) { - sal_Int16 nRelOrient(pItem - ? pItem->StaticWhichCast(RES_HORI_ORIENT).GetRelationOrient() + sal_Int16 nRelOrient(pHoriOrientItem + ? pHoriOrientItem->GetRelationOrient() : aOldH.GetRelationOrient()); if (sw::GetAtPageRelOrientation(nRelOrient, false)) { @@ -407,20 +404,19 @@ sal_Int8 SwDoc::SetFlyFrameAnchor( SwFrameFormat& rFormat, SfxItemSet& rSet, boo rSet.Put( aOldH ); } - if( SfxItemState::SET != rSet.GetItemState( RES_VERT_ORIENT, false, &pItem )) - pItem = nullptr; + const SwFormatVertOrient* pVertOrientItem = rSet.GetItemIfSet( RES_VERT_ORIENT, false ); SwFormatVertOrient aOldV( rFormat.GetVertOrient() ); // #i28922# - correction: compare <aOldV.GetVertOrient() with // <text::VertOrientation::NONE> - if( text::VertOrientation::NONE == aOldV.GetVertOrient() && (!pItem || - aOldV.GetPos() == pItem->StaticWhichCast(RES_VERT_ORIENT).GetPos() ) ) + if( text::VertOrientation::NONE == aOldV.GetVertOrient() && (!pVertOrientItem || + aOldV.GetPos() == pVertOrientItem->GetPos() ) ) { SwTwips nPos = (RndStdIds::FLY_AS_CHAR == nOld) ? 0 : aOldV.GetPos(); nPos += aOldAnchorPos.getY() - aNewAnchorPos.getY(); - if( pItem ) + if( pVertOrientItem ) { - SwFormatVertOrient& rV = const_cast<SwFormatVertOrient&>(pItem->StaticWhichCast(RES_VERT_ORIENT)); + SwFormatVertOrient& rV = const_cast<SwFormatVertOrient&>(*pVertOrientItem); aOldV.SetVertOrient( rV.GetVertOrient() ); aOldV.SetRelationOrient( rV.GetRelationOrient() ); } @@ -650,7 +646,6 @@ bool SwDoc::SetFrameFormatToFly( SwFrameFormat& rFormat, SwFrameFormat& rNewForm // Set the column first, or we'll have trouble with //Set/Reset/Synch. and so on - const SfxPoolItem* pItem; if( SfxItemState::SET != rNewFormat.GetAttrSet().GetItemState( RES_COL )) rFormat.ResetFormatAttr( RES_COL ); @@ -668,8 +663,9 @@ bool SwDoc::SetFrameFormatToFly( SwFrameFormat& rFormat, SwFrameFormat& rNewForm const SfxItemSet* pAsk = pSet; if( !pAsk ) pAsk = &rNewFormat.GetAttrSet(); - if( SfxItemState::SET == pAsk->GetItemState( RES_ANCHOR, false, &pItem ) - && pItem->StaticWhichCast(RES_ANCHOR).GetAnchorId() != + const SwFormatAnchor* pFormatAnchor = pAsk->GetItemIfSet( RES_ANCHOR, false ); + if( pFormatAnchor + && pFormatAnchor->GetAnchorId() != rFormat.GetAnchor().GetAnchorId() ) { if( pSet ) @@ -680,7 +676,7 @@ bool SwDoc::SetFrameFormatToFly( SwFrameFormat& rFormat, SwFrameFormat& rNewForm // in SetFlyFrameAnchor. SfxItemSet aFlySet( *rNewFormat.GetAttrSet().GetPool(), rNewFormat.GetAttrSet().GetRanges() ); - aFlySet.Put( *pItem ); + aFlySet.Put( *pFormatAnchor ); bChgAnchor = MAKEFRMS == SetFlyFrameAnchor( rFormat, aFlySet, false); } } diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx index 42dfd707c556..257e5707cff4 100644 --- a/sw/source/core/doc/docfmt.cxx +++ b/sw/source/core/doc/docfmt.cxx @@ -616,16 +616,14 @@ void SwDoc::SetDefault( const SfxItemSet& rSet ) GetIDocumentUndoRedo().AppendUndo( std::make_unique<SwUndoDefaultAttr>( aOld, *this ) ); } - const SfxPoolItem* pTmpItem; - if( ( SfxItemState::SET == - aNew.GetItemState( RES_PARATR_TABSTOP, false, &pTmpItem ) ) && - pTmpItem->StaticWhichCast(RES_PARATR_TABSTOP).Count() ) + const SvxTabStopItem* pTmpItem = aNew.GetItemIfSet( RES_PARATR_TABSTOP, false ); + if( pTmpItem && pTmpItem->Count() ) { // Set the default values of all TabStops to the new value. // Attention: we always work with the PoolAttribute here, so that // we don't calculate the same value on the same TabStop (pooled!) for all sets. // We send a FormatChg to modify. - SwTwips nNewWidth = pTmpItem->StaticWhichCast(RES_PARATR_TABSTOP)[ 0 ].GetTabPos(), + SwTwips nNewWidth = (*pTmpItem)[ 0 ].GetTabPos(), nOldWidth = aOld.Get(RES_PARATR_TABSTOP)[ 0 ].GetTabPos(); bool bChg = false; @@ -1219,11 +1217,11 @@ SwTextFormatColl* SwDoc::CopyTextColl( const SwTextFormatColl& rColl ) // create the NumRule if necessary if( this != rColl.GetDoc() ) { - const SfxPoolItem* pItem; - if( SfxItemState::SET == pNewColl->GetItemState( RES_PARATR_NUMRULE, - false, &pItem )) + const SwNumRuleItem* pItem = pNewColl->GetItemIfSet( RES_PARATR_NUMRULE, + false ); + if( pItem ) { - const OUString& rName = pItem->StaticWhichCast(RES_PARATR_NUMRULE).GetValue(); + const OUString& rName = pItem->GetValue(); if( !rName.isEmpty() ) { const SwNumRule* pRule = rColl.GetDoc()->FindNumRulePtr( rName ); @@ -1304,12 +1302,12 @@ void SwDoc::CopyFormatArr( const SwFormatsBase& rSourceArr, pDest->DelDiffs( *pSrc ); // #i94285#: existing <SwFormatPageDesc> instance, before copying attributes - const SfxPoolItem* pItem; + const SwFormatPageDesc* pItem; if( &GetAttrPool() != pSrc->GetAttrSet().GetPool() - && SfxItemState::SET == pSrc->GetAttrSet().GetItemState( RES_PAGEDESC, false, &pItem ) - && pItem->StaticWhichCast(RES_PAGEDESC).GetPageDesc() ) + && (pItem = pSrc->GetAttrSet().GetItemIfSet( RES_PAGEDESC, false )) + && pItem->GetPageDesc() ) { - SwFormatPageDesc aPageDesc( pItem->StaticWhichCast(RES_PAGEDESC) ); + SwFormatPageDesc aPageDesc( *pItem ); const OUString& rNm = aPageDesc.GetPageDesc()->GetName(); SwPageDesc* pPageDesc = FindPageDesc( rNm ); if( !pPageDesc ) @@ -1392,10 +1390,9 @@ void SwDoc::CopyPageDescHeaderFooterImpl( bool bCpyHeader, GetDfltFrameFormat() ); pNewFormat->CopyAttrs( *pOldFormat ); - if( SfxItemState::SET == pNewFormat->GetAttrSet().GetItemState( - RES_CNTNT, false, &pItem )) + if( const SwFormatContent* pContent = pNewFormat->GetAttrSet().GetItemIfSet( + RES_CNTNT, false ) ) { - const SwFormatContent* pContent = &pItem->StaticWhichCast(RES_CNTNT); if( pContent->GetContentIdx() ) { SwNodeIndex aTmpIdx( GetNodes().GetEndOfAutotext() ); diff --git a/sw/source/core/doc/doclay.cxx b/sw/source/core/doc/doclay.cxx index 34bf4fabbcac..128c2dcd925e 100644 --- a/sw/source/core/doc/doclay.cxx +++ b/sw/source/core/doc/doclay.cxx @@ -182,8 +182,7 @@ SwFlyFrameFormat* SwDoc::MakeFlySection_( const SwPosition& rAnchPos, const SwFormatAnchor* pAnchor = nullptr; if( pFlySet ) { - pFlySet->GetItemState( RES_ANCHOR, false, - reinterpret_cast<const SfxPoolItem**>(&pAnchor) ); + pAnchor = pFlySet->GetItemIfSet( RES_ANCHOR, false ); if( SfxItemState::SET == pFlySet->GetItemState( RES_CNTNT, false )) { SfxItemSet aTmpSet( *pFlySet ); @@ -295,10 +294,8 @@ SwFlyFrameFormat* SwDoc::MakeFlySection( RndStdIds eAnchorType, if ( !pAnchorPos && (RndStdIds::FLY_AT_PAGE != eAnchorType) ) { const SwFormatAnchor* pAnch; - if( (pFlySet && SfxItemState::SET == pFlySet->GetItemState( - RES_ANCHOR, false, reinterpret_cast<const SfxPoolItem**>(&pAnch) )) || - ( pFrameFormat && SfxItemState::SET == pFrameFormat->GetItemState( - RES_ANCHOR, true, reinterpret_cast<const SfxPoolItem**>(&pAnch) )) ) + if( (pFlySet && (pAnch = pFlySet->GetItemIfSet( RES_ANCHOR, false ))) || + ( pFrameFormat && (pAnch = pFrameFormat->GetItemIfSet(RES_ANCHOR)) ) ) { if ( RndStdIds::FLY_AT_PAGE != pAnch->GetAnchorId() ) { @@ -329,8 +326,7 @@ SwFlyFrameFormat* SwDoc::MakeFlySection( RndStdIds eAnchorType, const SfxPoolItem * pItem = nullptr; if (bCalledFromShell && !lcl_IsItemSet(*pNewTextNd, RES_PARATR_ADJUST) && - SfxItemState::SET == pAnchorNode->GetSwAttrSet(). - GetItemState(RES_PARATR_ADJUST, true, &pItem)) + SfxItemState::SET == pAnchorNode->GetSwAttrSet().GetItemState(RES_PARATR_ADJUST, true, &pItem)) { pNewTextNd->SetAttr(*pItem); } diff --git a/sw/source/core/doc/fmtcol.cxx b/sw/source/core/doc/fmtcol.cxx index e35e523b6a92..9cc951b52a0c 100644 --- a/sw/source/core/doc/fmtcol.cxx +++ b/sw/source/core/doc/fmtcol.cxx @@ -59,7 +59,7 @@ namespace TextFormatCollFunc if (!pNewNumRuleItem) { - (void)pTextFormatColl->GetItemState(RES_PARATR_NUMRULE, false, reinterpret_cast<const SfxPoolItem**>(&pNewNumRuleItem)); + pNewNumRuleItem = pTextFormatColl->GetItemIfSet(RES_PARATR_NUMRULE, false); } if (pNewNumRuleItem) { @@ -77,8 +77,7 @@ namespace TextFormatCollFunc { SwNumRule* pNumRule( nullptr ); - const SwNumRuleItem* pNumRuleItem(nullptr); - (void)rTextFormatColl.GetItemState(RES_PARATR_NUMRULE, false, reinterpret_cast<const SfxPoolItem**>(&pNumRuleItem)); + const SwNumRuleItem* pNumRuleItem = rTextFormatColl.GetItemIfSet(RES_PARATR_NUMRULE, false); if (pNumRuleItem) { const OUString& sNumRuleName = pNumRuleItem->GetValue(); @@ -142,23 +141,17 @@ void SwTextFormatColl::SwClientNotify(const SwModify& rModify, const SfxHint& rH // Only recalculate if we're not the sender! pNewChgSet = &pNew->StaticWhichCast(RES_ATTRSET_CHG); pOldChgSet = &pOld->StaticWhichCast(RES_ATTRSET_CHG); - pNewChgSet->GetChgSet()->GetItemState( - RES_LR_SPACE, false, reinterpret_cast<const SfxPoolItem**>(&pNewLRSpace) ); - pNewChgSet->GetChgSet()->GetItemState( - RES_UL_SPACE, false, reinterpret_cast<const SfxPoolItem**>(&pNewULSpace) ); - pNewChgSet->GetChgSet()->GetItemState( RES_CHRATR_FONTSIZE, - false, reinterpret_cast<const SfxPoolItem**>(&(aFontSizeArr[0])) ); - pNewChgSet->GetChgSet()->GetItemState( RES_CHRATR_CJK_FONTSIZE, - false, reinterpret_cast<const SfxPoolItem**>(&(aFontSizeArr[1])) ); - pNewChgSet->GetChgSet()->GetItemState( RES_CHRATR_CTL_FONTSIZE, - false, reinterpret_cast<const SfxPoolItem**>(&(aFontSizeArr[2])) ); + pNewLRSpace = pNewChgSet->GetChgSet()->GetItemIfSet( RES_LR_SPACE, false ); + pNewULSpace = pNewChgSet->GetChgSet()->GetItemIfSet( RES_UL_SPACE, false ); + aFontSizeArr[0] = pNewChgSet->GetChgSet()->GetItemIfSet( RES_CHRATR_FONTSIZE, false ); + aFontSizeArr[1] = pNewChgSet->GetChgSet()->GetItemIfSet( RES_CHRATR_CJK_FONTSIZE, false ); + aFontSizeArr[2] = pNewChgSet->GetChgSet()->GetItemIfSet( RES_CHRATR_CTL_FONTSIZE, false ); // #i70223#, #i84745# // check, if attribute set is applied to this paragraph style if ( bAssignedToListLevelOfOutlineStyle && pNewChgSet->GetTheChgdSet() == &GetAttrSet() ) { - pNewChgSet->GetChgSet()->GetItemState( RES_PARATR_NUMRULE, false, - reinterpret_cast<const SfxPoolItem**>(&pNewNumRuleItem) ); + pNewNumRuleItem = pNewChgSet->GetChgSet()->GetItemIfSet( RES_PARATR_NUMRULE, false ); } break; @@ -213,8 +206,7 @@ void SwTextFormatColl::SwClientNotify(const SwModify& rModify, const SfxHint& rH bool bContinue = true; // Check against the own attributes - if( pNewLRSpace && SfxItemState::SET == GetItemState( RES_LR_SPACE, false, - reinterpret_cast<const SfxPoolItem**>(&pOldLRSpace) )) + if( pNewLRSpace && (pOldLRSpace = GetItemIfSet( RES_LR_SPACE, false)) ) { if( pOldLRSpace != pNewLRSpace ) // Avoid recursion (SetAttr!) { @@ -254,8 +246,7 @@ void SwTextFormatColl::SwClientNotify(const SwModify& rModify, const SfxHint& rH } } - if( pNewULSpace && SfxItemState::SET == GetItemState( - RES_UL_SPACE, false, reinterpret_cast<const SfxPoolItem**>(&pOldULSpace) ) && + if( pNewULSpace && (pOldULSpace = GetItemIfSet(RES_UL_SPACE, false)) && pOldULSpace != pNewULSpace ) // Avoid recursion (SetAttr!) { SvxULSpaceItem aNew( *pOldULSpace ); @@ -288,8 +279,8 @@ void SwTextFormatColl::SwClientNotify(const SwModify& rModify, const SfxHint& rH for( int nC = 0; nC < int(SAL_N_ELEMENTS(aFontSizeArr)); ++nC ) { const SvxFontHeightItem *pFSize = aFontSizeArr[ nC ], *pOldFSize; - if( pFSize && SfxItemState::SET == GetItemState( - pFSize->Which(), false, reinterpret_cast<const SfxPoolItem**>(&pOldFSize) ) && + if( pFSize && (SfxItemState::SET == GetItemState( + pFSize->Which(), false, reinterpret_cast<const SfxPoolItem**>(&pOldFSize) )) && // Avoid recursion (SetAttr!) pFSize != pOldFSize ) { diff --git a/sw/source/core/doc/gctable.cxx b/sw/source/core/doc/gctable.cxx index 7f428dee033c..30937cadd541 100644 --- a/sw/source/core/doc/gctable.cxx +++ b/sw/source/core/doc/gctable.cxx @@ -33,10 +33,9 @@ static const SvxBorderLine* GetLineTB( const SvxBoxItem* pBox, bool bTop ) bool SwGCBorder_BoxBrd::CheckLeftBorderOfFormat( const SwFrameFormat& rFormat ) { - const SfxPoolItem* pItem; - if( SfxItemState::SET == rFormat.GetItemState( RES_BOX, true, &pItem ) ) + if( const SvxBoxItem* pItem = rFormat.GetItemIfSet( RES_BOX ) ) { - const SvxBorderLine* pBrd = static_cast<const SvxBoxItem*>(pItem)->GetLeft(); + const SvxBorderLine* pBrd = pItem->GetLeft(); if( pBrd ) { if( *m_pBorderLine == *pBrd ) @@ -100,13 +99,13 @@ static sal_uInt16 lcl_FindEndPosOfBorder( const SwCollectTableLineBoxes& rCollTL sal_uInt16 nPos, nLastPos = 0; for( size_t nEnd = rCollTLB.Count(); rStt < nEnd; ++rStt ) { - const SfxPoolItem* pItem; const SvxBorderLine* pBrd; const SwTableBox& rBox = rCollTLB.GetBox( rStt, &nPos ); + const SvxBoxItem* pItem = rBox.GetFrameFormat()->GetItemIfSet(RES_BOX); - if( SfxItemState::SET != rBox.GetFrameFormat()->GetItemState(RES_BOX,true, &pItem ) ) + if( !pItem ) break; - pBrd = GetLineTB( static_cast<const SvxBoxItem*>(pItem), bTop ); + pBrd = GetLineTB( pItem, bTop ); if( !pBrd || *pBrd != rBrdLn ) break; nLastPos = nPos; @@ -116,17 +115,18 @@ static sal_uInt16 lcl_FindEndPosOfBorder( const SwCollectTableLineBoxes& rCollTL static const SvxBorderLine* lcl_GCBorder_GetBorder( const SwTableBox& rBox, bool bTop, - const SfxPoolItem** ppItem ) + const SvxBoxItem** ppItem ) { - return SfxItemState::SET == rBox.GetFrameFormat()->GetItemState( RES_BOX, true, ppItem ) - ? GetLineTB( static_cast<const SvxBoxItem*>(*ppItem), bTop ) - : nullptr; + *ppItem = rBox.GetFrameFormat()->GetItemIfSet( RES_BOX ); + if (*ppItem) + return GetLineTB( *ppItem, bTop ); + return nullptr; } static void lcl_GCBorder_DelBorder( const SwCollectTableLineBoxes& rCollTLB, size_t& rStt, bool bTop, const SvxBorderLine& rLine, - const SfxPoolItem* pItem, + const SvxBoxItem* pItem, sal_uInt16 nEndPos, SwShareBoxFormats* pShareFormats ) { @@ -137,7 +137,7 @@ static void lcl_GCBorder_DelBorder( const SwCollectTableLineBoxes& rCollTLB, do { if( pLn && *pLn == rLine ) { - SvxBoxItem aBox( *static_cast<const SvxBoxItem*>(pItem) ); + SvxBoxItem aBox( *pItem ); if( bTop ) aBox.SetLine( nullptr, SvxBoxItemLine::TOP ); else @@ -169,7 +169,6 @@ void sw_GC_Line_Border( const SwTableLine* pLine, SwGCLineBorder* pGCPara ) { SwGCBorder_BoxBrd aBPara; const SvxBorderLine* pBrd; - const SfxPoolItem* pItem; const SwTableBoxes& rBoxes = pLine->GetTabBoxes(); for( SwTableBoxes::size_type n = 0, nBoxes = rBoxes.size() - 1; n < nBoxes; ++n ) { @@ -185,9 +184,9 @@ void sw_GC_Line_Border( const SwTableLine* pLine, SwGCLineBorder* pGCPara ) for( SwTableBoxes::size_type i = aBoxes.size(); i; ) { SwTableBox* pBox = aBoxes[ --i ]; - if( SfxItemState::SET == pBox->GetFrameFormat()->GetItemState( RES_BOX, true, &pItem ) ) + if( const SvxBoxItem* pItem = pBox->GetFrameFormat()->GetItemIfSet( RES_BOX ) ) { - pBrd = static_cast<const SvxBoxItem*>(pItem)->GetRight(); + pBrd = pItem->GetRight(); if( pBrd ) { aBPara.SetBorder( *pBrd ); @@ -195,7 +194,7 @@ void sw_GC_Line_Border( const SwTableLine* pLine, SwGCLineBorder* pGCPara ) if( lcl_GCBorder_ChkBoxBrd_B( pNextBox, &aBPara ) && aBPara.IsAnyBorderFound() ) { - SvxBoxItem aBox( *static_cast<const SvxBoxItem*>(pItem) ); + SvxBoxItem aBox( *pItem ); aBox.SetLine( nullptr, SvxBoxItemLine::RIGHT ); if( pGCPara->pShareFormats ) pGCPara->pShareFormats->SetAttr( *pBox, aBox ); @@ -231,7 +230,7 @@ void sw_GC_Line_Border( const SwTableLine* pLine, SwGCLineBorder* pGCPara ) const SwTableBox *pBtmBox = &aBottom.GetBox( nSttBtm++, &nBtmPos ); const SwTableBox *pTopBox = &aTop.GetBox( nSttTop++, &nTopPos ); - const SfxPoolItem *pBtmItem = nullptr, *pTopItem = nullptr; + const SvxBoxItem *pBtmItem = nullptr, *pTopItem = nullptr; const SvxBorderLine *pBtmLine(nullptr), *pTopLine(nullptr); bool bGetTopItem = true, bGetBtmItem = true; @@ -366,8 +365,7 @@ static bool lcl_MergeGCBox(SwTableBox* pTableBox, GCLinePara* pPara) { for (auto pBox : pCpyLine->GetTabBoxes()) { - SfxPoolItem const* pCellBrush(nullptr); - if (pBox->GetFrameFormat()->GetItemState(RES_BACKGROUND, true, &pCellBrush) != SfxItemState::SET) + if (pBox->GetFrameFormat()->GetItemState(RES_BACKGROUND) != SfxItemState::SET) { // set inner row background on inner cell pBox->ClaimFrameFormat(); pBox->GetFrameFormat()->SetFormatAttr(*pRowBrush); diff --git a/sw/source/core/doc/notxtfrm.cxx b/sw/source/core/doc/notxtfrm.cxx index 390aa6ecdbda..96ed231f8ab7 100644 --- a/sw/source/core/doc/notxtfrm.cxx +++ b/sw/source/core/doc/notxtfrm.cxx @@ -281,11 +281,10 @@ void SwNoTextFrame::PaintSwFrame(vcl::RenderContext& rRenderContext, SwRect cons { const SwFlyFreeFrame *pFly = static_cast< const SwFlyFreeFrame* >( pFindFly ); bool bGetUnclippedFrame=true; - const SfxPoolItem* pItem; - if( pFly->GetFormat() && SfxItemState::SET == pFly->GetFormat()->GetItemState(RES_BOX, false, &pItem) ) + const SvxBoxItem* pBoxItem; + if( pFly->GetFormat() && (pBoxItem = pFly->GetFormat()->GetItemIfSet(RES_BOX, false)) ) { - const SvxBoxItem& rBox = *static_cast<const SvxBoxItem*>(pItem); - if( rBox.HasBorder( /*bTreatPaddingAsBorder*/true) ) + if( pBoxItem->HasBorder( /*bTreatPaddingAsBorder*/true) ) bGetUnclippedFrame = false; } diff --git a/sw/source/core/doc/tblafmt.cxx b/sw/source/core/doc/tblafmt.cxx index d6807fb416dd..4504af19bdb7 100644 --- a/sw/source/core/doc/tblafmt.cxx +++ b/sw/source/core/doc/tblafmt.cxx @@ -532,8 +532,7 @@ void SwTableAutoFormat::UpdateFromSet( sal_uInt8 nPos, const SwTableBoxNumFormat* pNumFormatItem; const SvNumberformat* pNumFormat = nullptr; - if( SfxItemState::SET == rSet.GetItemState( RES_BOXATR_FORMAT, true, - reinterpret_cast<const SfxPoolItem**>(&pNumFormatItem) ) && pNFormatr && + if( pNFormatr && (pNumFormatItem = rSet.GetItemIfSet( RES_BOXATR_FORMAT )) && nullptr != (pNumFormat = pNFormatr->GetEntry( pNumFormatItem->GetValue() )) ) pFormat->SetValueFormat( pNumFormat->GetFormatstring(), pNumFormat->GetLanguage(), diff --git a/sw/source/core/doc/tblcpy.cxx b/sw/source/core/doc/tblcpy.cxx index 52d3348f2408..b685c265ddd5 100644 --- a/sw/source/core/doc/tblcpy.cxx +++ b/sw/source/core/doc/tblcpy.cxx @@ -623,12 +623,12 @@ static void lcl_CpyBox( const SwTable& rCpyTable, const SwTableBox* pCpyBox, if( !aBoxAttrSet.Count() ) return; - const SfxPoolItem* pItem; + const SwTableBoxNumFormat* pItem; SvNumberFormatter* pN = pDoc->GetNumberFormatter( false ); - if( pN && pN->HasMergeFormatTable() && SfxItemState::SET == aBoxAttrSet. - GetItemState( RES_BOXATR_FORMAT, false, &pItem ) ) + if( pN && pN->HasMergeFormatTable() && + (pItem = aBoxAttrSet.GetItemIfSet( RES_BOXATR_FORMAT, false )) ) { - sal_uLong nOldIdx = static_cast<const SwTableBoxNumFormat*>(pItem)->GetValue(); + sal_uLong nOldIdx = pItem->GetValue(); sal_uLong nNewIdx = pN->GetMergeFormatIndex( nOldIdx ); if( nNewIdx != nOldIdx ) aBoxAttrSet.Put( SwTableBoxNumFormat( nNewIdx )); diff --git a/sw/source/core/doc/tblrwcl.cxx b/sw/source/core/doc/tblrwcl.cxx index 8a825ff1f285..d92d7726f7b8 100644 --- a/sw/source/core/doc/tblrwcl.cxx +++ b/sw/source/core/doc/tblrwcl.cxx @@ -1908,12 +1908,12 @@ static void lcl_CopyBoxToDoc(FndBox_ const& rFndBox, CpyPara *const pCpyPara) aBoxAttrSet.Put(rFndBox.GetBox()->GetFrameFormat()->GetAttrSet()); if( aBoxAttrSet.Count() ) { - const SfxPoolItem* pItem; + const SwTableBoxNumFormat* pItem; SvNumberFormatter* pN = pCpyPara->rDoc.GetNumberFormatter( false ); - if( pN && pN->HasMergeFormatTable() && SfxItemState::SET == aBoxAttrSet. - GetItemState( RES_BOXATR_FORMAT, false, &pItem ) ) + if( pN && pN->HasMergeFormatTable() && (pItem = aBoxAttrSet. + GetItemIfSet( RES_BOXATR_FORMAT, false )) ) { - sal_uLong nOldIdx = static_cast<const SwTableBoxNumFormat*>(pItem)->GetValue(); + sal_uLong nOldIdx = pItem->GetValue(); sal_uLong nNewIdx = pN->GetMergeFormatIndex( nOldIdx ); if( nNewIdx != nOldIdx ) aBoxAttrSet.Put( SwTableBoxNumFormat( nNewIdx ));
