summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2018-08-23 15:43:40 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-08-24 08:55:14 +0200
commite8e558488217b8d2c381191389f2a785aaa5ca27 (patch)
treeed93f63487fb670fd3d0a9f3a55d19c39eaa7f82
parent68b9553d44769947dfe3899b396d9236d4406ddf (diff)
pass DelFormats around using std::vector
instead of an array and a separate count Change-Id: Ia12a549da7e35092da2db35f8b2b9fc6a9e9c2be Reviewed-on: https://gerrit.libreoffice.org/59506 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--cui/source/tabpages/numfmt.cxx8
-rw-r--r--dbaccess/source/ui/misc/UITools.cxx8
-rw-r--r--extensions/source/propctrlr/formcomponenthandler.cxx8
-rw-r--r--include/svx/numfmtsh.hxx3
-rw-r--r--include/svx/numinf.hxx10
-rw-r--r--sc/source/ui/view/tabvwsh5.cxx11
-rw-r--r--svx/source/items/numfmtsh.cxx16
-rw-r--r--svx/source/items/numinf.cxx62
-rw-r--r--sw/source/uibase/shells/tabsh.cxx19
-rw-r--r--sw/source/uibase/utlui/numfmtlb.cxx8
10 files changed, 37 insertions, 116 deletions
diff --git a/cui/source/tabpages/numfmt.cxx b/cui/source/tabpages/numfmt.cxx
index 9e518219d7d5..304bfbe6187f 100644
--- a/cui/source/tabpages/numfmt.cxx
+++ b/cui/source/tabpages/numfmt.cxx
@@ -757,14 +757,12 @@ bool SvxNumberFormatTabPage::FillItemSet( SfxItemSet* rCoreAttrs )
// List of changed user defined formats:
- const size_t nDelCount = pNumFmtShell->GetUpdateDataCount();
+ std::vector<sal_uInt32> const & aDelFormats = pNumFmtShell->GetUpdateData();
- if ( nDelCount > 0 )
+ if ( !aDelFormats.empty() )
{
- std::unique_ptr<sal_uInt32[]> pDelArr(new sal_uInt32[nDelCount]);
- pNumFmtShell->GetUpdateData( pDelArr.get(), nDelCount );
- pNumItem->SetDelFormatArray( pDelArr.get(), nDelCount );
+ pNumItem->SetDelFormats( aDelFormats );
if(bNumItemFlag)
{
diff --git a/dbaccess/source/ui/misc/UITools.cxx b/dbaccess/source/ui/misc/UITools.cxx
index 24210c560bda..6643ca7a3dea 100644
--- a/dbaccess/source/ui/misc/UITools.cxx
+++ b/dbaccess/source/ui/misc/UITools.cxx
@@ -873,12 +873,10 @@ bool callColumnFormatDialog(vcl::Window* _pParent,
{
const SfxPoolItem* pItem = pResult->GetItem( SID_ATTR_NUMBERFORMAT_INFO );
const SvxNumberInfoItem* pInfoItem = static_cast<const SvxNumberInfoItem*>(pItem);
- if (pInfoItem && pInfoItem->GetDelCount())
+ if (pInfoItem)
{
- const sal_uInt32* pDeletedKeys = pInfoItem->GetDelArray();
-
- for (sal_uInt32 i=0; i< pInfoItem->GetDelCount(); ++i)
- _pFormatter->DeleteEntry(pDeletedKeys[i]);
+ for (sal_uInt32 key : pInfoItem->GetDelFormats())
+ _pFormatter->DeleteEntry(key);
}
}
}
diff --git a/extensions/source/propctrlr/formcomponenthandler.cxx b/extensions/source/propctrlr/formcomponenthandler.cxx
index 1abe2f2c8237..803bc84abb49 100644
--- a/extensions/source/propctrlr/formcomponenthandler.cxx
+++ b/extensions/source/propctrlr/formcomponenthandler.cxx
@@ -2658,12 +2658,10 @@ namespace pcr
const SfxPoolItem* pItem = pResult->GetItem( SID_ATTR_NUMBERFORMAT_INFO );
const SvxNumberInfoItem* pInfoItem = dynamic_cast< const SvxNumberInfoItem* >( pItem );
- if (pInfoItem && pInfoItem->GetDelCount())
+ if (pInfoItem)
{
- const sal_uInt32* pDeletedKeys = pInfoItem->GetDelArray();
-
- for (sal_uInt32 i=0; i< pInfoItem->GetDelCount(); ++i)
- pFormatter->DeleteEntry(pDeletedKeys[i]);
+ for (sal_uInt32 key : pInfoItem->GetDelFormats())
+ pFormatter->DeleteEntry(key);
}
pItem = nullptr;
diff --git a/include/svx/numfmtsh.hxx b/include/svx/numfmtsh.hxx
index 8c1731cb1f73..3cecade46e68 100644
--- a/include/svx/numfmtsh.hxx
+++ b/include/svx/numfmtsh.hxx
@@ -144,8 +144,7 @@ public:
bool FindEntry( const OUString& rFmtString, sal_uInt32* pAt = nullptr );
void ValidateNewEntries() { bUndoAddList = false; }
- size_t GetUpdateDataCount() const;
- void GetUpdateData( sal_uInt32* pDelArray, const sal_uInt32 nSize );
+ std::vector<sal_uInt32> const & GetUpdateData() const;
void SetCurNumFmtKey( sal_uInt32 nNew ) { nCurFormatKey = nNew; }
sal_uInt32 GetCurNumFmtKey() const { return nCurFormatKey; }
diff --git a/include/svx/numinf.hxx b/include/svx/numinf.hxx
index 5b87881cbce5..f49e48b2310d 100644
--- a/include/svx/numinf.hxx
+++ b/include/svx/numinf.hxx
@@ -56,12 +56,10 @@ public:
const OUString& GetValueString() const { return aStringVal; }
double GetValueDouble() const { return nDoubleVal; }
- const sal_uInt32* GetDelArray() const { return pDelFormatArr.get(); }
- void SetDelFormatArray( const sal_uInt32* pData,
- const sal_uInt32 nCount );
+ const std::vector<sal_uInt32> & GetDelFormats() const { return mvDelFormats; }
+ void SetDelFormats( std::vector<sal_uInt32> const & );
SvxNumberValueType GetValueType() const { return eValueType; }
- sal_uInt32 GetDelCount() const { return nDelCount; }
private:
SvNumberFormatter* pFormatter;
@@ -69,9 +67,7 @@ private:
OUString aStringVal;
double nDoubleVal;
- std::unique_ptr<sal_uInt32[]>
- pDelFormatArr;
- sal_uInt32 nDelCount;
+ std::vector<sal_uInt32> mvDelFormats;
};
#endif
diff --git a/sc/source/ui/view/tabvwsh5.cxx b/sc/source/ui/view/tabvwsh5.cxx
index 5215deb2c74f..54aa18c4516f 100644
--- a/sc/source/ui/view/tabvwsh5.cxx
+++ b/sc/source/ui/view/tabvwsh5.cxx
@@ -386,15 +386,8 @@ SvxNumberInfoItem* ScTabViewShell::MakeNumberInfoItem( ScDocument* pDoc, const S
void ScTabViewShell::UpdateNumberFormatter(
const SvxNumberInfoItem& rInfoItem )
{
- const sal_uInt32 nDelCount = rInfoItem.GetDelCount();
-
- if ( nDelCount > 0 )
- {
- const sal_uInt32* pDelArr = rInfoItem.GetDelArray();
-
- for ( sal_uInt32 i=0; i<nDelCount; i++ )
- rInfoItem.GetNumberFormatter()->DeleteEntry( pDelArr[i] );
- }
+ for ( sal_uInt32 key : rInfoItem.GetDelFormats() )
+ rInfoItem.GetNumberFormatter()->DeleteEntry( key );
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/items/numfmtsh.cxx b/svx/source/items/numfmtsh.cxx
index e2b7faf2ece7..673ed349e4a3 100644
--- a/svx/source/items/numfmtsh.cxx
+++ b/svx/source/items/numfmtsh.cxx
@@ -177,21 +177,9 @@ SvxNumberFormatShell::~SvxNumberFormatShell()
}
-size_t SvxNumberFormatShell::GetUpdateDataCount() const
+std::vector<sal_uInt32> const & SvxNumberFormatShell::GetUpdateData() const
{
- return aDelList.size();
-}
-
-
-void SvxNumberFormatShell::GetUpdateData( sal_uInt32* pDelArray, const sal_uInt32 nSize )
-{
- const size_t nListSize = aDelList.size();
-
- DBG_ASSERT( pDelArray && ( nSize == nListSize ), "Array not initialised!" );
-
- if ( pDelArray && ( nSize == nListSize ) )
- for (std::vector<sal_uInt32>::const_iterator it(aDelList.begin()); it != aDelList.end(); ++it )
- *pDelArray++ = *it;
+ return aDelList;
}
diff --git a/svx/source/items/numinf.cxx b/svx/source/items/numinf.cxx
index 0dcf67964b1b..f47706ad5936 100644
--- a/svx/source/items/numinf.cxx
+++ b/svx/source/items/numinf.cxx
@@ -26,9 +26,7 @@
pFormatter ( pNum ), \
eValueType ( eVal ), \
aStringVal ( rStr ), \
- nDoubleVal ( nDouble ), \
- pDelFormatArr ( nullptr ), \
- nDelCount ( 0 )
+ nDoubleVal ( nDouble ) \
SvxNumberInfoItem::SvxNumberInfoItem( const sal_uInt16 nId ) :
@@ -83,17 +81,8 @@ SvxNumberInfoItem::SvxNumberInfoItem( const SvxNumberInfoItem& rItem ) :
eValueType ( rItem.eValueType ),
aStringVal ( rItem.aStringVal ),
nDoubleVal ( rItem.nDoubleVal ),
- pDelFormatArr( nullptr ),
- nDelCount ( rItem.nDelCount )
-
+ mvDelFormats( rItem.mvDelFormats )
{
- if ( rItem.nDelCount > 0 )
- {
- pDelFormatArr.reset( new sal_uInt32[ rItem.nDelCount ] );
-
- for ( sal_uInt32 i = 0; i < rItem.nDelCount; ++i )
- pDelFormatArr[i] = rItem.pDelFormatArr[i];
- }
}
@@ -121,30 +110,11 @@ bool SvxNumberInfoItem::operator==( const SfxPoolItem& rItem ) const
const SvxNumberInfoItem& rOther = static_cast<const SvxNumberInfoItem&>(rItem);
- bool bEqual = false;
-
- if ( nDelCount == rOther.nDelCount )
- {
- if ( nDelCount > 0 )
- {
- if ( pDelFormatArr != nullptr && rOther.pDelFormatArr != nullptr )
- {
- bEqual = true;
-
- for ( sal_uInt32 i = 0; i < nDelCount && bEqual; ++i )
- bEqual = ( pDelFormatArr[i] == rOther.pDelFormatArr[i] );
- }
- }
- else if ( nDelCount == 0 )
- bEqual = ( pDelFormatArr == nullptr && rOther.pDelFormatArr == nullptr );
-
- bEqual = bEqual &&
- pFormatter == rOther.pFormatter &&
- eValueType == rOther.eValueType &&
- nDoubleVal == rOther.nDoubleVal &&
- aStringVal == rOther.aStringVal;
- }
- return bEqual;
+ return mvDelFormats == rOther.mvDelFormats &&
+ pFormatter == rOther.pFormatter &&
+ eValueType == rOther.eValueType &&
+ nDoubleVal == rOther.nDoubleVal &&
+ aStringVal == rOther.aStringVal;
}
@@ -154,23 +124,9 @@ SfxPoolItem* SvxNumberInfoItem::Clone( SfxItemPool * ) const
}
-void SvxNumberInfoItem::SetDelFormatArray( const sal_uInt32* pData,
- const sal_uInt32 nCount )
+void SvxNumberInfoItem::SetDelFormats( std::vector<sal_uInt32> const & aData )
{
- pDelFormatArr.reset();
-
- nDelCount = nCount;
-
- if ( nCount > 0 )
- {
- pDelFormatArr.reset( new sal_uInt32[ nCount ] );
-
- if ( pData != nullptr )
- {
- for ( sal_uInt32 i = 0; i < nCount; ++i )
- pDelFormatArr[i] = pData[i];
- }
- }
+ mvDelFormats = aData;
}
diff --git a/sw/source/uibase/shells/tabsh.cxx b/sw/source/uibase/shells/tabsh.cxx
index c319c895483c..fecda67dd7cf 100644
--- a/sw/source/uibase/shells/tabsh.cxx
+++ b/sw/source/uibase/shells/tabsh.cxx
@@ -681,26 +681,23 @@ void SwTableShell::Execute(SfxRequest &rReq)
if (RET_OK == pDlg->Execute())
{
- const SfxPoolItem* pNumberFormatItem = GetView().GetDocShell()->
- GetItem( SID_ATTR_NUMBERFORMAT_INFO );
+ const SvxNumberInfoItem* pNumberFormatItem
+ = GetView().GetDocShell()->GetItem( SID_ATTR_NUMBERFORMAT_INFO );
- if( pNumberFormatItem && 0 != static_cast<const SvxNumberInfoItem*>(pNumberFormatItem)->GetDelCount() )
+ if( pNumberFormatItem )
{
- const sal_uInt32* pDelArr = static_cast<const SvxNumberInfoItem*>(
- pNumberFormatItem)->GetDelArray();
-
- for ( sal_uInt32 i = 0; i < static_cast<const SvxNumberInfoItem*>(pNumberFormatItem)->GetDelCount(); i++ )
- static_cast<const SvxNumberInfoItem*>(pNumberFormatItem)->
- GetNumberFormatter()->DeleteEntry( pDelArr[i] );
+ for ( sal_uInt32 key : pNumberFormatItem->GetDelFormats() )
+ pNumberFormatItem->GetNumberFormatter()->DeleteEntry( key );
}
+ const SfxPoolItem* pNumberFormatValueItem = nullptr;
if( SfxItemState::SET == pDlg->GetOutputItemSet()->GetItemState(
- SID_ATTR_NUMBERFORMAT_VALUE, false, &pNumberFormatItem ))
+ SID_ATTR_NUMBERFORMAT_VALUE, false, &pNumberFormatValueItem ))
{
SfxItemSet aBoxFormatSet( *aCoreSet.GetPool(),
svl::Items<RES_BOXATR_FORMAT, RES_BOXATR_FORMAT>{} );
aBoxFormatSet.Put( SwTableBoxNumFormat(
- static_cast<const SfxUInt32Item*>(pNumberFormatItem)->GetValue() ));
+ static_cast<const SfxUInt32Item*>(pNumberFormatValueItem)->GetValue() ));
rSh.SetTableBoxFormulaAttrs( aBoxFormatSet );
}
diff --git a/sw/source/uibase/utlui/numfmtlb.cxx b/sw/source/uibase/utlui/numfmtlb.cxx
index 089e0e9f7445..fef26cf61c3b 100644
--- a/sw/source/uibase/utlui/numfmtlb.cxx
+++ b/sw/source/uibase/utlui/numfmtlb.cxx
@@ -378,12 +378,10 @@ IMPL_LINK( NumFormatListBox, SelectHdl, ListBox&, rBox, void )
const SfxPoolItem* pItem = pView->GetDocShell()->
GetItem( SID_ATTR_NUMBERFORMAT_INFO );
- if( pItem && 0 != static_cast<const SvxNumberInfoItem*>(pItem)->GetDelCount() )
+ if( pItem )
{
- const sal_uInt32* pDelArr = static_cast<const SvxNumberInfoItem*>(pItem)->GetDelArray();
-
- for ( sal_uInt32 i = 0; i < static_cast<const SvxNumberInfoItem*>(pItem)->GetDelCount(); i++ )
- pFormatter->DeleteEntry( pDelArr[i] );
+ for ( sal_uInt32 key : static_cast<const SvxNumberInfoItem*>(pItem)->GetDelFormats() )
+ pFormatter->DeleteEntry( key );
}
const SfxItemSet* pOutSet = pDlg->GetOutputItemSet();