sw/source/filter/xml/xmlfmt.cxx | 8 +- sw/source/filter/xml/xmlfmte.cxx | 16 ++--- sw/source/filter/xml/xmlitem.cxx | 7 +- sw/source/filter/xml/xmliteme.cxx | 16 ++--- sw/source/filter/xml/xmltble.cxx | 108 ++++++++++++-------------------------- sw/source/filter/xml/xmltbli.cxx | 36 +++--------- 6 files changed, 64 insertions(+), 127 deletions(-)
New commits: commit 35dc4d32de59f14c388239449d4e89e0a5c4509b Author: Noel Grandin <noel.gran...@collabora.co.uk> AuthorDate: Wed Mar 9 09:00:05 2022 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Wed Mar 9 10:57:56 2022 +0100 use SfxItemSet::GetItemIfSet in sw/.../xml Change-Id: Id74876ca1217d8401798e8b43ca5464b3241d8c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131230 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/sw/source/filter/xml/xmlfmt.cxx b/sw/source/filter/xml/xmlfmt.cxx index e8dd4cb97861..d107828a2981 100644 --- a/sw/source/filter/xml/xmlfmt.cxx +++ b/sw/source/filter/xml/xmlfmt.cxx @@ -643,13 +643,11 @@ void SwXMLItemSetStyleContext_Impl::ConnectPageDesc() m_oItemSet.emplace( rItemPool, aTableSetRange ); } - const SfxPoolItem *pItem; std::unique_ptr<SwFormatPageDesc> pFormatPageDesc; - if( SfxItemState::SET == m_oItemSet->GetItemState( RES_PAGEDESC, false, - &pItem ) ) + if( const SwFormatPageDesc* pItem = m_oItemSet->GetItemIfSet( RES_PAGEDESC, false ) ) { - if( static_cast<const SwFormatPageDesc *>(pItem)->GetPageDesc() != pPageDesc ) - pFormatPageDesc.reset(new SwFormatPageDesc( *static_cast<const SwFormatPageDesc *>(pItem) )); + if( pItem->GetPageDesc() != pPageDesc ) + pFormatPageDesc.reset(new SwFormatPageDesc( *pItem )); } else pFormatPageDesc.reset(new SwFormatPageDesc()); diff --git a/sw/source/filter/xml/xmlfmte.cxx b/sw/source/filter/xml/xmlfmte.cxx index f7866c5290f8..60e650e48e72 100644 --- a/sw/source/filter/xml/xmlfmte.cxx +++ b/sw/source/filter/xml/xmlfmte.cxx @@ -81,13 +81,11 @@ void SwXMLExport::ExportFormat( const SwFormat& rFormat, enum XMLTokenEnum eFami // style:master-page-name if( RES_FRMFMT == rFormat.Which() && XML_TABLE == eFamily ) { - const SfxPoolItem *pItem; - if( SfxItemState::SET == rFormat.GetAttrSet().GetItemState( RES_PAGEDESC, - false, &pItem ) ) + if( const SwFormatPageDesc* pItem = rFormat.GetAttrSet().GetItemIfSet( RES_PAGEDESC, + false ) ) { OUString sName; - const SwPageDesc *pPageDesc = - static_cast<const SwFormatPageDesc *>(pItem)->GetPageDesc(); + const SwPageDesc *pPageDesc = pItem->GetPageDesc(); if( pPageDesc ) SwStyleNameMapper::FillProgName( pPageDesc->GetName(), @@ -102,12 +100,10 @@ void SwXMLExport::ExportFormat( const SwFormat& rFormat, enum XMLTokenEnum eFami { OSL_ENSURE(RES_FRMFMT == rFormat.Which(), "only frame format"); - const SfxPoolItem *pItem; - if( SfxItemState::SET == - rFormat.GetAttrSet().GetItemState( RES_BOXATR_FORMAT, - false, &pItem ) ) + if( const SwTableBoxNumFormat *pItem = + rFormat.GetAttrSet().GetItemIfSet( RES_BOXATR_FORMAT, false ) ) { - sal_Int32 nFormat = static_cast<sal_Int32>(static_cast<const SwTableBoxNumFormat *>(pItem)->GetValue()); + sal_Int32 nFormat = static_cast<sal_Int32>(pItem->GetValue()); if ( (nFormat != -1) && (nFormat != static_cast<sal_Int32>(getSwDefaultTextFormat())) ) { diff --git a/sw/source/filter/xml/xmlitem.cxx b/sw/source/filter/xml/xmlitem.cxx index 3bd1bad6b234..32c45bb5392e 100644 --- a/sw/source/filter/xml/xmlitem.cxx +++ b/sw/source/filter/xml/xmlitem.cxx @@ -81,13 +81,12 @@ SvXMLImportContextRef SwXMLItemSetContext::createFastChildContext( sal_Int32 nEl { case RES_BACKGROUND: { - const SfxPoolItem *pItem; - if( SfxItemState::SET == m_rItemSet.GetItemState( RES_BACKGROUND, - false, &pItem ) ) + if( const SvxBrushItem* pItem = m_rItemSet.GetItemIfSet( RES_BACKGROUND, + false ) ) { xContext = new SwXMLBrushItemImportContext( GetImport(), nElement, xAttrList, - m_rUnitConv, *static_cast<const SvxBrushItem *>(pItem) ); + m_rUnitConv, *pItem ); } else { diff --git a/sw/source/filter/xml/xmliteme.cxx b/sw/source/filter/xml/xmliteme.cxx index d60cc12b7d12..1d570b64a914 100644 --- a/sw/source/filter/xml/xmliteme.cxx +++ b/sw/source/filter/xml/xmliteme.cxx @@ -110,13 +110,11 @@ void SwXMLTableItemMapper_Impl::handleSpecialItem( case RES_PRINT: { - const SfxPoolItem *pItem; + const SvxPrintItem *pItem; if( pSet && - SfxItemState::SET == pSet->GetItemState( RES_PRINT, true, - &pItem ) ) + (pItem = pSet->GetItemIfSet( RES_PRINT )) ) { - bool bHasTextChangesOnly = - static_cast<const SvxPrintItem *>(pItem)->GetValue(); + bool bHasTextChangesOnly = pItem->GetValue(); if ( !bHasTextChangesOnly ) { OUString sValue; @@ -136,13 +134,11 @@ void SwXMLTableItemMapper_Impl::handleSpecialItem( case RES_LR_SPACE: { - const SfxPoolItem *pItem; + const SwFormatHoriOrient *pItem; if( pSet && - SfxItemState::SET == pSet->GetItemState( RES_HORI_ORIENT, true, - &pItem ) ) + (pItem = pSet->GetItemIfSet( RES_HORI_ORIENT )) ) { - sal_Int16 eHoriOrient = - static_cast<const SwFormatHoriOrient *>(pItem)->GetHoriOrient(); + sal_Int16 eHoriOrient = pItem->GetHoriOrient(); bool bExport = false; sal_uInt16 nMemberId = o3tl::narrowing<sal_uInt16>( rEntry.nMemberId & MID_SW_FLAG_MASK ); diff --git a/sw/source/filter/xml/xmltble.cxx b/sw/source/filter/xml/xmltble.cxx index 3a3409cd1b46..0da423d4e450 100644 --- a/sw/source/filter/xml/xmltble.cxx +++ b/sw/source/filter/xml/xmltble.cxx @@ -195,24 +195,12 @@ bool SwXMLTableFrameFormatsSort_Impl::AddRow( SwFrameFormat& rFrameFormat, std::u16string_view rNamePrefix, sal_uInt32 nLine ) { - const SwFormatFrameSize *pFrameSize = nullptr; - const SwFormatRowSplit* pRowSplit = nullptr; - const SvxBrushItem *pBrush = nullptr; - const SvxPrintItem *pHasTextChangesOnly = nullptr; - const SfxItemSet& rItemSet = rFrameFormat.GetAttrSet(); - const SfxPoolItem *pItem; - if( SfxItemState::SET == rItemSet.GetItemState( RES_FRM_SIZE, false, &pItem ) ) - pFrameSize = static_cast<const SwFormatFrameSize *>(pItem); - - if( SfxItemState::SET == rItemSet.GetItemState( RES_ROW_SPLIT, false, &pItem ) ) - pRowSplit = static_cast<const SwFormatRowSplit *>(pItem); - if( SfxItemState::SET == rItemSet.GetItemState( RES_BACKGROUND, false, &pItem ) ) - pBrush = static_cast<const SvxBrushItem *>(pItem); - - if( SfxItemState::SET == rItemSet.GetItemState( RES_PRINT, false, &pItem ) ) - pHasTextChangesOnly = static_cast<const SvxPrintItem *>(pItem); + const SwFormatFrameSize *pFrameSize = rItemSet.GetItemIfSet( RES_FRM_SIZE, false ); + const SwFormatRowSplit* pRowSplit = rItemSet.GetItemIfSet( RES_ROW_SPLIT, false ); + const SvxBrushItem *pBrush = rItemSet.GetItemIfSet( RES_BACKGROUND, false ); + const SvxPrintItem *pHasTextChangesOnly = rItemSet.GetItemIfSet( RES_PRINT, false); // empty styles have not to be exported if( !pFrameSize && !pBrush && !pRowSplit && !pHasTextChangesOnly ) @@ -229,13 +217,12 @@ bool SwXMLTableFrameFormatsSort_Impl::AddRow( SwFrameFormat& rFrameFormat, const SvxPrintItem *pTestHasTextChangesOnly = nullptr; const SwFrameFormat *pTestFormat = *i; const SfxItemSet& rTestSet = pTestFormat->GetAttrSet(); - if( SfxItemState::SET == rTestSet.GetItemState( RES_FRM_SIZE, false, - &pItem ) ) + if( const SwFormatFrameSize* pItem = rTestSet.GetItemIfSet( RES_FRM_SIZE, false ) ) { if( !pFrameSize ) break; - pTestFrameSize = static_cast<const SwFormatFrameSize *>(pItem); + pTestFrameSize = pItem; } else { @@ -243,13 +230,12 @@ bool SwXMLTableFrameFormatsSort_Impl::AddRow( SwFrameFormat& rFrameFormat, continue; } - if( SfxItemState::SET == rTestSet.GetItemState( RES_BACKGROUND, false, - &pItem ) ) + if( const SvxBrushItem* pItem = rTestSet.GetItemIfSet( RES_BACKGROUND, false) ) { if( !pBrush ) break; - pTestBrush = static_cast<const SvxBrushItem *>(pItem); + pTestBrush = pItem; } else { @@ -257,13 +243,12 @@ bool SwXMLTableFrameFormatsSort_Impl::AddRow( SwFrameFormat& rFrameFormat, continue; } - if( SfxItemState::SET == rTestSet.GetItemState( RES_ROW_SPLIT, false, - &pItem ) ) + if( const SwFormatRowSplit* pItem = rTestSet.GetItemIfSet( RES_ROW_SPLIT, false ) ) { if( !pRowSplit ) break; - pTestRowSplit = static_cast<const SwFormatRowSplit *>(pItem); + pTestRowSplit = pItem; } else { @@ -271,13 +256,12 @@ bool SwXMLTableFrameFormatsSort_Impl::AddRow( SwFrameFormat& rFrameFormat, continue; } - if( SfxItemState::SET == rTestSet.GetItemState( RES_PRINT, false, - &pItem ) ) + if( const SvxPrintItem* pItem = rTestSet.GetItemIfSet( RES_PRINT, false ) ) { if( !pHasTextChangesOnly ) break; - pTestHasTextChangesOnly = static_cast<const SvxPrintItem *>(pItem); + pTestHasTextChangesOnly = pItem; } else { @@ -333,34 +317,16 @@ bool SwXMLTableFrameFormatsSort_Impl::AddCell( SwFrameFormat& rFrameFormat, std::u16string_view rNamePrefix, sal_uInt32 nCol, sal_uInt32 nRow, bool bTop ) { - const SwFormatVertOrient *pVertOrient = nullptr; - const SvxBrushItem *pBrush = nullptr; - const SvxBoxItem *pBox = nullptr; - const SwTableBoxNumFormat *pNumFormat = nullptr; - const SvxFrameDirectionItem *pFrameDir = nullptr; - const SvXMLAttrContainerItem *pAttCnt = nullptr; - const SfxItemSet& rItemSet = rFrameFormat.GetAttrSet(); - const SfxPoolItem *pItem; - if( SfxItemState::SET == rItemSet.GetItemState( RES_VERT_ORIENT, false, - &pItem ) ) - pVertOrient = static_cast<const SwFormatVertOrient *>(pItem); - - if( SfxItemState::SET == rItemSet.GetItemState( RES_BACKGROUND, false, &pItem ) ) - pBrush = static_cast<const SvxBrushItem *>(pItem); - - if( SfxItemState::SET == rItemSet.GetItemState( RES_BOX, false, &pItem ) ) - pBox = static_cast<const SvxBoxItem *>(pItem); - - if ( SfxItemState::SET == rItemSet.GetItemState( RES_BOXATR_FORMAT, - false, &pItem ) ) - pNumFormat = static_cast<const SwTableBoxNumFormat *>(pItem); - if ( SfxItemState::SET == rItemSet.GetItemState( RES_FRAMEDIR, - false, &pItem ) ) - pFrameDir = static_cast<const SvxFrameDirectionItem *>(pItem); - if ( SfxItemState::SET == rItemSet.GetItemState( RES_UNKNOWNATR_CONTAINER, - false, &pItem ) ) - pAttCnt = static_cast<const SvXMLAttrContainerItem *>(pItem); + const SwFormatVertOrient *pVertOrient = rItemSet.GetItemIfSet( RES_VERT_ORIENT, false ); + const SvxBrushItem *pBrush = rItemSet.GetItemIfSet( RES_BACKGROUND, false ); + const SvxBoxItem *pBox = rItemSet.GetItemIfSet( RES_BOX, false ); + const SwTableBoxNumFormat *pNumFormat = rItemSet.GetItemIfSet( RES_BOXATR_FORMAT, + false ); + const SvxFrameDirectionItem *pFrameDir = rItemSet.GetItemIfSet( RES_FRAMEDIR, + false ); + const SvXMLAttrContainerItem *pAttCnt = rItemSet.GetItemIfSet( RES_UNKNOWNATR_CONTAINER, + false ); // empty styles have not to be exported if( !pVertOrient && !pBrush && !pBox && !pNumFormat && !pFrameDir && !pAttCnt ) @@ -384,13 +350,12 @@ bool SwXMLTableFrameFormatsSort_Impl::AddCell( SwFrameFormat& rFrameFormat, const SvXMLAttrContainerItem *pTestAttCnt = nullptr; const SwFrameFormat* pTestFormat = *i; const SfxItemSet& rTestSet = pTestFormat->GetAttrSet(); - if( SfxItemState::SET == rTestSet.GetItemState( RES_VERT_ORIENT, false, - &pItem ) ) + if( const SwFormatVertOrient* pItem = rTestSet.GetItemIfSet( RES_VERT_ORIENT, false ) ) { if( !pVertOrient ) break; - pTestVertOrient = static_cast<const SwFormatVertOrient *>(pItem); + pTestVertOrient = pItem; } else { @@ -398,13 +363,12 @@ bool SwXMLTableFrameFormatsSort_Impl::AddCell( SwFrameFormat& rFrameFormat, continue; } - if( SfxItemState::SET == rTestSet.GetItemState( RES_BACKGROUND, false, - &pItem ) ) + if( const SvxBrushItem* pItem = rTestSet.GetItemIfSet( RES_BACKGROUND, false ) ) { if( !pBrush ) break; - pTestBrush = static_cast<const SvxBrushItem *>(pItem); + pTestBrush = pItem; } else { @@ -412,12 +376,12 @@ bool SwXMLTableFrameFormatsSort_Impl::AddCell( SwFrameFormat& rFrameFormat, continue; } - if( SfxItemState::SET == rTestSet.GetItemState( RES_BOX, false, &pItem ) ) + if( const SvxBoxItem* pItem = rTestSet.GetItemIfSet( RES_BOX, false ) ) { if( !pBox ) break; - pTestBox = static_cast<const SvxBoxItem *>(pItem); + pTestBox = pItem; } else { @@ -425,13 +389,13 @@ bool SwXMLTableFrameFormatsSort_Impl::AddCell( SwFrameFormat& rFrameFormat, continue; } - if ( SfxItemState::SET == rTestSet.GetItemState( RES_BOXATR_FORMAT, - false, &pItem ) ) + if ( const SwTableBoxNumFormat* pItem = rTestSet.GetItemIfSet( RES_BOXATR_FORMAT, + false ) ) { if( !pNumFormat ) break; - pTestNumFormat = static_cast<const SwTableBoxNumFormat *>(pItem); + pTestNumFormat = pItem; } else { @@ -440,13 +404,13 @@ bool SwXMLTableFrameFormatsSort_Impl::AddCell( SwFrameFormat& rFrameFormat, } - if ( SfxItemState::SET == rTestSet.GetItemState( RES_FRAMEDIR, - false, &pItem ) ) + if ( const SvxFrameDirectionItem* pItem = rTestSet.GetItemIfSet( RES_FRAMEDIR, + false ) ) { if( !pFrameDir ) break; - pTestFrameDir = static_cast<const SvxFrameDirectionItem *>(pItem); + pTestFrameDir = pItem; } else { @@ -455,13 +419,13 @@ bool SwXMLTableFrameFormatsSort_Impl::AddCell( SwFrameFormat& rFrameFormat, } - if ( SfxItemState::SET == rTestSet.GetItemState( RES_UNKNOWNATR_CONTAINER, - false, &pItem ) ) + if ( const SvXMLAttrContainerItem* pItem = rTestSet.GetItemIfSet( RES_UNKNOWNATR_CONTAINER, + false ) ) { if( !pAttCnt ) break; - pTestAttCnt = static_cast<const SvXMLAttrContainerItem *>(pItem); + pTestAttCnt = pItem; } else { diff --git a/sw/source/filter/xml/xmltbli.cxx b/sw/source/filter/xml/xmltbli.cxx index 2b02a1360a94..006e747dc264 100644 --- a/sw/source/filter/xml/xmltbli.cxx +++ b/sw/source/filter/xml/xmltbli.cxx @@ -697,16 +697,14 @@ SwXMLTableColContext_Impl::SwXMLTableColContext_Impl( bool bRelWidth = true; if( !aStyleName.isEmpty() ) { - const SfxPoolItem *pItem; + const SwFormatFrameSize *pSize; const SfxItemSet *pAutoItemSet = nullptr; if( GetSwImport().FindAutomaticStyle( XmlStyleFamily::TABLE_COLUMN, aStyleName, &pAutoItemSet ) && pAutoItemSet && - SfxItemState::SET == pAutoItemSet->GetItemState( RES_FRM_SIZE, false, - &pItem ) ) + (pSize = pAutoItemSet->GetItemIfSet( RES_FRM_SIZE, false )) ) { - const SwFormatFrameSize *pSize = static_cast<const SwFormatFrameSize *>(pItem); nWidth = pSize->GetWidth(); bRelWidth = SwFrameSize::Variable == pSize->GetHeightSizeType(); } @@ -1910,12 +1908,8 @@ SwTableBox *SwXMLTableContext::MakeTableBox( !sStyleName.isEmpty() ) { // default num format? - const SfxPoolItem* pItem = nullptr; - if( pBoxFormat2->GetItemState( RES_BOXATR_FORMAT, false, &pItem ) - == SfxItemState::SET ) + if( const SwTableBoxNumFormat* pNumFormat = pBoxFormat2->GetItemIfSet( RES_BOXATR_FORMAT, false ) ) { - const SwTableBoxNumFormat* pNumFormat = - static_cast<const SwTableBoxNumFormat*>( pItem ); if (pNumFormat && (pNumFormat->GetValue() % SV_COUNTRY_LANGUAGE_OFFSET) == 0) { // only one text node? @@ -1965,15 +1959,11 @@ SwTableBox *SwXMLTableContext::MakeTableBox( // No value but a non-textual format, i.e. a number format // Solution: the number format will be removed, // the cell gets the default text format. - const SfxPoolItem* pItem = nullptr; - if( m_pBoxFormat->GetItemState( RES_BOXATR_FORMAT, false, &pItem ) - == SfxItemState::SET ) + if( const SwTableBoxNumFormat* pNumFormat = m_pBoxFormat->GetItemIfSet( RES_BOXATR_FORMAT, false ) ) { const SwDoc* pDoc = m_pBoxFormat->GetDoc(); const SvNumberFormatter* pNumberFormatter = pDoc ? pDoc->GetNumberFormatter() : nullptr; - const SwTableBoxNumFormat* pNumFormat = - static_cast<const SwTableBoxNumFormat*>( pItem ); if( pNumFormat != nullptr && pNumberFormatter && !pNumberFormatter->GetEntry( pNumFormat->GetValue() )->IsTextFormat() ) m_pBoxFormat->ResetFormatAttr( RES_BOXATR_FORMAT ); @@ -2512,16 +2502,12 @@ void SwXMLTableContext::MakeTable() XmlStyleFamily::TABLE_TABLE, m_aStyleName, &pAutoItemSet ) && pAutoItemSet ) { - const SfxPoolItem *pItem; - const SvxLRSpaceItem *pLRSpace = nullptr; - if( SfxItemState::SET == pAutoItemSet->GetItemState( RES_LR_SPACE, false, - &pItem ) ) - pLRSpace = static_cast<const SvxLRSpaceItem *>(pItem); + const SvxLRSpaceItem *pLRSpace = + pAutoItemSet->GetItemIfSet( RES_LR_SPACE, false ); - if( SfxItemState::SET == pAutoItemSet->GetItemState( RES_HORI_ORIENT, false, - &pItem ) ) + if( const SwFormatHoriOrient* pItem = pAutoItemSet->GetItemIfSet( RES_HORI_ORIENT, false ) ) { - eHoriOrient = static_cast<const SwFormatHoriOrient *>(pItem)->GetHoriOrient(); + eHoriOrient = pItem->GetHoriOrient(); switch( eHoriOrient ) { case text::HoriOrientation::FULL: @@ -2547,10 +2533,8 @@ void SwXMLTableContext::MakeTable() bSetHoriOrient = true; } - const SwFormatFrameSize *pSize = nullptr; - if( SfxItemState::SET == pAutoItemSet->GetItemState( RES_FRM_SIZE, false, - &pItem ) ) - pSize = static_cast<const SwFormatFrameSize *>(pItem); + const SwFormatFrameSize *pSize = + pAutoItemSet->GetItemIfSet( RES_FRM_SIZE, false ); switch( eHoriOrient ) {