summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sc/source/core/data/docpool.cxx40
-rw-r--r--sc/source/ui/pagedlg/scuitphfedit.cxx12
-rw-r--r--sc/source/ui/pagedlg/tptable.cxx89
-rw-r--r--svl/qa/unit/items/stylepool.cxx2
-rw-r--r--svl/qa/unit/items/test_itempool.cxx8
-rw-r--r--svl/source/items/itempool.cxx18
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
}