sw/source/core/draw/dcontact.cxx | 4 ++-- sw/source/core/edit/autofmt.cxx | 27 +++++++++++---------------- sw/source/core/edit/edfcol.cxx | 12 +++++------- sw/source/core/edit/edfmt.cxx | 8 ++++---- sw/source/core/edit/edtab.cxx | 7 +++---- sw/source/core/fields/cellfml.cxx | 15 +++++++-------- sw/source/core/frmedt/fefly1.cxx | 26 ++++++++++++-------------- sw/source/core/frmedt/tblsel.cxx | 9 +++------ 8 files changed, 47 insertions(+), 61 deletions(-)
New commits: commit c35a59ae2e26ee30b036d3946a9be26e981838b7 Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Wed Mar 2 17:56:27 2022 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Thu Mar 3 08:53:07 2022 +0100 use SfxItemSet::GetItemIfSet in sw/source/core/firlds Change-Id: I25d46d8435b8a95ac8809b9f67a6c3a9b14dd26e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130878 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sw/source/core/draw/dcontact.cxx b/sw/source/core/draw/dcontact.cxx index 7040a741076c..f698309e4775 100644 --- a/sw/source/core/draw/dcontact.cxx +++ b/sw/source/core/draw/dcontact.cxx @@ -1404,8 +1404,8 @@ namespace const SwFormatAnchor* pAnchorFormat = nullptr; if ( RES_ATTRSET_CHG == nWhich ) { - static_cast<const SwAttrSetChg&>(_rItem).GetChgSet()-> - GetItemState( RES_ANCHOR, false, reinterpret_cast<const SfxPoolItem**>(&pAnchorFormat) ); + pAnchorFormat = static_cast<const SwAttrSetChg&>(_rItem).GetChgSet()-> + GetItemIfSet( RES_ANCHOR, false ); } else if ( RES_ANCHOR == nWhich ) { diff --git a/sw/source/core/edit/autofmt.cxx b/sw/source/core/edit/autofmt.cxx index 6df314ae55c2..60c14ad81d17 100644 --- a/sw/source/core/edit/autofmt.cxx +++ b/sw/source/core/edit/autofmt.cxx @@ -1012,9 +1012,7 @@ void SwAutoFormat::SetColl( sal_uInt16 nId, bool bHdLineOrText ) { aSet.Put(*m_aDelPam.GetPoint()->nNode.GetNode().GetTextNode()->GetpSwAttrSet()); // take HeaderLine/TextBody only if centered or right aligned, otherwise only justification - SvxAdjustItem const * pAdj; - if( SfxItemState::SET == aSet.GetItemState( RES_PARATR_ADJUST, - false, reinterpret_cast<const SfxPoolItem**>(&pAdj) )) + if( SvxAdjustItem const * pAdj = aSet.GetItemIfSet( RES_PARATR_ADJUST, false) ) { SvxAdjust eAdj = pAdj->GetAdjust(); if( bHdLineOrText ? (SvxAdjust::Right != eAdj && @@ -1053,14 +1051,13 @@ bool SwAutoFormat::HasBreakAttr(const SwTextFrame& rTextFrame) if( !pSet ) return false; - const SfxPoolItem* pItem; - if( SfxItemState::SET == pSet->GetItemState( RES_BREAK, false, &pItem ) - && SvxBreak::NONE != static_cast<const SvxFormatBreakItem*>(pItem)->GetBreak() ) + const SvxFormatBreakItem* pBreakItem = pSet->GetItemIfSet( RES_BREAK, false ); + if( pBreakItem && SvxBreak::NONE != pBreakItem->GetBreak() ) return true; - if( SfxItemState::SET == pSet->GetItemState( RES_PAGEDESC, false, &pItem ) - && static_cast<const SwFormatPageDesc*>(pItem)->GetPageDesc() - && UseOnPage::NONE != static_cast<const SwFormatPageDesc*>(pItem)->GetPageDesc()->GetUseOn() ) + const SwFormatPageDesc* pItem = pSet->GetItemIfSet( RES_PAGEDESC, false ); + if( pItem && pItem->GetPageDesc() + && UseOnPage::NONE != pItem->GetPageDesc()->GetUseOn() ) return true; return false; } @@ -2427,10 +2424,9 @@ SwAutoFormat::SwAutoFormat( SwEditShell* pEdShell, SvxSwAutoFormatFlags const & RES_POOLCOLL_STANDARD == nPoolId ) { short nSz; - SvxLRSpaceItem const * pLRSpace; - if (SfxItemState::SET == m_pCurTextFrame->GetTextNodeForParaProps()->GetSwAttrSet(). - GetItemState( RES_LR_SPACE, true, - reinterpret_cast<const SfxPoolItem**>(&pLRSpace) ) && + SvxLRSpaceItem const * pLRSpace = m_pCurTextFrame->GetTextNodeForParaProps()->GetSwAttrSet(). + GetItemIfSet( RES_LR_SPACE ); + if (pLRSpace && ( 0 != (nSz = pLRSpace->GetTextFirstLineOffset()) || 0 != pLRSpace->GetTextLeft() ) ) { @@ -2663,9 +2659,8 @@ SwAutoFormat::SwAutoFormat( SwEditShell* pEdShell, SvxSwAutoFormatFlags const & short nSz; SvxLRSpaceItem const * pLRSpace; if( bReplaceStyles && - SfxItemState::SET == m_pCurTextFrame->GetTextNodeForParaProps()->GetSwAttrSet(). - GetItemState( RES_LR_SPACE, false, - reinterpret_cast<const SfxPoolItem**>(&pLRSpace) ) && + (pLRSpace = m_pCurTextFrame->GetTextNodeForParaProps()->GetSwAttrSet(). + GetItemIfSet( RES_LR_SPACE, false )) && ( 0 != (nSz = pLRSpace->GetTextFirstLineOffset()) || 0 != pLRSpace->GetTextLeft() ) ) { diff --git a/sw/source/core/edit/edfcol.cxx b/sw/source/core/edit/edfcol.cxx index f42df251b21c..61cfd7d9a923 100644 --- a/sw/source/core/edit/edfcol.cxx +++ b/sw/source/core/edit/edfcol.cxx @@ -2309,13 +2309,12 @@ void SwEditShell::FillByEx(SwTextFormatColl* pColl) // Bug 57568 // Do NOT copy AutoNumRules into the template - const SfxPoolItem* pItem; + const SwNumRuleItem* pItem; const SwNumRule* pRule = nullptr; if (SfxItemState::SET == pSet->GetItemState(RES_BREAK, false) || SfxItemState::SET == pSet->GetItemState(RES_PAGEDESC, false) - || (SfxItemState::SET == pSet->GetItemState(RES_PARATR_NUMRULE, false, &pItem) - && nullptr != (pRule = GetDoc()->FindNumRulePtr( - static_cast<const SwNumRuleItem*>(pItem)->GetValue())) + || ((pItem = pSet->GetItemIfSet(RES_PARATR_NUMRULE, false)) + && nullptr != (pRule = GetDoc()->FindNumRulePtr(pItem->GetValue())) && pRule->IsAutoRule())) { SfxItemSet aSet( *pSet ); @@ -2323,9 +2322,8 @@ void SwEditShell::FillByEx(SwTextFormatColl* pColl) aSet.ClearItem( RES_PAGEDESC ); if (pRule - || (SfxItemState::SET == pSet->GetItemState(RES_PARATR_NUMRULE, false, &pItem) - && nullptr != (pRule = GetDoc()->FindNumRulePtr( - static_cast<const SwNumRuleItem*>(pItem)->GetValue())) + || ((pItem = pSet->GetItemIfSet(RES_PARATR_NUMRULE, false)) + && nullptr != (pRule = GetDoc()->FindNumRulePtr(pItem->GetValue())) && pRule->IsAutoRule())) aSet.ClearItem( RES_PARATR_NUMRULE ); diff --git a/sw/source/core/edit/edfmt.cxx b/sw/source/core/edit/edfmt.cxx index ea9bd667110f..f43fa05cd670 100644 --- a/sw/source/core/edit/edfmt.cxx +++ b/sw/source/core/edit/edfmt.cxx @@ -41,10 +41,10 @@ SwCharFormat* SwEditShell::GetCurCharFormat() const { SwCharFormat *pFormat = nullptr; SfxItemSetFixed<RES_TXTATR_CHARFMT, RES_TXTATR_CHARFMT> aSet( GetDoc()->GetAttrPool() ); - const SfxPoolItem* pItem; - if( GetCurAttr( aSet ) && SfxItemState::SET == - aSet.GetItemState( RES_TXTATR_CHARFMT, false, &pItem ) ) - pFormat = static_cast<const SwFormatCharFormat*>(pItem)->GetCharFormat(); + const SwFormatCharFormat* pItem; + if( GetCurAttr( aSet ) && + (pItem = aSet.GetItemIfSet( RES_TXTATR_CHARFMT, false ) ) ) + pFormat = pItem->GetCharFormat(); return pFormat; } diff --git a/sw/source/core/edit/edtab.cxx b/sw/source/core/edit/edtab.cxx index 3ac95530292f..30cb3b412063 100644 --- a/sw/source/core/edit/edtab.cxx +++ b/sw/source/core/edit/edtab.cxx @@ -396,11 +396,10 @@ bool SwEditShell::IsTableBoxTextFormat() const return false; sal_uInt32 nFormat = 0; - const SfxPoolItem* pItem; - if( SfxItemState::SET == pBox->GetFrameFormat()->GetAttrSet().GetItemState( - RES_BOXATR_FORMAT, true, &pItem )) + if( const SwTableBoxNumFormat* pItem = pBox->GetFrameFormat()->GetAttrSet().GetItemIfSet( + RES_BOXATR_FORMAT )) { - nFormat = static_cast<const SwTableBoxNumFormat*>(pItem)->GetValue(); + nFormat = pItem->GetValue(); return GetDoc()->GetNumberFormatter()->IsTextFormat( nFormat ); } diff --git a/sw/source/core/fields/cellfml.cxx b/sw/source/core/fields/cellfml.cxx index f74b80401596..5c9632a7fb96 100644 --- a/sw/source/core/fields/cellfml.cxx +++ b/sw/source/core/fields/cellfml.cxx @@ -109,17 +109,16 @@ double SwTableBox::GetValue( SwTableCalcPara& rCalcPara ) const // will be removed from stack at the end. SwDoc* pDoc = GetFrameFormat()->GetDoc(); - const SfxPoolItem* pItem; - if( SfxItemState::SET == GetFrameFormat()->GetItemState( - RES_BOXATR_FORMULA, false, &pItem ) ) + if( const SwTableBoxFormula* pFormulaItem = GetFrameFormat()->GetItemIfSet( + RES_BOXATR_FORMULA, false ) ) { rCalcPara.m_rCalc.SetCalcError( SwCalcError::NONE ); // reset status - if( !static_cast<const SwTableBoxFormula*>(pItem)->IsValid() ) + if( !pFormulaItem->IsValid() ) { // calculate const SwTable* pTmp = rCalcPara.m_pTable; rCalcPara.m_pTable = &pBox->GetSttNd()->FindTableNode()->GetTable(); - const_cast<SwTableBoxFormula*>(static_cast<const SwTableBoxFormula*>(pItem))->Calc( rCalcPara, nRet ); + const_cast<SwTableBoxFormula*>(pFormulaItem)->Calc( rCalcPara, nRet ); if( !rCalcPara.IsStackOverflow() ) { @@ -136,11 +135,11 @@ double SwTableBox::GetValue( SwTableCalcPara& rCalcPara ) const nRet = GetFrameFormat()->GetTableBoxValue().GetValue(); break; } - else if( SfxItemState::SET == pBox->GetFrameFormat()->GetItemState( - RES_BOXATR_VALUE, false, &pItem ) ) + else if( const SwTableBoxValue* pBoxValueItem = pBox->GetFrameFormat()->GetItemIfSet( + RES_BOXATR_VALUE, false ) ) { rCalcPara.m_rCalc.SetCalcError( SwCalcError::NONE ); // reset status - nRet = static_cast<const SwTableBoxValue*>(pItem)->GetValue(); + nRet = pBoxValueItem->GetValue(); break; } diff --git a/sw/source/core/frmedt/fefly1.cxx b/sw/source/core/frmedt/fefly1.cxx index e5d66afd9f73..b6d7016dd8bc 100644 --- a/sw/source/core/frmedt/fefly1.cxx +++ b/sw/source/core/frmedt/fefly1.cxx @@ -741,19 +741,20 @@ const SwFrameFormat *SwFEShell::NewFlyFrame( const SfxItemSet& rSet, bool bAnchV pOldAnchor.reset(new SwFormatAnchor( rAnch )); const_cast<SfxItemSet&>(rSet).Put( SwFormatAnchor( RndStdIds::FLY_AT_PAGE, 1 ) ); - const SfxPoolItem* pItem; - if( SfxItemState::SET == rSet.GetItemState( RES_HORI_ORIENT, false, &pItem ) - && text::HoriOrientation::NONE == static_cast<const SwFormatHoriOrient*>(pItem)->GetHoriOrient() ) + const SwFormatHoriOrient* pHoriOrientItem; + if( (pHoriOrientItem = rSet.GetItemIfSet( RES_HORI_ORIENT, false )) + && text::HoriOrientation::NONE == pHoriOrientItem->GetHoriOrient() ) { bHOriChgd = true; - aOldH.reset(static_cast<SwFormatHoriOrient*>(pItem->Clone())); + aOldH.reset(pHoriOrientItem->Clone()); const_cast<SfxItemSet&>(rSet).Put( SwFormatHoriOrient( 0, text::HoriOrientation::LEFT ) ); } - if( SfxItemState::SET == rSet.GetItemState( RES_VERT_ORIENT, false, &pItem ) - && text::VertOrientation::NONE == static_cast<const SwFormatVertOrient*>(pItem)->GetVertOrient() ) + const SwFormatVertOrient* pVertOrientItem; + if( (pVertOrientItem = rSet.GetItemIfSet( RES_VERT_ORIENT, false )) + && text::VertOrientation::NONE == pVertOrientItem->GetVertOrient() ) { bVOriChgd = true; - aOldV.reset(static_cast<SwFormatVertOrient*>(pItem->Clone())); + aOldV.reset(pVertOrientItem->Clone()); const_cast<SfxItemSet&>(rSet).Put( SwFormatVertOrient( 0, text::VertOrientation::TOP ) ); } } @@ -850,11 +851,9 @@ void SwFEShell::Insert( const OUString& rGrfName, const OUString& rFltName, // Has the anchor not been set or been set incompletely? if( pFlyAttrSet ) { - const SfxPoolItem* pItem; - if( SfxItemState::SET == pFlyAttrSet->GetItemState( RES_ANCHOR, false, - &pItem ) ) + if( const SwFormatAnchor* pItem = pFlyAttrSet->GetItemIfSet( RES_ANCHOR, false ) ) { - SwFormatAnchor* pAnchor = const_cast<SwFormatAnchor*>(static_cast<const SwFormatAnchor*>(pItem)); + SwFormatAnchor* pAnchor = const_cast<SwFormatAnchor*>(pItem); switch( pAnchor->GetAnchorId()) { case RndStdIds::FLY_AT_PARA: @@ -1075,10 +1074,9 @@ bool SwFEShell::GetFlyFrameAttr( SfxItemSet &rSet ) const // now examine all attributes. Remove forbidden attributes, then // get all remaining attributes and enter them - const SfxPoolItem* pItem; - if( SfxItemState::SET == rSet.GetItemState( RES_ANCHOR, false, &pItem ) ) + + if( const SwFormatAnchor* pAnchor = rSet.GetItemIfSet( RES_ANCHOR, false ) ) { - const SwFormatAnchor* pAnchor = static_cast<const SwFormatAnchor*>(pItem); RndStdIds eType = pAnchor->GetAnchorId(); if ( RndStdIds::FLY_AT_PAGE != eType ) diff --git a/sw/source/core/frmedt/tblsel.cxx b/sw/source/core/frmedt/tblsel.cxx index 80b797384859..984b59186109 100644 --- a/sw/source/core/frmedt/tblsel.cxx +++ b/sw/source/core/frmedt/tblsel.cxx @@ -1054,16 +1054,13 @@ void GetMergeSel( const SwPaM& rPam, SwSelBoxes& rBoxes, aNew.SetWidth( nLeft ); pBox->GetFrameFormat()->SetFormatAttr( aNew ); + if( const SvxBoxItem* pItem = pBox->GetFrameFormat()->GetAttrSet() + .GetItemIfSet( RES_BOX, false )) { - const SfxPoolItem* pItem; - if( SfxItemState::SET == pBox->GetFrameFormat()->GetAttrSet() - .GetItemState( RES_BOX, false, &pItem )) - { - SvxBoxItem aBox( *static_cast<const SvxBoxItem*>(pItem) ); + SvxBoxItem aBox( *pItem ); aBox.SetLine( nullptr, SvxBoxItemLine::RIGHT ); pBox->GetFrameFormat()->SetFormatAttr( aBox ); } - } pBox = pBox->GetUpper()->GetTabBoxes()[ nInsPos ]; aNew.SetWidth( nWidth );