diff options
-rw-r--r-- | sc/source/core/data/docpool.cxx | 40 | ||||
-rw-r--r-- | sc/source/ui/pagedlg/scuitphfedit.cxx | 12 | ||||
-rw-r--r-- | sc/source/ui/pagedlg/tptable.cxx | 89 | ||||
-rw-r--r-- | svl/qa/unit/items/stylepool.cxx | 2 | ||||
-rw-r--r-- | svl/qa/unit/items/test_itempool.cxx | 8 | ||||
-rw-r--r-- | svl/source/items/itempool.cxx | 18 |
6 files changed, 91 insertions, 78 deletions
diff --git a/sc/source/core/data/docpool.cxx b/sc/source/core/data/docpool.cxx index 38dfcb1187df..9ebf027dee89 100644 --- a/sc/source/core/data/docpool.cxx +++ b/sc/source/core/data/docpool.cxx @@ -137,7 +137,7 @@ SfxItemInfo const aItemInfos[] = { 0, true }, // ATTR_MERGE { 0, true }, // ATTR_MERGE_FLAG { SID_ATTR_NUMBERFORMAT_VALUE, true }, // ATTR_VALUE_FORMAT - { ATTR_LANGUAGE_FORMAT, true }, // ATTR_LANGUAGE_FORMAT from 329, is combined with SID_ATTR_NUMBERFORMAT_VALUE in the dialog + { 0, true }, // ATTR_LANGUAGE_FORMAT from 329, is combined with SID_ATTR_NUMBERFORMAT_VALUE in the dialog { SID_ATTR_BRUSH, true }, // ATTR_BACKGROUND { SID_SCATTR_PROTECTION, true }, // ATTR_PROTECTION { SID_ATTR_BORDER_OUTER, true }, // ATTR_BORDER @@ -158,27 +158,27 @@ SfxItemInfo const aItemInfos[] = { SID_ATTR_PAGE_DYNAMIC, true }, // ATTR_PAGE_DYNAMIC { SID_ATTR_PAGE_SHARED, true }, // ATTR_PAGE_SHARED { SID_ATTR_PAGE_SHARED_FIRST, true }, // ATTR_PAGE_SHARED_FIRST - { SID_SCATTR_PAGE_NOTES, true }, // ATTR_PAGE_NOTES - { SID_SCATTR_PAGE_GRID, true }, // ATTR_PAGE_GRID - { SID_SCATTR_PAGE_HEADERS, true }, // ATTR_PAGE_HEADERS - { SID_SCATTR_PAGE_CHARTS, true }, // ATTR_PAGE_CHARTS - { SID_SCATTR_PAGE_OBJECTS, true }, // ATTR_PAGE_OBJECTS - { SID_SCATTR_PAGE_DRAWINGS, true }, // ATTR_PAGE_DRAWINGS - { SID_SCATTR_PAGE_TOPDOWN, true }, // ATTR_PAGE_TOPDOWN - { SID_SCATTR_PAGE_SCALE, true }, // ATTR_PAGE_SCALE - { SID_SCATTR_PAGE_SCALETOPAGES, true }, // ATTR_PAGE_SCALETOPAGES - { SID_SCATTR_PAGE_FIRSTPAGENO, true }, // ATTR_PAGE_FIRSTPAGENO - { SID_SCATTR_PAGE_HEADERLEFT, true }, // ATTR_PAGE_HEADERLEFT - { SID_SCATTR_PAGE_FOOTERLEFT, true }, // ATTR_PAGE_FOOTERLEFT - { SID_SCATTR_PAGE_HEADERRIGHT, true }, // ATTR_PAGE_HEADERRIGHT - { SID_SCATTR_PAGE_FOOTERRIGHT, true }, // ATTR_PAGE_FOOTERRIGHT - { SID_SCATTR_PAGE_HEADERFIRST, true }, // ATTR_PAGE_HEADERFIRST - { SID_SCATTR_PAGE_FOOTERFIRST, true }, // ATTR_PAGE_FOOTERFIRST + { 0, true }, // ATTR_PAGE_NOTES aka. SID_SCATTR_PAGE_NOTES + { 0, true }, // ATTR_PAGE_GRID aka. SID_SCATTR_PAGE_GRID + { 0, true }, // ATTR_PAGE_HEADERS aka. SID_SCATTR_PAGE_HEADERS + { 0, true }, // ATTR_PAGE_CHARTS aka. SID_SCATTR_PAGE_CHARTS + { 0, true }, // ATTR_PAGE_OBJECTS aka. SID_SCATTR_PAGE_OBJECTS + { 0, true }, // ATTR_PAGE_DRAWINGS aka. SID_SCATTR_PAGE_DRAWINGS + { 0, true }, // ATTR_PAGE_TOPDOWN aka. SID_SCATTR_PAGE_TOPDOWN + { 0, true }, // ATTR_PAGE_SCALE aka SID_SCATTR_PAGE_SCALE + { 0, true }, // ATTR_PAGE_SCALETOPAGES aka SID_SCATTR_PAGE_SCALETOPAGES + { 0, true }, // ATTR_PAGE_FIRSTPAGENO aka SID_SCATTR_PAGE_FIRSTPAGENO + { 0, true }, // ATTR_PAGE_HEADERLEFT aka SID_SCATTR_PAGE_HEADERLEFT + { 0, true }, // ATTR_PAGE_FOOTERLEFT aka SID_SCATTR_PAGE_FOOTERLEFT + { 0, true }, // ATTR_PAGE_HEADERRIGHT aka SID_SCATTR_PAGE_HEADERRIGHT + { 0, true }, // ATTR_PAGE_FOOTERRIGHT aka. SID_SCATTR_PAGE_FOOTERRIGHT + { 0, true }, // ATTR_PAGE_HEADERFIRST aka. SID_SCATTR_PAGE_HEADERFIRST + { 0, true }, // ATTR_PAGE_FOOTERFIRST aka. SID_SCATTR_PAGE_FOOTERFIRST` { SID_ATTR_PAGE_HEADERSET, true }, // ATTR_PAGE_HEADERSET { SID_ATTR_PAGE_FOOTERSET, true }, // ATTR_PAGE_FOOTERSET - { SID_SCATTR_PAGE_FORMULAS, true }, // ATTR_PAGE_FORMULAS - { SID_SCATTR_PAGE_NULLVALS, true }, // ATTR_PAGE_NULLVALS - { SID_SCATTR_PAGE_SCALETO, true }, // ATTR_PAGE_SCALETO + { 0, true }, // ATTR_PAGE_FORMULAS aka. SID_SCATTR_PAGE_FORMULAS + { 0, true }, // ATTR_PAGE_NULLVALS aka. SID_SCATTR_PAGE_NULLVALS + { 0, true }, // ATTR_PAGE_SCALETO aka. SID_SCATTR_PAGE_SCALETO { 0, true } // ATTR_HIDDEN }; static_assert( diff --git a/sc/source/ui/pagedlg/scuitphfedit.cxx b/sc/source/ui/pagedlg/scuitphfedit.cxx index 11f430e63ad9..80a5db3027a9 100644 --- a/sc/source/ui/pagedlg/scuitphfedit.cxx +++ b/sc/source/ui/pagedlg/scuitphfedit.cxx @@ -781,7 +781,7 @@ IMPL_LINK(ScHFEditPage, MenuHdl, const OString&, rSelectedId, void) ScFirstHeaderEditPage::ScFirstHeaderEditPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet ) : ScHFEditPage( pPage, pController, rCoreSet, - rCoreSet.GetPool()->GetWhich(SID_SCATTR_PAGE_HEADERFIRST ), + SID_SCATTR_PAGE_HEADERFIRST, true ) {} @@ -794,7 +794,7 @@ std::unique_ptr<SfxTabPage> ScFirstHeaderEditPage::Create( weld::Container* pPag ScRightHeaderEditPage::ScRightHeaderEditPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet ) : ScHFEditPage( pPage, pController, rCoreSet, - rCoreSet.GetPool()->GetWhich(SID_SCATTR_PAGE_HEADERRIGHT ), + SID_SCATTR_PAGE_HEADERRIGHT, true ) {} @@ -807,7 +807,7 @@ std::unique_ptr<SfxTabPage> ScRightHeaderEditPage::Create( weld::Container* pPag ScLeftHeaderEditPage::ScLeftHeaderEditPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet ) : ScHFEditPage( pPage, pController, rCoreSet, - rCoreSet.GetPool()->GetWhich(SID_SCATTR_PAGE_HEADERLEFT ), + SID_SCATTR_PAGE_HEADERLEFT, true ) {} @@ -820,7 +820,7 @@ std::unique_ptr<SfxTabPage> ScLeftHeaderEditPage::Create( weld::Container* pPage ScFirstFooterEditPage::ScFirstFooterEditPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet ) : ScHFEditPage( pPage, pController, rCoreSet, - rCoreSet.GetPool()->GetWhich(SID_SCATTR_PAGE_FOOTERFIRST ), + SID_SCATTR_PAGE_FOOTERFIRST, false ) {} @@ -833,7 +833,7 @@ std::unique_ptr<SfxTabPage> ScFirstFooterEditPage::Create( weld::Container* pPag ScRightFooterEditPage::ScRightFooterEditPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet ) : ScHFEditPage( pPage, pController, rCoreSet, - rCoreSet.GetPool()->GetWhich(SID_SCATTR_PAGE_FOOTERRIGHT ), + SID_SCATTR_PAGE_FOOTERRIGHT, false ) {} @@ -846,7 +846,7 @@ std::unique_ptr<SfxTabPage> ScRightFooterEditPage::Create( weld::Container* pPag ScLeftFooterEditPage::ScLeftFooterEditPage( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet& rCoreSet ) : ScHFEditPage( pPage, pController, rCoreSet, - rCoreSet.GetPool()->GetWhich(SID_SCATTR_PAGE_FOOTERLEFT ), + SID_SCATTR_PAGE_FOOTERLEFT, false ) {} diff --git a/sc/source/ui/pagedlg/tptable.cxx b/sc/source/ui/pagedlg/tptable.cxx index de63dd437fc7..d5c50b930a2b 100644 --- a/sc/source/ui/pagedlg/tptable.cxx +++ b/sc/source/ui/pagedlg/tptable.cxx @@ -33,12 +33,12 @@ const WhichRangesContainer ScTablePage::pPageTableRanges( svl::Items<ATTR_PAGE_NOTES, ATTR_PAGE_FIRSTPAGENO>); -static bool lcl_PutVObjModeItem(sal_uInt16 nWhich, +static bool lcl_PutVObjModeItem(TypedWhichId<ScViewObjectModeItem> nWhich, SfxItemSet& rCoreSet, const SfxItemSet& rOldSet, const weld::Toggleable& rBtn); -static bool lcl_PutScaleItem( sal_uInt16 nWhich, +static bool lcl_PutScaleItem( TypedWhichId<SfxUInt16Item> nWhich, SfxItemSet& rCoreSet, const SfxItemSet& rOldSet, const weld::ComboBox& rListBox, @@ -46,7 +46,7 @@ static bool lcl_PutScaleItem( sal_uInt16 nWhich, const weld::MetricSpinButton& rEd, sal_uInt16 nValue ); -static bool lcl_PutScaleItem2( sal_uInt16 nWhich, +static bool lcl_PutScaleItem2( TypedWhichId<ScPageScaleToItem> nWhich, SfxItemSet& rCoreSet, const SfxItemSet& rOldSet, const weld::ComboBox& rListBox, @@ -56,7 +56,7 @@ static bool lcl_PutScaleItem2( sal_uInt16 nWhich, const weld::SpinButton& rEd2, sal_uInt16 nOrigScalePageHeight ); -static bool lcl_PutScaleItem3( sal_uInt16 nWhich, +static bool lcl_PutScaleItem3( TypedWhichId<SfxUInt16Item> nWhich, SfxItemSet& rCoreSet, const SfxItemSet& rOldSet, const weld::ComboBox& rListBox, @@ -64,7 +64,7 @@ static bool lcl_PutScaleItem3( sal_uInt16 nWhich, const weld::SpinButton& rEd, sal_uInt16 nValue ); -static bool lcl_PutBoolItem( sal_uInt16 nWhich, +static bool lcl_PutBoolItem( TypedWhichId<SfxBoolItem> nWhich, SfxItemSet& rCoreSet, const SfxItemSet& rOldSet, bool bIsChecked, @@ -77,10 +77,6 @@ bool WAS_DEFAULT(sal_uInt16 w, SfxItemSet const & s) } -#define GET_BOOL(sid,set) static_cast<const SfxBoolItem&>((set).Get(GetWhich((sid)))).GetValue() -#define GET_USHORT(sid,set) static_cast<const SfxUInt16Item&>((set).Get(GetWhich((sid)))).GetValue() -#define GET_SHOW(sid,set) ( static_cast<const ScViewObjectModeItem&>((set).Get(GetWhich((sid)))).GetValue() \ - == VOBJ_MODE_SHOW ) // List box entries "Scaling mode" #define SC_TPTABLE_SCALE_PERCENT 0 #define SC_TPTABLE_SCALE_TO 1 @@ -141,43 +137,42 @@ std::unique_ptr<SfxTabPage> ScTablePage::Create(weld::Container* pPage, weld::Di void ScTablePage::Reset( const SfxItemSet* rCoreSet ) { - bool bTopDown = GET_BOOL( SID_SCATTR_PAGE_TOPDOWN, *rCoreSet ); - sal_uInt16 nWhich = 0; + bool bTopDown = rCoreSet->Get(SID_SCATTR_PAGE_TOPDOWN).GetValue(); // sal_Bool flags - m_xBtnNotes->set_active( GET_BOOL(SID_SCATTR_PAGE_NOTES,*rCoreSet) ); - m_xBtnGrid->set_active( GET_BOOL(SID_SCATTR_PAGE_GRID,*rCoreSet) ); - m_xBtnHeaders->set_active( GET_BOOL(SID_SCATTR_PAGE_HEADERS,*rCoreSet) ); - m_xBtnFormulas->set_active( GET_BOOL(SID_SCATTR_PAGE_FORMULAS,*rCoreSet) ); - m_xBtnNullVals->set_active( GET_BOOL(SID_SCATTR_PAGE_NULLVALS,*rCoreSet) ); + m_xBtnNotes->set_active( rCoreSet->Get(SID_SCATTR_PAGE_NOTES).GetValue() ); + m_xBtnGrid->set_active( rCoreSet->Get(SID_SCATTR_PAGE_GRID).GetValue() ); + m_xBtnHeaders->set_active( rCoreSet->Get(SID_SCATTR_PAGE_HEADERS).GetValue() ); + m_xBtnFormulas->set_active( rCoreSet->Get(SID_SCATTR_PAGE_FORMULAS).GetValue() ); + m_xBtnNullVals->set_active( rCoreSet->Get(SID_SCATTR_PAGE_NULLVALS).GetValue() ); m_xBtnTopDown->set_active( bTopDown ); m_xBtnLeftRight->set_active( !bTopDown ); // first printed page: - sal_uInt16 nPage = GET_USHORT(SID_SCATTR_PAGE_FIRSTPAGENO,*rCoreSet); + sal_uInt16 nPage = rCoreSet->Get(SID_SCATTR_PAGE_FIRSTPAGENO).GetValue(); m_xBtnPageNo->set_active( nPage != 0 ); m_xEdPageNo->set_value( (nPage != 0) ? nPage : 1 ); PageNoHdl(nullptr); // object representation: - m_xBtnCharts->set_active( GET_SHOW( SID_SCATTR_PAGE_CHARTS, *rCoreSet ) ); - m_xBtnObjects->set_active( GET_SHOW( SID_SCATTR_PAGE_OBJECTS, *rCoreSet ) ); - m_xBtnDrawings->set_active( GET_SHOW( SID_SCATTR_PAGE_DRAWINGS, *rCoreSet ) ); + m_xBtnCharts->set_active( rCoreSet->Get(SID_SCATTR_PAGE_CHARTS).GetValue() == VOBJ_MODE_SHOW ); + m_xBtnObjects->set_active( rCoreSet->Get(SID_SCATTR_PAGE_OBJECTS).GetValue() == VOBJ_MODE_SHOW ); + m_xBtnDrawings->set_active( rCoreSet->Get(SID_SCATTR_PAGE_DRAWINGS).GetValue() == VOBJ_MODE_SHOW ); // scaling: - nWhich = GetWhich(SID_SCATTR_PAGE_SCALE); - if ( rCoreSet->GetItemState( nWhich ) >= SfxItemState::DEFAULT ) + constexpr auto nWhichPageScale = SID_SCATTR_PAGE_SCALE; + if ( rCoreSet->GetItemState( nWhichPageScale ) >= SfxItemState::DEFAULT ) { - sal_uInt16 nScale = static_cast<const SfxUInt16Item&>(rCoreSet->Get(nWhich)).GetValue(); + sal_uInt16 nScale = rCoreSet->Get(nWhichPageScale).GetValue(); if( nScale > 0 ) m_xLbScaleMode->set_active(SC_TPTABLE_SCALE_PERCENT); m_xEdScaleAll->set_value((nScale > 0) ? nScale : 100, FieldUnit::PERCENT); } - nWhich = GetWhich(SID_SCATTR_PAGE_SCALETO); - if ( rCoreSet->GetItemState( nWhich ) >= SfxItemState::DEFAULT ) + constexpr auto nWhichScaleTo = SID_SCATTR_PAGE_SCALETO; + if ( rCoreSet->GetItemState( nWhichScaleTo ) >= SfxItemState::DEFAULT ) { - const ScPageScaleToItem& rItem = static_cast< const ScPageScaleToItem& >( rCoreSet->Get( nWhich ) ); + const ScPageScaleToItem& rItem = rCoreSet->Get( nWhichScaleTo ); sal_uInt16 nWidth = rItem.GetWidth(); sal_uInt16 nHeight = rItem.GetHeight(); @@ -205,10 +200,10 @@ void ScTablePage::Reset( const SfxItemSet* rCoreSet ) m_xCbScalePageHeight->set_active(nHeight != 0); } - nWhich = GetWhich(SID_SCATTR_PAGE_SCALETOPAGES); - if ( rCoreSet->GetItemState( nWhich ) >= SfxItemState::DEFAULT ) + constexpr auto nWhichScale = SID_SCATTR_PAGE_SCALETOPAGES; + if ( rCoreSet->GetItemState( nWhichScale ) >= SfxItemState::DEFAULT ) { - sal_uInt16 nPages = static_cast<const SfxUInt16Item&>(rCoreSet->Get(nWhich)).GetValue(); + sal_uInt16 nPages = rCoreSet->Get(nWhichScale).GetValue(); if( nPages > 0 ) m_xLbScaleMode->set_active(SC_TPTABLE_SCALE_TO_PAGES); m_xEdScalePageNum->set_value( (nPages > 0) ? nPages : 1 ); @@ -248,36 +243,36 @@ void ScTablePage::Reset( const SfxItemSet* rCoreSet ) bool ScTablePage::FillItemSet( SfxItemSet* rCoreSet ) { const SfxItemSet& rOldSet = GetItemSet(); - sal_uInt16 nWhichPageNo = GetWhich(SID_SCATTR_PAGE_FIRSTPAGENO); + constexpr sal_uInt16 nWhichPageNo = SID_SCATTR_PAGE_FIRSTPAGENO; bool bDataChanged = false; // sal_Bool flags - bDataChanged |= lcl_PutBoolItem( GetWhich(SID_SCATTR_PAGE_NOTES), + bDataChanged |= lcl_PutBoolItem( SID_SCATTR_PAGE_NOTES, *rCoreSet, rOldSet, m_xBtnNotes->get_active(), m_xBtnNotes->get_saved_state() != TRISTATE_FALSE ); - bDataChanged |= lcl_PutBoolItem( GetWhich(SID_SCATTR_PAGE_GRID), + bDataChanged |= lcl_PutBoolItem( SID_SCATTR_PAGE_GRID, *rCoreSet, rOldSet, m_xBtnGrid->get_active(), m_xBtnGrid->get_saved_state() != TRISTATE_FALSE ); - bDataChanged |= lcl_PutBoolItem( GetWhich(SID_SCATTR_PAGE_HEADERS), + bDataChanged |= lcl_PutBoolItem( SID_SCATTR_PAGE_HEADERS, *rCoreSet, rOldSet, m_xBtnHeaders->get_active(), m_xBtnHeaders->get_saved_state() != TRISTATE_FALSE ); - bDataChanged |= lcl_PutBoolItem( GetWhich(SID_SCATTR_PAGE_TOPDOWN), + bDataChanged |= lcl_PutBoolItem( SID_SCATTR_PAGE_TOPDOWN, *rCoreSet, rOldSet, m_xBtnTopDown->get_active(), m_xBtnTopDown->get_saved_state() != TRISTATE_FALSE ); - bDataChanged |= lcl_PutBoolItem( GetWhich(SID_SCATTR_PAGE_FORMULAS), + bDataChanged |= lcl_PutBoolItem( SID_SCATTR_PAGE_FORMULAS, *rCoreSet, rOldSet, m_xBtnFormulas->get_active(), m_xBtnFormulas->get_saved_state() != TRISTATE_FALSE ); - bDataChanged |= lcl_PutBoolItem( GetWhich(SID_SCATTR_PAGE_NULLVALS), + bDataChanged |= lcl_PutBoolItem( SID_SCATTR_PAGE_NULLVALS, *rCoreSet, rOldSet, m_xBtnNullVals->get_active(), m_xBtnNullVals->get_saved_state() != TRISTATE_FALSE ); @@ -303,13 +298,13 @@ bool ScTablePage::FillItemSet( SfxItemSet* rCoreSet ) } // object representation: - bDataChanged |= lcl_PutVObjModeItem( GetWhich(SID_SCATTR_PAGE_CHARTS), + bDataChanged |= lcl_PutVObjModeItem( SID_SCATTR_PAGE_CHARTS, *rCoreSet, rOldSet, *m_xBtnCharts ); - bDataChanged |= lcl_PutVObjModeItem( GetWhich(SID_SCATTR_PAGE_OBJECTS), + bDataChanged |= lcl_PutVObjModeItem( SID_SCATTR_PAGE_OBJECTS, *rCoreSet, rOldSet, *m_xBtnObjects ); - bDataChanged |= lcl_PutVObjModeItem( GetWhich(SID_SCATTR_PAGE_DRAWINGS), + bDataChanged |= lcl_PutVObjModeItem( SID_SCATTR_PAGE_DRAWINGS, *rCoreSet, rOldSet, *m_xBtnDrawings ); // scaling: @@ -319,18 +314,18 @@ bool ScTablePage::FillItemSet( SfxItemSet* rCoreSet ) m_xEdScaleAll->set_value(100, FieldUnit::PERCENT); } - bDataChanged |= lcl_PutScaleItem( GetWhich(SID_SCATTR_PAGE_SCALE), + bDataChanged |= lcl_PutScaleItem( SID_SCATTR_PAGE_SCALE, *rCoreSet, rOldSet, *m_xLbScaleMode, SC_TPTABLE_SCALE_PERCENT, *m_xEdScaleAll, static_cast<sal_uInt16>(m_xEdScaleAll->get_value(FieldUnit::PERCENT)) ); - bDataChanged |= lcl_PutScaleItem2( GetWhich(SID_SCATTR_PAGE_SCALETO), + bDataChanged |= lcl_PutScaleItem2( SID_SCATTR_PAGE_SCALETO, *rCoreSet, rOldSet, *m_xLbScaleMode, SC_TPTABLE_SCALE_TO, *m_xEdScalePageWidth, m_nOrigScalePageWidth, *m_xEdScalePageHeight, m_nOrigScalePageHeight ); - bDataChanged |= lcl_PutScaleItem3( GetWhich(SID_SCATTR_PAGE_SCALETOPAGES), + bDataChanged |= lcl_PutScaleItem3( SID_SCATTR_PAGE_SCALETOPAGES, *rCoreSet, rOldSet, *m_xLbScaleMode, SC_TPTABLE_SCALE_TO_PAGES, *m_xEdScalePageNum, static_cast<sal_uInt16>(m_xEdScalePageNum->get_value()) ); @@ -414,7 +409,7 @@ IMPL_LINK(ScTablePage, ToggleHdl, weld::Toggleable&, rBox, void) // Helper functions for FillItemSet: -static bool lcl_PutBoolItem( sal_uInt16 nWhich, +static bool lcl_PutBoolItem( TypedWhichId<SfxBoolItem> nWhich, SfxItemSet& rCoreSet, const SfxItemSet& rOldSet, bool bIsChecked, @@ -431,7 +426,7 @@ static bool lcl_PutBoolItem( sal_uInt16 nWhich, return bDataChanged; } -static bool lcl_PutVObjModeItem( sal_uInt16 nWhich, +static bool lcl_PutVObjModeItem( TypedWhichId<ScViewObjectModeItem> nWhich, SfxItemSet& rCoreSet, const SfxItemSet& rOldSet, const weld::Toggleable& rBtn ) @@ -450,7 +445,7 @@ static bool lcl_PutVObjModeItem( sal_uInt16 nWhich, return bDataChanged; } -static bool lcl_PutScaleItem( sal_uInt16 nWhich, +static bool lcl_PutScaleItem( TypedWhichId<SfxUInt16Item> nWhich, SfxItemSet& rCoreSet, const SfxItemSet& rOldSet, const weld::ComboBox& rListBox, @@ -471,7 +466,7 @@ static bool lcl_PutScaleItem( sal_uInt16 nWhich, return bDataChanged; } -static bool lcl_PutScaleItem2( sal_uInt16 nWhich, +static bool lcl_PutScaleItem2( TypedWhichId<ScPageScaleToItem> nWhich, SfxItemSet& rCoreSet, const SfxItemSet& rOldSet, const weld::ComboBox& rListBox, @@ -502,7 +497,7 @@ static bool lcl_PutScaleItem2( sal_uInt16 nWhich, return bDataChanged; } -static bool lcl_PutScaleItem3( sal_uInt16 nWhich, +static bool lcl_PutScaleItem3( TypedWhichId<SfxUInt16Item> nWhich, SfxItemSet& rCoreSet, const SfxItemSet& rOldSet, const weld::ComboBox& rListBox, diff --git a/svl/qa/unit/items/stylepool.cxx b/svl/qa/unit/items/stylepool.cxx index 01f0d8867b48..94ff91aea73c 100644 --- a/svl/qa/unit/items/stylepool.cxx +++ b/svl/qa/unit/items/stylepool.cxx @@ -26,7 +26,7 @@ CPPUNIT_TEST_FIXTURE(StylePoolTest, testIterationOrder) // Set up a style pool with multiple parents. SfxStringItem aDefault1(1); std::vector<SfxPoolItem*> aDefaults{ &aDefault1 }; - SfxItemInfo const aItems[] = { { 1, false } }; + SfxItemInfo const aItems[] = { { 2, false } }; rtl::Reference<SfxItemPool> pPool = new SfxItemPool("test", 1, 1, aItems); pPool->SetDefaults(&aDefaults); diff --git a/svl/qa/unit/items/test_itempool.cxx b/svl/qa/unit/items/test_itempool.cxx index 4d15edaffd86..6868999f0f76 100644 --- a/svl/qa/unit/items/test_itempool.cxx +++ b/svl/qa/unit/items/test_itempool.cxx @@ -34,10 +34,10 @@ class PoolItemTest : public CppUnit::TestFixture void PoolItemTest::testPool() { SfxItemInfo const aItems[] = - { { 1, true }, - { 2, false /* not poolable */ }, - { 3, false }, - { 4, false /* not poolable */} + { { 4, true }, + { 3, false /* not poolable */ }, + { 2, false }, + { 1, false /* not poolable */} }; rtl::Reference<SfxItemPool> pPool = new SfxItemPool("testpool", 1, 4, aItems); diff --git a/svl/source/items/itempool.cxx b/svl/source/items/itempool.cxx index fe13cfb96a32..8d4aa074e4f5 100644 --- a/svl/source/items/itempool.cxx +++ b/svl/source/items/itempool.cxx @@ -167,6 +167,24 @@ SfxItemPool::SfxItemPool if ( pDefaults ) SetDefaults(pDefaults); + +#ifdef DBG_UTIL + if (pItemInfos) + { + auto p = pItemInfos; + auto nWhich = nStartWhich; + while (nWhich <= nEndWhich) + { + if (p->_nSID == nWhich) + { + SAL_WARN("svl.items", "No point mapping a SID to itself, just put a 0 here in the SfxItemInfo array, at index " << (p - pItemInfos)); + assert(false); + } + ++p; + ++nWhich; + } + } +#endif } |