cui/source/options/optgenrl.cxx                    |    2 -
 cui/source/tabpages/chardlg.cxx                    |    8 ++---
 cui/source/tabpages/tpline.cxx                     |    2 -
 cui/source/tabpages/tptrans.cxx                    |    2 -
 editeng/source/items/paraitem.cxx                  |    4 +-
 editeng/source/items/textitem.cxx                  |   14 ++++----
 editeng/source/items/writingmodeitem.cxx           |    2 -
 extensions/source/propctrlr/fontdialog.cxx         |    5 +--
 include/editeng/charrotateitem.hxx                 |    4 +-
 include/editeng/charscaleitem.hxx                  |    2 -
 include/editeng/editids.hrc                        |    4 +-
 include/editeng/emphasismarkitem.hxx               |    2 -
 include/editeng/paravertalignitem.hxx              |    3 -
 include/editeng/writingmodeitem.hxx                |    2 -
 include/sfx2/sfxsids.hrc                           |    8 ++---
 include/sfx2/zoomitem.hxx                          |    2 -
 include/svx/svxids.hrc                             |   33 ++++++++++-----------
 reportdesign/source/ui/report/ReportController.cxx |    8 ++---
 sc/inc/sc.hrc                                      |   12 +++----
 sc/source/filter/xml/xmlcelli.cxx                  |    4 +-
 sc/source/ui/pagedlg/tptable.cxx                   |    2 -
 sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx |    2 -
 sc/source/ui/styleui/styledlg.cxx                  |    2 -
 sc/source/ui/view/cellsh3.cxx                      |    4 +-
 sc/source/ui/view/formatsh.cxx                     |    2 -
 sc/source/ui/view/prevwsh.cxx                      |    2 -
 sc/source/ui/view/tabvwsh3.cxx                     |    2 -
 sc/source/ui/view/tabvwsha.cxx                     |    2 -
 sd/inc/app.hrc                                     |    8 ++---
 sd/inc/sdattr.hrc                                  |   12 +++----
 sd/source/ui/dlg/dlgpage.cxx                       |    2 -
 sd/source/ui/dlg/tpaction.cxx                      |    4 +-
 sd/source/ui/func/fuoaprms.cxx                     |   20 ++++++------
 sd/source/ui/func/fusnapln.cxx                     |    3 -
 sd/source/ui/func/futext.cxx                       |    4 +-
 sd/source/ui/view/drviewsd.cxx                     |    3 -
 sfx2/source/doc/zoomitem.cxx                       |    2 -
 svx/source/stbctrls/zoomctrl.cxx                   |    4 +-
 sw/inc/cmdid.h                                     |   14 ++++----
 sw/inc/globals.hrc                                 |    2 -
 sw/source/ui/chrdlg/numpara.cxx                    |    2 -
 sw/source/uibase/shells/tabsh.cxx                  |    2 -
 sw/source/uibase/shells/textsh1.cxx                |    4 +-
 43 files changed, 112 insertions(+), 115 deletions(-)

New commits:
commit 5315e6069e425aad88873beb5344bb8ea31e0c55
Author:     Noel Grandin <noel.gran...@collabora.co.uk>
AuthorDate: Fri May 26 11:18:17 2023 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Fri May 26 13:49:54 2023 +0200

    use more TypedWhichId
    
    which flushed out an inconsistency in how SID_NUMBER_TYPE_FORMAT was being 
used
    
    Change-Id: Ib59ae4c4950136703d18d7485db432a39e3dc39c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152300
    Tested-by: Noel Grandin <noel.gran...@collabora.co.uk>
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/cui/source/options/optgenrl.cxx b/cui/source/options/optgenrl.cxx
index b3fb5cb02baf..474eaa5b0feb 100644
--- a/cui/source/options/optgenrl.cxx
+++ b/cui/source/options/optgenrl.cxx
@@ -365,7 +365,7 @@ void SvxGeneralTabPage::Reset( const SfxItemSet* rSet )
 
     if (rSet->GetItemState(SID_FIELD_GRABFOCUS) == SfxItemState::SET)
     {
-        EditPosition nField = static_cast<EditPosition>(static_cast<const 
SfxUInt16Item&>(rSet->Get(SID_FIELD_GRABFOCUS)).GetValue());
+        EditPosition nField = 
static_cast<EditPosition>(rSet->Get(SID_FIELD_GRABFOCUS).GetValue());
         if (nField != EditPosition::UNKNOWN)
         {
             for (auto const & i: vFields)
diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx
index 87984d573281..7a8788728b46 100644
--- a/cui/source/tabpages/chardlg.cxx
+++ b/cui/source/tabpages/chardlg.cxx
@@ -2241,7 +2241,7 @@ bool SvxCharEffectsPage::FillItemSet( SfxItemSet* rSet )
 
     if (bChanged)
     {
-        rSet->Put( SvxEmphasisMarkItem( eMark, nWhich ) );
+        rSet->Put( SvxEmphasisMarkItem( eMark, 
TypedWhichId<SvxEmphasisMarkItem>(nWhich) ) );
         bModified = true;
     }
     else if ( SfxItemState::DEFAULT == rOldSet.GetItemState( nWhich, false ) )
@@ -2810,7 +2810,7 @@ void SvxCharPositionPage::Reset( const SfxItemSet* rSet )
         m_xScaleWidthMF->set_value(100, FieldUnit::PERCENT);
 
     if ( rSet->GetItemState( SID_ATTR_CHAR_WIDTH_FIT_TO_LINE ) >= 
SfxItemState::DEFAULT )
-        m_nScaleWidthItemSetVal = static_cast<const SfxUInt16Item&>( 
rSet->Get( SID_ATTR_CHAR_WIDTH_FIT_TO_LINE )).GetValue();
+        m_nScaleWidthItemSetVal = rSet->Get( SID_ATTR_CHAR_WIDTH_FIT_TO_LINE 
).GetValue();
 
     // Rotation
     nWhich = GetWhich( SID_ATTR_CHAR_ROTATED );
@@ -2971,7 +2971,7 @@ bool SvxCharPositionPage::FillItemSet( SfxItemSet* rSet )
     nWhich = GetWhich( SID_ATTR_CHAR_SCALEWIDTH );
     if (m_xScaleWidthMF->get_value_changed_from_saved())
     {
-        
rSet->Put(SvxCharScaleWidthItem(static_cast<sal_uInt16>(m_xScaleWidthMF->get_value(FieldUnit::PERCENT)),
 nWhich));
+        
rSet->Put(SvxCharScaleWidthItem(static_cast<sal_uInt16>(m_xScaleWidthMF->get_value(FieldUnit::PERCENT)),
 TypedWhichId<SvxCharScaleWidthItem>(nWhich)));
         bModified = true;
     }
     else if ( SfxItemState::DEFAULT == rOldSet.GetItemState( nWhich, false ) )
@@ -2984,7 +2984,7 @@ bool SvxCharPositionPage::FillItemSet( SfxItemSet* rSet )
          m_x270degRB->get_state_changed_from_saved()  ||
          m_xFitToLineCB->get_state_changed_from_saved() )
     {
-        SvxCharRotateItem aItem( 0_deg10, m_xFitToLineCB->get_active(), nWhich 
);
+        SvxCharRotateItem aItem( 0_deg10, m_xFitToLineCB->get_active(), 
TypedWhichId<SvxCharRotateItem>(nWhich) );
         if (m_x90degRB->get_active())
             aItem.SetBottomToTop();
         else if (m_x270degRB->get_active())
diff --git a/cui/source/tabpages/tpline.cxx b/cui/source/tabpages/tpline.cxx
index d150767daf37..cbb6a6c1a6d1 100644
--- a/cui/source/tabpages/tpline.cxx
+++ b/cui/source/tabpages/tpline.cxx
@@ -242,7 +242,7 @@ void SvxLineTabPage::FillListboxes()
 
 void SvxLineTabPage::ActivatePage( const SfxItemSet& rSet )
 {
-    const CntUInt16Item* pPageTypeItem = 
rSet.GetItem<CntUInt16Item>(SID_PAGE_TYPE, false);
+    const SfxUInt16Item* pPageTypeItem = 
rSet.GetItem<SfxUInt16Item>(SID_PAGE_TYPE, false);
     if (pPageTypeItem)
         SetPageType(static_cast<PageType>(pPageTypeItem->GetValue()));
     if( m_nDlgType == 0 && m_pDashList.is() )
diff --git a/cui/source/tabpages/tptrans.cxx b/cui/source/tabpages/tptrans.cxx
index ce77d61d2fc7..1dc675613d12 100644
--- a/cui/source/tabpages/tptrans.cxx
+++ b/cui/source/tabpages/tptrans.cxx
@@ -419,7 +419,7 @@ void SvxTransparenceTabPage::ChangesApplied()
 
 void SvxTransparenceTabPage::ActivatePage(const SfxItemSet& rSet)
 {
-    const CntUInt16Item* pPageTypeItem = 
rSet.GetItem<CntUInt16Item>(SID_PAGE_TYPE, false);
+    const CntUInt16Item* pPageTypeItem = 
rSet.GetItem<SfxUInt16Item>(SID_PAGE_TYPE, false);
     if (pPageTypeItem)
         SetPageType(static_cast<PageType>(pPageTypeItem->GetValue()));
 
diff --git a/editeng/source/items/paraitem.cxx 
b/editeng/source/items/paraitem.cxx
index ce0032105894..e10c323bcdf6 100644
--- a/editeng/source/items/paraitem.cxx
+++ b/editeng/source/items/paraitem.cxx
@@ -61,7 +61,7 @@ SfxPoolItem* SvxHyphenZoneItem::CreateDefault() { return new  
SvxHyphenZoneItem(
 SfxPoolItem* SvxTabStopItem::CreateDefault() { return new  SvxTabStopItem(0);}
 SfxPoolItem* SvxFormatSplitItem::CreateDefault() { return new  
SvxFormatSplitItem(false, 0);}
 SfxPoolItem* SvxPageModelItem::CreateDefault() { return new  
SvxPageModelItem(TypedWhichId<SvxPageModelItem>(0));}
-SfxPoolItem* SvxParaVertAlignItem::CreateDefault() { return new  
SvxParaVertAlignItem(Align::Automatic, 0);}
+SfxPoolItem* SvxParaVertAlignItem::CreateDefault() { return new  
SvxParaVertAlignItem(Align::Automatic, TypedWhichId<SvxParaVertAlignItem>(0));}
 
 namespace {
 
@@ -1243,7 +1243,7 @@ bool SvxForbiddenRuleItem::GetPresentation(
 *************************************************************************/
 
 SvxParaVertAlignItem::SvxParaVertAlignItem( Align nValue,
-    const sal_uInt16 nW )
+    TypedWhichId<SvxParaVertAlignItem> nW )
     : SfxUInt16Item( nW, static_cast<sal_uInt16>(nValue) )
 {
 }
diff --git a/editeng/source/items/textitem.cxx 
b/editeng/source/items/textitem.cxx
index bc9b8e573027..9504b89d43ea 100644
--- a/editeng/source/items/textitem.cxx
+++ b/editeng/source/items/textitem.cxx
@@ -101,9 +101,9 @@ SfxPoolItem* SvxKerningItem::CreateDefault() {return new 
SvxKerningItem(0, 0);}
 SfxPoolItem* SvxCaseMapItem::CreateDefault() {return new 
SvxCaseMapItem(SvxCaseMap::NotMapped, 0);}
 SfxPoolItem* SvxEscapementItem::CreateDefault() {return new 
SvxEscapementItem(0);}
 SfxPoolItem* SvxLanguageItem::CreateDefault() {return new 
SvxLanguageItem(LANGUAGE_GERMAN, 0);}
-SfxPoolItem* SvxEmphasisMarkItem::CreateDefault() {return new 
SvxEmphasisMarkItem(FontEmphasisMark::NONE, 0);}
-SfxPoolItem* SvxCharRotateItem::CreateDefault() {return new 
SvxCharRotateItem(0_deg10, false, 0);}
-SfxPoolItem* SvxCharScaleWidthItem::CreateDefault() {return new 
SvxCharScaleWidthItem(100, 0);}
+SfxPoolItem* SvxEmphasisMarkItem::CreateDefault() {return new 
SvxEmphasisMarkItem(FontEmphasisMark::NONE, 
TypedWhichId<SvxEmphasisMarkItem>(0));}
+SfxPoolItem* SvxCharRotateItem::CreateDefault() {return new 
SvxCharRotateItem(0_deg10, false, TypedWhichId<SvxCharRotateItem>(0));}
+SfxPoolItem* SvxCharScaleWidthItem::CreateDefault() {return new 
SvxCharScaleWidthItem(100, TypedWhichId<SvxCharScaleWidthItem>(0));}
 SfxPoolItem* SvxCharReliefItem::CreateDefault() {return new 
SvxCharReliefItem(FontRelief::NONE, 0);}
 
 
@@ -2076,7 +2076,7 @@ bool SvxBlinkItem::GetPresentation
 // class SvxEmphaisMarkItem ---------------------------------------------------
 
 SvxEmphasisMarkItem::SvxEmphasisMarkItem( const FontEmphasisMark nValue,
-                                        const sal_uInt16 nId )
+                                        TypedWhichId<SvxEmphasisMarkItem> nId )
     : SfxUInt16Item( nId, static_cast<sal_uInt16>(nValue) )
 {
 }
@@ -2287,7 +2287,7 @@ bool SvxTwoLinesItem::GetPresentation( 
SfxItemPresentation /*ePres*/,
 |*    class SvxTextRotateItem
 *************************************************************************/
 
-SvxTextRotateItem::SvxTextRotateItem(Degree10 nValue, const sal_uInt16 nW)
+SvxTextRotateItem::SvxTextRotateItem(Degree10 nValue, 
TypedWhichId<SvxTextRotateItem> nW)
     : SfxUInt16Item(nW, nValue.get())
 {
 }
@@ -2366,7 +2366,7 @@ void SvxTextRotateItem::dumpAsXml(xmlTextWriterPtr 
pWriter) const
 
 SvxCharRotateItem::SvxCharRotateItem( Degree10 nValue,
                                        bool bFitIntoLine,
-                                       const sal_uInt16 nW )
+                                       TypedWhichId<SvxCharRotateItem> nW )
     : SvxTextRotateItem(nValue, nW), bFitToLine( bFitIntoLine )
 {
 }
@@ -2455,7 +2455,7 @@ void SvxCharRotateItem::dumpAsXml(xmlTextWriterPtr 
pWriter) const
 *************************************************************************/
 
 SvxCharScaleWidthItem::SvxCharScaleWidthItem( sal_uInt16 nValue,
-                                               const sal_uInt16 nW )
+                                               
TypedWhichId<SvxCharScaleWidthItem> nW )
     : SfxUInt16Item( nW, nValue )
 {
 }
diff --git a/editeng/source/items/writingmodeitem.cxx 
b/editeng/source/items/writingmodeitem.cxx
index 252c8c0556c0..35dbddabab2d 100644
--- a/editeng/source/items/writingmodeitem.cxx
+++ b/editeng/source/items/writingmodeitem.cxx
@@ -25,7 +25,7 @@ using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::text;
 
 
-SvxWritingModeItem::SvxWritingModeItem( WritingMode eValue, sal_uInt16 _nWhich 
)
+SvxWritingModeItem::SvxWritingModeItem( WritingMode eValue, 
TypedWhichId<SvxWritingModeItem> _nWhich )
     : SfxUInt16Item( _nWhich, static_cast<sal_uInt16>(eValue) )
 {
 }
diff --git a/extensions/source/propctrlr/fontdialog.cxx 
b/extensions/source/propctrlr/fontdialog.cxx
index 40306fa5f6e8..1a101876ffda 100644
--- a/extensions/source/propctrlr/fontdialog.cxx
+++ b/extensions/source/propctrlr/fontdialog.cxx
@@ -78,7 +78,7 @@ namespace pcr
         constexpr TypedWhichId<SvxWordLineModeItem> CFID_WORDLINEMODE(8);
         constexpr sal_uInt16 CFID_CHARCOLOR =        9;
         constexpr sal_uInt16 CFID_RELIEF =           10;
-        constexpr sal_uInt16 CFID_EMPHASIS =         11;
+        constexpr TypedWhichId<SvxEmphasisMarkItem> CFID_EMPHASIS(11);
 
         constexpr sal_uInt16 CFID_CJK_FONT =         12;
         constexpr sal_uInt16 CFID_CJK_HEIGHT =       13;
@@ -462,8 +462,7 @@ namespace pcr
 
             if ( eState == SfxItemState::SET )
             {
-                const SvxEmphasisMarkItem& rEmphMarkItem =
-                    static_cast<const 
SvxEmphasisMarkItem&>(_rSet.Get(FontItemIds::CFID_EMPHASIS));
+                const SvxEmphasisMarkItem& rEmphMarkItem = 
_rSet.Get(FontItemIds::CFID_EMPHASIS);
 
                 lcl_pushBackPropertyValue( _out_properties, 
PROPERTY_FONT_EMPHASIS_MARK, 
Any(static_cast<sal_Int16>(rEmphMarkItem.GetEmphasisMark())) );
             }
diff --git a/include/editeng/charrotateitem.hxx 
b/include/editeng/charrotateitem.hxx
index 49fb3f345bb3..d8a773065575 100644
--- a/include/editeng/charrotateitem.hxx
+++ b/include/editeng/charrotateitem.hxx
@@ -35,7 +35,7 @@
 class EDITENG_DLLPUBLIC SvxTextRotateItem : public SfxUInt16Item
 {
 public:
-    SvxTextRotateItem(Degree10 nValue, const sal_uInt16 nId);
+    SvxTextRotateItem(Degree10 nValue, TypedWhichId<SvxTextRotateItem> nId);
 
     virtual SvxTextRotateItem* Clone(SfxItemPool *pPool = nullptr) const 
override;
 
@@ -81,7 +81,7 @@ public:
 
     SvxCharRotateItem( Degree10 nValue /*= 0*/,
                        bool bFitIntoLine /*= false*/,
-                       const sal_uInt16 nId );
+                       TypedWhichId<SvxCharRotateItem> nId );
 
     virtual SvxCharRotateItem* Clone( SfxItemPool *pPool = nullptr ) const 
override;
 
diff --git a/include/editeng/charscaleitem.hxx 
b/include/editeng/charscaleitem.hxx
index fff4fa8efae9..7e5025fb37f7 100644
--- a/include/editeng/charscaleitem.hxx
+++ b/include/editeng/charscaleitem.hxx
@@ -38,7 +38,7 @@ public:
     static SfxPoolItem* CreateDefault();
 
     SvxCharScaleWidthItem( sal_uInt16 nValue /*= 100*/,
-                            const sal_uInt16 nId );
+                        TypedWhichId<SvxCharScaleWidthItem> nId );
 
     virtual SvxCharScaleWidthItem* Clone( SfxItemPool *pPool = nullptr ) const 
override;
 
diff --git a/include/editeng/editids.hrc b/include/editeng/editids.hrc
index f33972743aa0..9ff4884fbcbc 100644
--- a/include/editeng/editids.hrc
+++ b/include/editeng/editids.hrc
@@ -128,7 +128,7 @@ class SvxWordLineModeItem;
 #define SID_ATTR_PARA_OUTLLEVEL                         
TypedWhichId<SfxInt16Item>( SID_SVX_START + 300 )
 #define SID_FIELD                                       ( SID_SVX_START + 363 
) // related to EE_FEATURE_FIELD
 #define SID_ATTR_PARA_REGISTER                          ( SID_SVX_START + 413 )
-#define SID_ATTR_PARA_PAGENUM                           ( SID_SVX_START + 457 )
+#define SID_ATTR_PARA_PAGENUM                           
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 457 )
 #define SID_ATTR_PARA_NUMRULE                           ( SID_SVX_START + 587 )
 #define SID_ATTR_BRUSH_CHAR                             
TypedWhichId<SvxBrushItem>( SID_SVX_START + 591 )
 #define SID_ATTR_NUMBERING_RULE                         
TypedWhichId<SvxNumBulletItem>( SID_SVX_START + 855 )
@@ -152,7 +152,7 @@ class SvxWordLineModeItem;
 #define SID_ATTR_CHAR_VERTICAL                          ( SID_SVX_START + 905 )
 #define SID_ATTR_CHAR_ROTATED                           
TypedWhichId<SvxCharRotateItem>( SID_SVX_START + 910 )
 #define SID_ATTR_CHAR_SCALEWIDTH                        
TypedWhichId<SvxCharScaleWidthItem>( SID_SVX_START + 911 )
-#define SID_ATTR_CHAR_WIDTH_FIT_TO_LINE                 ( SID_SVX_START + 919 )
+#define SID_ATTR_CHAR_WIDTH_FIT_TO_LINE                 
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 919 )
 #define SID_ATTR_CHAR_RELIEF                            
TypedWhichId<SvxCharReliefItem>( SID_SVX_START + 920 )
 #define SID_PARA_VERTALIGN                              
TypedWhichId<SvxParaVertAlignItem>( SID_SVX_START + 925 )
 #define SID_ATTR_FRAMEDIRECTION                         
TypedWhichId<SvxFrameDirectionItem>( SID_SVX_START + 944 )
diff --git a/include/editeng/emphasismarkitem.hxx 
b/include/editeng/emphasismarkitem.hxx
index f54c857353c9..e0fd74cf4400 100644
--- a/include/editeng/emphasismarkitem.hxx
+++ b/include/editeng/emphasismarkitem.hxx
@@ -36,7 +36,7 @@ public:
     static SfxPoolItem* CreateDefault();
 
     SvxEmphasisMarkItem(  const FontEmphasisMark eVal /*= 
FontEmphasisMark::NONE*/,
-                          const sal_uInt16 nId  );
+                          TypedWhichId<SvxEmphasisMarkItem> nId  );
 
     // "pure virtual Methods" from SfxPoolItem + SfxEnumItem
     virtual bool GetPresentation( SfxItemPresentation ePres,
diff --git a/include/editeng/paravertalignitem.hxx 
b/include/editeng/paravertalignitem.hxx
index 335b15f3769b..c58274b8fe16 100644
--- a/include/editeng/paravertalignitem.hxx
+++ b/include/editeng/paravertalignitem.hxx
@@ -37,8 +37,7 @@ public:
     enum class Align { Automatic, Baseline, Top, Center, Bottom };
     static SfxPoolItem* CreateDefault();
 
-    SvxParaVertAlignItem( Align nValue /*= 0*/,
-                       const sal_uInt16 nId  );
+    SvxParaVertAlignItem( Align nValue /*= 0*/, 
TypedWhichId<SvxParaVertAlignItem> nId  );
 
     virtual SvxParaVertAlignItem* Clone( SfxItemPool *pPool = nullptr ) const 
override;
 
diff --git a/include/editeng/writingmodeitem.hxx 
b/include/editeng/writingmodeitem.hxx
index f9e116d76897..d01be0e41495 100644
--- a/include/editeng/writingmodeitem.hxx
+++ b/include/editeng/writingmodeitem.hxx
@@ -29,7 +29,7 @@ class EDITENG_DLLPUBLIC SvxWritingModeItem final : public 
SfxUInt16Item
 {
 public:
     SvxWritingModeItem( css::text::WritingMode eValue /*= 
css::text::WritingMode_LR_TB*/,
-                sal_uInt16 nWhich /*= SDRATTR_TEXTDIRECTION*/ );
+                TypedWhichId<SvxWritingModeItem> nWhich /*= 
SDRATTR_TEXTDIRECTION*/ );
     virtual ~SvxWritingModeItem() override;
 
     SvxWritingModeItem(SvxWritingModeItem const &) = default;
diff --git a/include/sfx2/sfxsids.hrc b/include/sfx2/sfxsids.hrc
index 847dc6dac174..59b98b15244e 100644
--- a/include/sfx2/sfxsids.hrc
+++ b/include/sfx2/sfxsids.hrc
@@ -253,7 +253,7 @@ class SvxZoomItem;
 #define SID_DOC_HIERARCHICALNAME            
TypedWhichId<SfxStringItem>(SID_SFX_START + 1701)
 #define SID_TERMINATE_INPLACEACTIVATION     (SID_SFX_START + 1702)
 #define SID_APPLY_STYLE                     (SID_SFX_START + 1703)
-#define SID_MACRO_SIGNATURE                 (SID_SFX_START + 1704)
+#define SID_MACRO_SIGNATURE                 
TypedWhichId<SfxUInt16Item>(SID_SFX_START + 1704)
 #define SID_ATTR_WARNALIENFORMAT            
TypedWhichId<SfxBoolItem>(SID_SFX_START + 1705)
 #define SID_COPY_STREAM_IF_POSSIBLE         
TypedWhichId<SfxBoolItem>(SID_SFX_START + 1706)
 #define SID_MAIL_SENDDOCASFORMAT            (SID_SFX_START + 1707)
@@ -377,7 +377,7 @@ class SvxZoomItem;
 #define SID_STYLE_NEW_BY_EXAMPLE            
TypedWhichId<SfxStringItem>(SID_SFX_START + 555)
 #define SID_STYLE_UPDATE_BY_EXAMPLE         
TypedWhichId<SfxStringItem>(SID_SFX_START + 556)
 #define SID_STYLE_DRAGHIERARCHIE            (SID_SFX_START + 565)
-#define SID_STYLE_MASK                      (SID_SFX_START + 562)
+#define SID_STYLE_MASK                      
TypedWhichId<SfxUInt16Item>(SID_SFX_START + 562)
 #define SID_STYLE_PREVIEW                   (SID_SFX_START + 567)
 #define SID_STYLE_END_PREVIEW               (SID_SFX_START + 568)
 #define SID_STYLE_HIDE                      
TypedWhichId<SfxStringItem>(SID_SFX_START + 1603)
@@ -519,7 +519,7 @@ class SvxZoomItem;
 #define SID_VERB_START                      (SID_SFX_START + 1100)
 #define SID_VERB_END                        (SID_SFX_START + 1121)
 
-#define SID_SIGNATURE                       (SID_SFX_START + 1643)
+#define SID_SIGNATURE                       
TypedWhichId<SfxUInt16Item>(SID_SFX_START + 1643)
 
 // SaveTabPage
 #define SID_ATTR_DOCINFO                
TypedWhichId<SfxBoolItem>(SID_OPTIONS_START +  0)
@@ -589,7 +589,7 @@ class SvxZoomItem;
 #define SID_SIZE_REAL                       (SID_SVX_START +  99)
 #define SID_SIZE_PAGE                       (SID_SVX_START + 100)
 #define SID_GALLERY_BG_BRUSH                (SID_SVX_START + 279)
-#define SID_SEARCH_OPTIONS                  (SID_SVX_START + 281)
+#define SID_SEARCH_OPTIONS                  
TypedWhichId<SfxUInt16Item>(SID_SVX_START + 281)
 #define SID_SEARCH_ITEM                     
TypedWhichId<SvxSearchItem>(SID_SVX_START + 291)
 #define SID_SIDEBAR                         
TypedWhichId<SfxBoolItem>(SID_SVX_START + 336)
 #define SID_NOTEBOOKBAR                     
TypedWhichId<SfxStringItem>(SID_SVX_START + 338)
diff --git a/include/sfx2/zoomitem.hxx b/include/sfx2/zoomitem.hxx
index 4e7703dfdf92..fa1fd9b9d7e8 100644
--- a/include/sfx2/zoomitem.hxx
+++ b/include/sfx2/zoomitem.hxx
@@ -61,7 +61,7 @@ public:
     static SfxPoolItem* CreateDefault();
 
     SvxZoomItem( SvxZoomType eZoomType = SvxZoomType::PERCENT,
-                 sal_uInt16 nVal = 0, sal_uInt16 nWhich = SID_ATTR_ZOOM );
+                 sal_uInt16 nVal = 0, TypedWhichId<SvxZoomItem> nWhich = 
SID_ATTR_ZOOM );
 
     void                    SetValueSet( SvxZoomEnableFlags nValues ) { 
nValueSet = nValues; }
     SvxZoomEnableFlags      GetValueSet() const { return nValueSet; }
diff --git a/include/svx/svxids.hrc b/include/svx/svxids.hrc
index a07a6f133120..e7c9b250d718 100644
--- a/include/svx/svxids.hrc
+++ b/include/svx/svxids.hrc
@@ -35,6 +35,7 @@ class SfxIntegerListItem;
 class SfxPointItem;
 class SfxRectangleItem;
 class SfxStringItem;
+class SfxUInt16Item;
 class SfxUInt32Item;
 class SvxBitmapListItem;
 class SvxBoxInfoItem;
@@ -136,7 +137,7 @@ class XFillGradientItem;
 #define SID_BEZIER_ELIMINATE_POINTS         (SID_SD_START+30)
 #define SID_BEZIER_EDGE                     (SID_SD_START+66)
 #define SID_BEZIER_SYMMTR                   (SID_SD_START+67)
-#define SID_TEXTEDIT                        (SID_SD_START+76)
+#define SID_TEXTEDIT                        
TypedWhichId<SfxUInt16Item>(SID_SD_START+76)
 #define SID_ENTER_GROUP                     (SID_SD_START+96)
 #define SID_LEAVE_GROUP                     (SID_SD_START+97)
 #define SID_SIZE_PAGE_WIDTH                 (SID_SD_START+98)
@@ -181,9 +182,9 @@ class XFillGradientItem;
 #define FN_NUM_BULLET_OFF       (FN_EDIT + 37)  // numbering off
 #define FN_NUM_BULLET_ON        (FN_EDIT + 38)  // numbering with bullets on
 #define FN_NUM_NUMBERING_ON     (FN_EDIT + 44)  // numbering on
-#define FN_BUL_NUM_RULE_INDEX   (FN_EDIT + 120) // achieving num rule index
-#define FN_NUM_NUM_RULE_INDEX   (FN_EDIT + 121)
-#define FN_OUTLINE_RULE_INDEX   (FN_EDIT + 122)
+#define FN_BUL_NUM_RULE_INDEX   TypedWhichId<SfxUInt16Item>(FN_EDIT + 120) // 
achieving num rule index
+#define FN_NUM_NUM_RULE_INDEX   TypedWhichId<SfxUInt16Item>(FN_EDIT + 121)
+#define FN_OUTLINE_RULE_INDEX   TypedWhichId<SfxUInt16Item>(FN_EDIT + 122)
 
 #define FN_INSERT               (SID_SW_START +  300) // 20300
 #define FN_DELETE_BOOKMARK      TypedWhichId<SfxStringItem>(FN_INSERT + 1)
@@ -518,7 +519,7 @@ class XFillGradientItem;
 
 #define SID_TABLEDESIGN                                 ( SID_SVX_START + 429 )
 #define SID_GENERAL_OPTIONS                             ( SID_SVX_START + 432 )
-#define SID_SW_EDITOPTIONS                              ( SID_SVX_START + 433 )
+#define SID_SW_EDITOPTIONS                              
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 433 )
 #define SID_SD_EDITOPTIONS                              ( SID_SVX_START + 434 )
 #define SID_SC_EDITOPTIONS                              ( SID_SVX_START + 435 )
 #define SID_SM_EDITOPTIONS                              ( SID_SVX_START + 436 )
@@ -559,7 +560,7 @@ class XFillGradientItem;
 #define SID_GRFFILTER_POPART                            ( SID_SVX_START + 478 )
 #define SID_GRFFILTER_SEPIA                             ( SID_SVX_START + 479 )
 #define SID_GRFFILTER_SOLARIZE                          ( SID_SVX_START + 480 )
-#define SID_FIELD_GRABFOCUS                             ( SID_SVX_START + 567 )
+#define SID_FIELD_GRABFOCUS                             
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 567 )
 #define SID_ATTR_ALIGN_DEGREES                          ( SID_SVX_START + 577 )
 #define SID_ATTR_ALIGN_LOCKPOS                          ( SID_SVX_START + 578 )
 #define SID_ATTR_NUMBERFORMAT_ONE_AREA                  
TypedWhichId<SfxBoolItem>( SID_SVX_START + 580 )
@@ -614,7 +615,7 @@ class XFillGradientItem;
 #define SID_FM_CREATE_CONTROL                           ( SID_SVX_START + 628 )
 #define SID_FM_DESIGN_MODE                              
TypedWhichId<SfxBoolItem>( SID_SVX_START + 629 )
 #define SID_FM_RECORD_UNDO                              ( SID_SVX_START + 630 )
-#define SID_FM_CONTROL_IDENTIFIER                       ( SID_SVX_START + 631 )
+#define SID_FM_CONTROL_IDENTIFIER                       
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 631 )
 #define SID_FM_CONTROL_INVENTOR                         ( SID_SVX_START + 632 )
 #define SID_FM_SHOW_FMEXPLORER                          ( SID_SVX_START + 633 )
 #define SID_FM_FIELDS_CONTROL                           ( SID_SVX_START + 634 )
@@ -849,9 +850,9 @@ class XFillGradientItem;
 #define SID_ATTR_BORDER_DIAG_BLTR                       ( SID_SVX_START + 1014 
)
 #define SID_ATTR_ALIGN_SHRINKTOFIT                      ( SID_SVX_START + 1015 
)
 #define SID_CHINESE_CONVERSION                          ( SID_SVX_START + 1016 
)
-#define SID_PAGE_TYPE                                   ( SID_SVX_START + 1017 
)
-#define SID_DLG_TYPE                                    ( SID_SVX_START + 1018 
)
-#define SID_TABPAGE_POS                                 ( SID_SVX_START + 1019 
)
+#define SID_PAGE_TYPE                                   
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 1017 )
+#define SID_DLG_TYPE                                    
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 1018 )
+#define SID_TABPAGE_POS                                 
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 1019 )
 #define SID_GRAPHIC                                     ( SID_SVX_START + 1020 
)
 #define SID_OBJECT_LIST                                 
TypedWhichId<OfaPtrItem>( SID_SVX_START + 1021 )
 #define SID_ATTR_SET                                    ( SID_SVX_START + 1022 
)
@@ -861,14 +862,14 @@ class XFillGradientItem;
 #define SID_BULLET_CHAR_FMT                             
TypedWhichId<SfxStringItem>( SID_SVX_START + 1026 )
 #define SID_DISABLE_SVXEXTPARAGRAPHTABPAGE_PAGEBREAK    ( SID_SVX_START + 1027 
)
 #define SID_SVXPARAALIGNTABPAGE_ENABLEJUSTIFYEXT        ( SID_SVX_START + 1028 
)
-#define SID_SVXSTDPARAGRAPHTABPAGE_PAGEWIDTH            ( SID_SVX_START + 1029 
)
+#define SID_SVXSTDPARAGRAPHTABPAGE_PAGEWIDTH            
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 1029 )
 #define SID_SVXSTDPARAGRAPHTABPAGE_FLAGSET              ( SID_SVX_START + 1030 
)
 #define SID_SVXSTDPARAGRAPHTABPAGE_ABSLINEDIST          ( SID_SVX_START + 1031 
)
-#define SID_SVXTABULATORTABPAGE_DISABLEFLAGS            ( SID_SVX_START + 1032 
)
+#define SID_SVXTABULATORTABPAGE_DISABLEFLAGS            
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 1032 )
 #define SID_SVXTEXTATTRPAGE_OBJKIND                     ( SID_SVX_START + 1033 
)
 #define SID_FLAG_TYPE                                   ( SID_SVX_START + 1034 
)
-#define SID_SWMODE_TYPE                                 ( SID_SVX_START + 1035 
)
-#define SID_DISABLE_CTL                                 ( SID_SVX_START + 1036 
)
+#define SID_SWMODE_TYPE                                 
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 1035 )
+#define SID_DISABLE_CTL                                 
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 1036 )
 #define SID_INSERT_HYPERLINKCONTROL                     ( SID_SVX_START + 1037 
)
 #define SID_ENUM_PAGE_MODE                              
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 1038 )
 #define SID_PAPER_START                                 
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 1039 )
@@ -970,8 +971,8 @@ class XFillGradientItem;
 #define SID_CHAR_DLG_EFFECT                             ( SID_SVX_START + 1133 
)
 #define SID_CHAR_DLG_POSITION                           ( SID_SVX_START + 1134 
)
 #define SID_ATTR_FILL_USE_SLIDE_BACKGROUND              ( SID_SVX_START + 1135 
)
-#define FN_SVX_SET_NUMBER                               ( SID_SVX_START + 1136 
)
-#define FN_SVX_SET_BULLET                               ( SID_SVX_START + 1137 
)
+#define FN_SVX_SET_NUMBER                               
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 1136 )
+#define FN_SVX_SET_BULLET                               
TypedWhichId<SfxUInt16Item>( SID_SVX_START + 1137 )
 #define FN_SVX_SET_OUTLINE                              ( SID_SVX_START + 1138 
)
 
 #define SID_ATTR_BORDER_STYLES                          
TypedWhichId<SfxIntegerListItem>( SID_SVX_START + 1140 )
diff --git a/reportdesign/source/ui/report/ReportController.cxx 
b/reportdesign/source/ui/report/ReportController.cxx
index 510e046e47bc..781f4b1c80e6 100644
--- a/reportdesign/source/ui/report/ReportController.cxx
+++ b/reportdesign/source/ui/report/ReportController.cxx
@@ -146,13 +146,13 @@
 #define RPTUI_ID_ULSPACE    TypedWhichId<SvxULSpaceItem>(XATTR_FILL_FIRST - 7)
 #define RPTUI_ID_PAGE       TypedWhichId<SvxPageItem>(XATTR_FILL_FIRST - 6)
 #define RPTUI_ID_SIZE       TypedWhichId<SvxSizeItem>(XATTR_FILL_FIRST - 5)
-#define RPTUI_ID_PAGE_MODE  XATTR_FILL_FIRST - 4
-#define RPTUI_ID_START      XATTR_FILL_FIRST - 3
-#define RPTUI_ID_END        XATTR_FILL_FIRST - 2
+#define RPTUI_ID_PAGE_MODE  TypedWhichId<SfxUInt16Item>(XATTR_FILL_FIRST - 4)
+#define RPTUI_ID_START      TypedWhichId<SfxUInt16Item>(XATTR_FILL_FIRST - 3)
+#define RPTUI_ID_END        TypedWhichId<SfxUInt16Item>(XATTR_FILL_FIRST - 2)
 #define RPTUI_ID_BRUSH      TypedWhichId<SvxBrushItem>(XATTR_FILL_FIRST - 1)
 /// Note that we deliberately overlap an existing item id, so that we can have 
contiguous item ids for
 /// the static defaults.
-#define RPTUI_ID_METRIC     XATTR_FILL_LAST
+#define RPTUI_ID_METRIC     TypedWhichId<SfxUInt16Item>(XATTR_FILL_LAST)
 
 static_assert((RPTUI_ID_METRIC - RPTUI_ID_LRSPACE) == 28, "Item ids are not 
contiguous");
 
diff --git a/sc/inc/sc.hrc b/sc/inc/sc.hrc
index 5fa22160b35c..cd02a5b891d4 100644
--- a/sc/inc/sc.hrc
+++ b/sc/inc/sc.hrc
@@ -88,7 +88,7 @@ class SvxZoomSliderItem;
 
 // cursor movements as properties:
 #define SID_CURRENTCELL         TypedWhichId<SfxStringItem>(SC_VIEW_START + 41)
-#define SID_CURRENTTAB          (SC_VIEW_START + 42)
+#define SID_CURRENTTAB          TypedWhichId<SfxUInt16Item>(SC_VIEW_START + 42)
 #define SID_CURRENTDOC          TypedWhichId<SfxStringItem>(SC_VIEW_START + 43)
 #define SID_CURRENTOBJECT       TypedWhichId<SfxStringItem>(SC_VIEW_START + 44)
 
@@ -180,7 +180,7 @@ class SvxZoomSliderItem;
 #define SID_DLG_RETOK           (SC_MESSAGE_START + 12)
 #define SID_STATUS_DOCPOS       TypedWhichId<SfxStringItem>(SC_MESSAGE_START + 
14)
 #define SID_STATUS_PAGESTYLE    TypedWhichId<SfxStringItem>(SC_MESSAGE_START + 
15)
-#define SID_STATUS_SELMODE      (SC_MESSAGE_START + 16)
+#define SID_STATUS_SELMODE      TypedWhichId<SfxUInt16Item>(SC_MESSAGE_START + 
16)
 #define SID_DLG_MATRIX          (SC_MESSAGE_START + 18)
 
 #define SID_STATUS_SELMODE_ERG  (SC_MESSAGE_START + 22)
@@ -274,7 +274,7 @@ class SvxZoomSliderItem;
 
 #define FID_TOGGLEINPUTLINE     TypedWhichId<SfxBoolItem>(VIEW_MENU_START + 1)
 #define FID_TOGGLEHEADERS       (VIEW_MENU_START + 2)
-#define FID_SCALE               (VIEW_MENU_START + 4)
+#define FID_SCALE               TypedWhichId<SvxZoomItem>(VIEW_MENU_START + 4)
 #define FID_TOGGLESYNTAX        (VIEW_MENU_START + 5)
 #define FID_PAGEBREAKMODE       (VIEW_MENU_START + 7)
 #define FID_FUNCTION_BOX        (VIEW_MENU_START + 8)
@@ -314,11 +314,11 @@ class SvxZoomSliderItem;
 #define FORMAT_MENU_START       (INSERT_MENU_END)
 #define FID_CELL_FORMAT         (FORMAT_MENU_START)
 #define FID_ROW_HEIGHT          TypedWhichId<SfxUInt16Item>(FORMAT_MENU_START 
+ 1)
-#define FID_ROW_OPT_HEIGHT      (FORMAT_MENU_START + 2)
+#define FID_ROW_OPT_HEIGHT      TypedWhichId<SfxUInt16Item>(FORMAT_MENU_START 
+ 2)
 #define FID_ROW_HIDE            (FORMAT_MENU_START + 3)
 #define FID_ROW_SHOW            (FORMAT_MENU_START + 4)
 #define FID_COL_WIDTH           TypedWhichId<SfxUInt16Item>(FORMAT_MENU_START 
+ 5)
-#define FID_COL_OPT_WIDTH       (FORMAT_MENU_START + 6)
+#define FID_COL_OPT_WIDTH       TypedWhichId<SfxUInt16Item>(FORMAT_MENU_START 
+ 6)
 #define FID_COL_HIDE            (FORMAT_MENU_START + 7)
 #define FID_COL_SHOW            (FORMAT_MENU_START + 8)
 #define FID_TABLE_HIDE          (FORMAT_MENU_START + 9)
@@ -636,7 +636,7 @@ static_assert(SID_PREVIEW_END < SID_KEYFUNC_START, "calc 
slots ids trampling inf
 // Sidebar -------------------------------------------------------------
 
 #define SID_PROPERTY_PANEL_CELLTEXT_DLG (SC_SIDEBAR_PROPERTY_BEGIN+0)
-#define SID_NUMBER_TYPE_FORMAT          
TypedWhichId<SfxInt16Item>(SC_SIDEBAR_PROPERTY_BEGIN+1)
+#define SID_NUMBER_TYPE_FORMAT          
TypedWhichId<SfxUInt16Item>(SC_SIDEBAR_PROPERTY_BEGIN+1)
 
 // resources
 
diff --git a/sc/source/filter/xml/xmlcelli.cxx 
b/sc/source/filter/xml/xmlcelli.cxx
index 55ed931b47c0..c041251c0119 100644
--- a/sc/source/filter/xml/xmlcelli.cxx
+++ b/sc/source/filter/xml/xmlcelli.cxx
@@ -523,7 +523,7 @@ void ScXMLTableRowCellContext::PushFormat(sal_Int32 nBegin, 
sal_Int32 nEnd, cons
             case EE_CHAR_FONTWIDTH:
             {
                 if (!pPoolItem)
-                    pPoolItem.reset(new SvxCharScaleWidthItem(100, 
pEntry->mnItemID));
+                    pPoolItem.reset(new SvxCharScaleWidthItem(100, 
TypedWhichId<SvxCharScaleWidthItem>(pEntry->mnItemID)));
 
                 pPoolItem->PutValue(rProp.maValue, pEntry->mnFlag);
             }
@@ -539,7 +539,7 @@ void ScXMLTableRowCellContext::PushFormat(sal_Int32 nBegin, 
sal_Int32 nEnd, cons
             case EE_CHAR_EMPHASISMARK:
             {
                 if (!pPoolItem)
-                    pPoolItem.reset(new 
SvxEmphasisMarkItem(FontEmphasisMark::NONE, pEntry->mnItemID));
+                    pPoolItem.reset(new 
SvxEmphasisMarkItem(FontEmphasisMark::NONE, 
TypedWhichId<SvxEmphasisMarkItem>(pEntry->mnItemID)));
 
                 pPoolItem->PutValue(rProp.maValue, pEntry->mnFlag);
             }
diff --git a/sc/source/ui/pagedlg/tptable.cxx b/sc/source/ui/pagedlg/tptable.cxx
index d5c50b930a2b..f1ea20975998 100644
--- a/sc/source/ui/pagedlg/tptable.cxx
+++ b/sc/source/ui/pagedlg/tptable.cxx
@@ -243,7 +243,7 @@ void ScTablePage::Reset( const SfxItemSet* rCoreSet )
 bool ScTablePage::FillItemSet( SfxItemSet* rCoreSet )
 {
     const SfxItemSet&   rOldSet      = GetItemSet();
-    constexpr sal_uInt16 nWhichPageNo = SID_SCATTR_PAGE_FIRSTPAGENO;
+    constexpr TypedWhichId<SfxUInt16Item> nWhichPageNo = 
SID_SCATTR_PAGE_FIRSTPAGENO;
     bool                bDataChanged = false;
 
     // sal_Bool flags
diff --git a/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx 
b/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx
index b2530df9838f..753e4ec5392b 100644
--- a/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx
+++ b/sc/source/ui/sidebar/NumberFormatPropertyPanel.cxx
@@ -182,7 +182,7 @@ void NumberFormatPropertyPanel::NotifyItemUpdate(
         {
             if( eState >= SfxItemState::DEFAULT)
             {
-                const SfxInt16Item* pItem = static_cast<const 
SfxInt16Item*>(pState);
+                const SfxUInt16Item* pItem = static_cast<const 
SfxUInt16Item*>(pState);
                 sal_uInt16 nVal = pItem->GetValue();
                 mnCategorySelected = nVal;
                 mxLbCategory->set_active(nVal);
diff --git a/sc/source/ui/styleui/styledlg.cxx 
b/sc/source/ui/styleui/styledlg.cxx
index b86d61b9598c..c54b496ea635 100644
--- a/sc/source/ui/styleui/styledlg.cxx
+++ b/sc/source/ui/styleui/styledlg.cxx
@@ -87,7 +87,7 @@ void ScStyleDlg::PageCreated(const OUString& rPageId, 
SfxTabPage& rTabPage)
         SfxAllItemSet aSet(*(GetInputSetImpl()->GetPool()));
         if (rPageId == "page")
         {
-            aSet.Put (SfxUInt16Item(sal_uInt16(SID_ENUM_PAGE_MODE), 
SVX_PAGE_MODE_CENTER));
+            aSet.Put (SfxUInt16Item(SID_ENUM_PAGE_MODE, SVX_PAGE_MODE_CENTER));
             rTabPage.PageCreated(aSet);
         }
         else if (rPageId == "header" || rPageId == "footer")
diff --git a/sc/source/ui/view/cellsh3.cxx b/sc/source/ui/view/cellsh3.cxx
index 2b3c082af597..90a7d4b0a455 100644
--- a/sc/source/ui/view/cellsh3.cxx
+++ b/sc/source/ui/view/cellsh3.cxx
@@ -712,7 +712,7 @@ void ScCellShell::Execute( SfxRequest& rReq )
             {
                 if ( pReqArgs )
                 {
-                    const SfxUInt16Item&  rUInt16Item = static_cast<const 
SfxUInt16Item&>(pReqArgs->Get( FID_ROW_OPT_HEIGHT ));
+                    const SfxUInt16Item&  rUInt16Item = pReqArgs->Get( 
FID_ROW_OPT_HEIGHT );
 
                     // #101390#; the value of the macro is in HMM so use 
convertMm100ToTwip to convert
                     pTabViewShell->SetMarkedWidthOrHeight( false, 
SC_SIZE_OPTIMAL,
@@ -817,7 +817,7 @@ void ScCellShell::Execute( SfxRequest& rReq )
             {
                 if ( pReqArgs )
                 {
-                    const SfxUInt16Item&  rUInt16Item = static_cast<const 
SfxUInt16Item&>(pReqArgs->Get( FID_COL_OPT_WIDTH ));
+                    const SfxUInt16Item&  rUInt16Item = pReqArgs->Get( 
FID_COL_OPT_WIDTH );
 
                     // #101390#; the value of the macro is in HMM so use 
convertMm100ToTwip to convert
                     pTabViewShell->SetMarkedWidthOrHeight( true, 
SC_SIZE_OPTIMAL,
diff --git a/sc/source/ui/view/formatsh.cxx b/sc/source/ui/view/formatsh.cxx
index 1efb52fae3d6..d264fd78ab69 100644
--- a/sc/source/ui/view/formatsh.cxx
+++ b/sc/source/ui/view/formatsh.cxx
@@ -517,7 +517,7 @@ void ScFormatShell::ExecuteNumFormat( SfxRequest& rReq )
                 const SfxPoolItem* pItem;
                 if ( pReqArgs->GetItemState( nSlot, true, &pItem ) == 
SfxItemState::SET )
                 {
-                    sal_uInt16 nFormat = static_cast<const SfxInt16Item 
*>(pItem)->GetValue();
+                    sal_uInt16 nFormat = static_cast<const SfxUInt16Item 
*>(pItem)->GetValue();
                     switch(nFormat)
                     {
                     case 0:
diff --git a/sc/source/ui/view/prevwsh.cxx b/sc/source/ui/view/prevwsh.cxx
index 7c52096f7c2d..c526331d58bf 100644
--- a/sc/source/ui/view/prevwsh.cxx
+++ b/sc/source/ui/view/prevwsh.cxx
@@ -809,7 +809,7 @@ void ScPreviewShell::GetState( SfxItemSet& rSet )
                 break;
             case SID_ATTR_ZOOM:
                 {
-                    SvxZoomItem aZoom( eZoom, nZoom, nWhich );
+                    SvxZoomItem aZoom( eZoom, nZoom, 
TypedWhichId<SvxZoomItem>(nWhich) );
                     aZoom.SetValueSet( SvxZoomEnableFlags::ALL & 
~SvxZoomEnableFlags::OPTIMAL );
                     rSet.Put( aZoom );
                 }
diff --git a/sc/source/ui/view/tabvwsh3.cxx b/sc/source/ui/view/tabvwsh3.cxx
index 6cb57e0ecc53..bb03be4fd9cc 100644
--- a/sc/source/ui/view/tabvwsh3.cxx
+++ b/sc/source/ui/view/tabvwsh3.cxx
@@ -879,7 +879,7 @@ void ScTabViewShell::Execute( SfxRequest& rReq )
                     PaintTop();
                     PaintLeft();
                     rBindings.Invalidate( SID_ATTR_ZOOM );
-                    rReq.AppendItem( SvxZoomItem( GetZoomType(), nZoom, nSlot 
) );
+                    rReq.AppendItem( SvxZoomItem( GetZoomType(), nZoom, 
TypedWhichId<SvxZoomItem>(nSlot) ) );
                     rReq.Done();
                 }
             }
diff --git a/sc/source/ui/view/tabvwsha.cxx b/sc/source/ui/view/tabvwsha.cxx
index b309ac6156d5..41b9892dce1b 100644
--- a/sc/source/ui/view/tabvwsha.cxx
+++ b/sc/source/ui/view/tabvwsha.cxx
@@ -342,7 +342,7 @@ void ScTabViewShell::GetState( SfxItemSet& rSet )
                 {
                     const Fraction& rOldY = GetViewData().GetZoomY();
                     sal_uInt16 nZoom = static_cast<sal_uInt16>(tools::Long( 
rOldY * 100 ));
-                    rSet.Put( SvxZoomItem( SvxZoomType::PERCENT, nZoom, nWhich 
) );
+                    rSet.Put( SvxZoomItem( SvxZoomType::PERCENT, nZoom, 
TypedWhichId<SvxZoomItem>(nWhich) ) );
                 }
                 break;
 
diff --git a/sd/inc/app.hrc b/sd/inc/app.hrc
index bf944d2b3675..73a82fef0067 100644
--- a/sd/inc/app.hrc
+++ b/sd/inc/app.hrc
@@ -169,7 +169,7 @@
 #define SID_OBJECT_CLOSE                    (SID_SD_START+109)
 #define SID_ANIMATOR_ADD                    (SID_SD_START+110)
 #define SID_ANIMATOR_CREATE                 (SID_SD_START+111)
-#define SID_ANIMATOR_STATE                  (SID_SD_START+112)
+#define SID_ANIMATOR_STATE                  
TypedWhichId<SfxUInt16Item>(SID_SD_START+112)
 #define SID_PRESENTATIONOBJECT              (SID_SD_START+113)
 // In svxids.hrc:  SID_SIZE_VISAREA             (SID_SD_START+114)
 // In svxids.hrc:  SID_ATTR_SYMBOLTYPE          (SID_SD_START+115)
@@ -309,14 +309,14 @@
 #define SID_UNSELECT                        (SID_SD_START+280)
 #define SID_TEXTATTR_DLG                    (SID_SD_START+281)
 #define SID_ORIGINAL_SIZE                   (SID_SD_START+282)
-#define SID_PAGES_PER_ROW                   (SID_SD_START+284)
+#define SID_PAGES_PER_ROW                   
TypedWhichId<SfxUInt16Item>(SID_SD_START+284)
 #define SID_TEXT_FITTOSIZE                  (SID_SD_START+285)
 // In svxids.hrc: SID_TEXT_FITTOSIZE_VERTICAL   (SID_SD_START+286)
 #define SID_NAVIGATOR_PAGENAME              
TypedWhichId<SfxStringItem>(SID_SD_START+287)
 #define SID_NAVIGATOR_STATE                 (SID_SD_START+288)
 #define SID_NAVIGATOR_INIT                  (SID_SD_START+289)
     // FREE
-#define SID_NAVIGATOR_PAGE                  (SID_SD_START+292)
+#define SID_NAVIGATOR_PAGE                  
TypedWhichId<SfxUInt16Item>(SID_SD_START+292)
 #define SID_NAVIGATOR_OBJECT                
TypedWhichId<SfxStringItem>(SID_SD_START+293)
 #define SID_ANIMATOR_INIT                   (SID_SD_START+294)
 #define SID_DRAWTBX_3D_OBJECTS              (SID_SD_START+295)
@@ -328,7 +328,7 @@
 #define SID_GLUE_EDITMODE                   (SID_SD_START+301)
 #define SID_GLUE_INSERT_POINT               (SID_SD_START+302)
 #define SID_GLUE_PERCENT                    (SID_SD_START+303)
-#define SID_GLUE_ESCDIR                     (SID_SD_START+304)
+#define SID_GLUE_ESCDIR                     
TypedWhichId<SfxUInt16Item>(SID_SD_START+304)
 #define SID_GLUE_HORZALIGN_CENTER           (SID_SD_START+305)
 #define SID_GLUE_HORZALIGN_LEFT             (SID_SD_START+306)
 #define SID_GLUE_HORZALIGN_RIGHT            (SID_SD_START+307)
diff --git a/sd/inc/sdattr.hrc b/sd/inc/sdattr.hrc
index 958ab13e7fb2..e4c102f46557 100644
--- a/sd/inc/sdattr.hrc
+++ b/sd/inc/sdattr.hrc
@@ -60,8 +60,8 @@ class XColorItem;
 // animation attributes
 #define ATTR_ANIMATION_START            ATTR_PRESENT_END + 1
 #define ATTR_ANIMATION_ACTIVE           ATTR_ANIMATION_START
-#define ATTR_ANIMATION_EFFECT           ATTR_ANIMATION_START + 1
-#define ATTR_ANIMATION_SPEED            ATTR_ANIMATION_START + 2
+#define ATTR_ANIMATION_EFFECT           
TypedWhichId<SfxUInt16Item>(ATTR_ANIMATION_START + 1)
+#define ATTR_ANIMATION_SPEED            
TypedWhichId<SfxUInt16Item>(ATTR_ANIMATION_START + 2)
 #define ATTR_ANIMATION_INVISIBLE        ATTR_ANIMATION_START + 3
 #define ATTR_ANIMATION_FADEOUT          ATTR_ANIMATION_START + 4
 #define ATTR_ANIMATION_COLOR            ATTR_ANIMATION_START + 5
@@ -72,9 +72,9 @@ class XColorItem;
 #define ATTR_ANIMATION_END              ATTR_ANIMATION_TEXTEFFECT
 
 #define ATTR_ACTION_START               ATTR_ANIMATION_END + 1
-#define ATTR_ACTION                     ATTR_ACTION_START
-#define ATTR_ACTION_EFFECT              ATTR_ACTION_START + 1
-#define ATTR_ACTION_EFFECTSPEED         ATTR_ACTION_START + 2
+#define ATTR_ACTION                     
TypedWhichId<SfxUInt16Item>(ATTR_ACTION_START)
+#define ATTR_ACTION_EFFECT              
TypedWhichId<SfxUInt16Item>(ATTR_ACTION_START + 1)
+#define ATTR_ACTION_EFFECTSPEED         
TypedWhichId<SfxUInt16Item>(ATTR_ACTION_START + 2)
 #define ATTR_ACTION_FILENAME            
TypedWhichId<SfxStringItem>(ATTR_ACTION_START + 3)
 #define ATTR_ACTION_SOUNDON             ATTR_ACTION_START + 4
 #define ATTR_ACTION_PLAYFULL            ATTR_ACTION_START + 5
@@ -92,7 +92,7 @@ class XColorItem;
 #define ATTR_COPY_END                   ATTR_COPY_END_COLOR
 
 #define ATTR_SNAPLINE_START             ATTR_COPY_END + 1
-#define ATTR_SNAPLINE_KIND              ATTR_SNAPLINE_START
+#define ATTR_SNAPLINE_KIND              
TypedWhichId<SfxUInt16Item>(ATTR_SNAPLINE_START)
 #define ATTR_SNAPLINE_X                 ATTR_SNAPLINE_START + 1
 #define ATTR_SNAPLINE_Y                 ATTR_SNAPLINE_START + 2
 #define ATTR_SNAPLINE_END               ATTR_SNAPLINE_Y
diff --git a/sd/source/ui/dlg/dlgpage.cxx b/sd/source/ui/dlg/dlgpage.cxx
index ecc452dca022..5e41ec6cec20 100644
--- a/sd/source/ui/dlg/dlgpage.cxx
+++ b/sd/source/ui/dlg/dlgpage.cxx
@@ -84,7 +84,7 @@ void SdPageDlg::PageCreated(const OUString& rId, SfxTabPage& 
rPage)
     SfxAllItemSet aSet(*(GetInputSetImpl()->GetPool()));
     if (rId == "RID_SVXPAGE_PAGE")
     {
-        aSet.Put(SfxUInt16Item(sal_uInt16(SID_ENUM_PAGE_MODE), 
SVX_PAGE_MODE_PRESENTATION));
+        aSet.Put(SfxUInt16Item(SID_ENUM_PAGE_MODE, 
SVX_PAGE_MODE_PRESENTATION));
         aSet.Put(SfxUInt16Item(SID_PAPER_START, PAPER_A0));
         aSet.Put(SfxUInt16Item(SID_PAPER_END, PAPER_E));
 
diff --git a/sd/source/ui/dlg/tpaction.cxx b/sd/source/ui/dlg/tpaction.cxx
index ed2690ebdbd7..db92bd2a820e 100644
--- a/sd/source/ui/dlg/tpaction.cxx
+++ b/sd/source/ui/dlg/tpaction.cxx
@@ -289,8 +289,8 @@ void SdTPAction::Reset( const SfxItemSet* rAttrs )
     // m_xLbAction
     if( rAttrs->GetItemState( ATTR_ACTION ) != SfxItemState::DONTCARE )
     {
-        eCA = static_cast<presentation::ClickAction>(static_cast<const 
SfxUInt16Item&>( rAttrs->
-                    Get( ATTR_ACTION ) ).GetValue());
+        eCA = static_cast<presentation::ClickAction>( rAttrs->
+                    Get( ATTR_ACTION ).GetValue());
         SetActualClickAction( eCA );
     }
     else
diff --git a/sd/source/ui/func/fuoaprms.cxx b/sd/source/ui/func/fuoaprms.cxx
index b0de894dc194..fd01f9befd1d 100644
--- a/sd/source/ui/func/fuoaprms.cxx
+++ b/sd/source/ui/func/fuoaprms.cxx
@@ -466,8 +466,8 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& 
rReq )
 
     if (pArgs->GetItemState(ATTR_ANIMATION_EFFECT) == SfxItemState::SET)
     {
-        eEffect = static_cast<presentation::AnimationEffect>(static_cast<const 
SfxUInt16Item&>( pArgs->
-                    Get(ATTR_ANIMATION_EFFECT)).GetValue());
+        eEffect = static_cast<presentation::AnimationEffect>( pArgs->
+                    Get(ATTR_ANIMATION_EFFECT).GetValue());
         nEffectSet = ATTR_SET;
     }
     else
@@ -484,8 +484,8 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& 
rReq )
 
     if (pArgs->GetItemState(ATTR_ANIMATION_SPEED) == SfxItemState::SET)
     {
-        eSpeed  = static_cast<presentation::AnimationSpeed>(static_cast<const 
SfxUInt16Item&>( pArgs->
-                    Get(ATTR_ANIMATION_SPEED)).GetValue());
+        eSpeed  = static_cast<presentation::AnimationSpeed>( pArgs->
+                    Get(ATTR_ANIMATION_SPEED).GetValue());
         nSpeedSet = ATTR_SET;
     }
     else
@@ -541,8 +541,8 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& 
rReq )
 
     if (pArgs->GetItemState(ATTR_ACTION) == SfxItemState::SET)
     {
-        eClickAction = 
static_cast<presentation::ClickAction>(static_cast<const SfxUInt16Item&>(pArgs->
-                    Get(ATTR_ACTION)).GetValue());
+        eClickAction = static_cast<presentation::ClickAction>(pArgs->
+                    Get(ATTR_ACTION).GetValue());
         nClickActionSet = ATTR_SET;
     }
     else
@@ -558,8 +558,8 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& 
rReq )
 
     if (pArgs->GetItemState(ATTR_ACTION_EFFECT) == SfxItemState::SET)
     {
-        eSecondEffect = 
static_cast<presentation::AnimationEffect>(static_cast<const SfxUInt16Item&>( 
pArgs->
-                    Get(ATTR_ACTION_EFFECT)).GetValue());
+        eSecondEffect = static_cast<presentation::AnimationEffect>( pArgs->
+                    Get(ATTR_ACTION_EFFECT).GetValue());
         nSecondEffectSet = ATTR_SET;
     }
     else
@@ -567,8 +567,8 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& 
rReq )
 
     if (pArgs->GetItemState(ATTR_ACTION_EFFECTSPEED) == SfxItemState::SET)
     {
-        eSecondSpeed  = 
static_cast<presentation::AnimationSpeed>(static_cast<const SfxUInt16Item&>( 
pArgs->
-                    Get(ATTR_ACTION_EFFECTSPEED)).GetValue());
+        eSecondSpeed  = static_cast<presentation::AnimationSpeed>( pArgs->
+                    Get(ATTR_ACTION_EFFECTSPEED).GetValue());
         nSecondSpeedSet = ATTR_SET;
     }
     else
diff --git a/sd/source/ui/func/fusnapln.cxx b/sd/source/ui/func/fusnapln.cxx
index ee51d78cec88..323404b5afab 100644
--- a/sd/source/ui/func/fusnapln.cxx
+++ b/sd/source/ui/func/fusnapln.cxx
@@ -167,8 +167,7 @@ void FuSnapLine::DoExecute( SfxRequest& rReq )
 
         pPV = mpView->GetSdrPageView();
 
-        switch ( static_cast<SnapKind>(static_cast<const SfxUInt16Item&>(
-                 pArgs->Get(ATTR_SNAPLINE_KIND)).GetValue()) )
+        switch ( 
static_cast<SnapKind>(pArgs->Get(ATTR_SNAPLINE_KIND).GetValue()) )
         {
             case SnapKind::Horizontal  : eKind = SdrHelpLineKind::Horizontal;  
 break;
             case SnapKind::Vertical    : eKind = SdrHelpLineKind::Vertical;    
 break;
diff --git a/sd/source/ui/func/futext.cxx b/sd/source/ui/func/futext.cxx
index f01851668f76..559846aeb5f0 100644
--- a/sd/source/ui/func/futext.cxx
+++ b/sd/source/ui/func/futext.cxx
@@ -234,7 +234,7 @@ void FuText::DoExecute( SfxRequest& )
         && SID_TEXTEDIT == nSlotId
         && SfxItemState::SET == pArgs->GetItemState(SID_TEXTEDIT)
 
-        && static_cast<const 
SfxUInt16Item&>(pArgs->Get(SID_TEXTEDIT)).GetValue() == 2)
+        && pArgs->Get(SID_TEXTEDIT).GetValue() == 2)
     {
         // Selection by doubleclick -> don't allow QuickDrag
         bQuickDrag = false;
@@ -1256,7 +1256,7 @@ void FuText::ReceiveRequest(SfxRequest& rReq)
         && SID_TEXTEDIT == nSlotId
         && SfxItemState::SET == pArgs->GetItemState(SID_TEXTEDIT)
 
-        && static_cast<const SfxUInt16Item&>( 
pArgs->Get(SID_TEXTEDIT)).GetValue() == 2)
+        && pArgs->Get(SID_TEXTEDIT).GetValue() == 2)
     {
         // selection with double click -> do not allow QuickDrag
         bQuickDrag = false;
diff --git a/sd/source/ui/view/drviewsd.cxx b/sd/source/ui/view/drviewsd.cxx
index 59b040e68b97..1a6bb3aee913 100644
--- a/sd/source/ui/view/drviewsd.cxx
+++ b/sd/source/ui/view/drviewsd.cxx
@@ -72,8 +72,7 @@ void DrawViewShell::ExecNavigatorWin( SfxRequest& rReq )
                     mpDrawView->SdrEndTextEdit();
 
                 const SfxItemSet* pArgs = rReq.GetArgs();
-                PageJump eJump = static_cast<PageJump>(static_cast<const 
SfxUInt16Item&>( pArgs->
-                                  Get(SID_NAVIGATOR_PAGE)).GetValue());
+                PageJump eJump = static_cast<PageJump>( 
pArgs->Get(SID_NAVIGATOR_PAGE).GetValue() );
 
                 switch (eJump)
                 {
diff --git a/sfx2/source/doc/zoomitem.cxx b/sfx2/source/doc/zoomitem.cxx
index 60f193e85388..a1c407aa6d72 100644
--- a/sfx2/source/doc/zoomitem.cxx
+++ b/sfx2/source/doc/zoomitem.cxx
@@ -39,7 +39,7 @@ SvxZoomItem::SvxZoomItem
 (
     SvxZoomType eZoomType,
     sal_uInt16      nVal,
-    sal_uInt16      _nWhich
+    TypedWhichId<SvxZoomItem>      _nWhich
 )
 :   SfxUInt16Item( _nWhich, nVal ),
     nValueSet( SvxZoomEnableFlags::ALL ),
diff --git a/svx/source/stbctrls/zoomctrl.cxx b/svx/source/stbctrls/zoomctrl.cxx
index 3faaa17073f2..77bb47fce38f 100644
--- a/svx/source/stbctrls/zoomctrl.cxx
+++ b/svx/source/stbctrls/zoomctrl.cxx
@@ -172,7 +172,7 @@ void SvxZoomStatusBarControl::Command( const CommandEvent& 
rCEvt )
         {
             nZoom = aPop.GetZoom(sIdent);
             ImplUpdateItemText();
-            SvxZoomItem aZoom(SvxZoomType::PERCENT, nZoom, GetId());
+            SvxZoomItem aZoom(SvxZoomType::PERCENT, nZoom, 
TypedWhichId<SvxZoomItem>(GetId()));
 
             if (sIdent == "optimal")
                 aZoom.SetType(SvxZoomType::OPTIMAL);
@@ -234,7 +234,7 @@ void SvxZoomPageStatusBarControl::Paint(const 
UserDrawEvent& rUsrEvt)
 
 bool SvxZoomPageStatusBarControl::MouseButtonDown(const MouseEvent&)
 {
-    SvxZoomItem aZoom( SvxZoomType::WHOLEPAGE, 0, GetId() );
+    SvxZoomItem aZoom( SvxZoomType::WHOLEPAGE, 0, 
TypedWhichId<SvxZoomItem>(GetId()) );
 
     css::uno::Any a;
     aZoom.QueryValue( a );
diff --git a/sw/inc/cmdid.h b/sw/inc/cmdid.h
index dda6aafb36f2..14d721ae427b 100644
--- a/sw/inc/cmdid.h
+++ b/sw/inc/cmdid.h
@@ -238,7 +238,7 @@ class SwUINumRuleItem;
 #define FN_INSERT_STRING        TypedWhichId<SfxStringItem>(FN_INSERT+31)
 #define FN_INSERT_COMBO_BOX_CONTENT_CONTROL (FN_INSERT + 32) /* Combo box 
content control */
 #define FN_INSERT_FRAME_INTERACT (FN_INSERT + 33)   /* Insert interactive 
frame */
-#define FN_INSERT_FRAME         (FN_INSERT + 34)    /* Insert Frame */
+#define FN_INSERT_FRAME         TypedWhichId<SfxUInt16Item>(FN_INSERT + 34)    
/* Insert Frame */
 
 #define FN_INSERT_IDX_ENTRY_DLG (FN_INSERT + 35)    /* insert index entry */
 #define FN_INSERT_FRAME_INTERACT_NOCOL (FN_INSERT + 36) /*insert interactive 
non column frame*/
@@ -388,14 +388,14 @@ class SwUINumRuleItem;
 #define FN_TABLE_MERGE_CELLS        (FN_FORMAT + 106)  /* */
 #define FN_TABLE_SET_ROW_HEIGHT     (FN_FORMAT + 107)  /* */
 #define FN_TABLE_SET_COL_WIDTH      (FN_FORMAT + 108)  /* */
-#define FN_TABLE_INSERT_ROW_AFTER   (FN_FORMAT + 109)  /* */
+#define FN_TABLE_INSERT_ROW_AFTER   TypedWhichId<SfxUInt16Item>(FN_FORMAT + 
109)  /* */
 #define FN_OPTIMIZE_TABLE           (FN_FORMAT + 110)  /* ToolBoxItem for 
optimizing tables */
 #define FN_TABLE_INSERT_ROW_BEFORE  (FN_FORMAT + 111)  /* */
 #define FN_TABLE_INSERT_COL_BEFORE  (FN_FORMAT + 112)  /* */
 #define FN_TABLE_SELECT_ROW         (FN_FORMAT + 113)  /* */
 #define FN_TABLE_SELECT_COL         (FN_FORMAT + 114)  /* */
 #define FN_TABLE_SELECT_ALL         (FN_FORMAT + 115)  /* */
-#define FN_TABLE_INSERT_COL_AFTER   (FN_FORMAT + 116)  /* */
+#define FN_TABLE_INSERT_COL_AFTER   TypedWhichId<SfxUInt16Item>(FN_FORMAT + 
116)  /* */
 #define FN_TABLE_SET_READ_ONLY_CELLS (FN_FORMAT + 117)  /* protect table cells 
*/
 #define FN_TABLE_UNSET_READ_ONLY_CELLS  (FN_FORMAT + 119)  /* undo table cell 
protection */
 #define FN_TABLE_HEADLINE_REPEAT    (FN_FORMAT + 120)   /* also used in 
SwXTextTable*/
@@ -490,7 +490,7 @@ class SwUINumRuleItem;
 #define FN_FRAME_UNCHAIN                    (FN_FORMAT2 + 137)
 
 #define FN_NUMBER_NEWSTART                  (FN_FORMAT2 + 138)
-#define FN_NUMBER_NEWSTART_AT               (FN_FORMAT2 + 139)
+#define FN_NUMBER_NEWSTART_AT               
TypedWhichId<SfxUInt16Item>(FN_FORMAT2 + 139)
 
 #define FN_FRAME_MIRROR_ON_EVEN_PAGES       (FN_FORMAT2 + 140)
 #define FN_GRAPHIC_MIRROR_ON_EVEN_PAGES     (FN_FORMAT2 + 141)
@@ -528,7 +528,7 @@ class SwUINumRuleItem;
 #define FN_GLOSSARY_DLG             (FN_EXTRA + 20)   /* text building blocks 
*/
 
 #define FN_EXPAND_GLOSSARY          (FN_EXTRA + 28)   /* expand text building 
blocks */
-#define FN_CHANGE_PAGENUM           (FN_EXTRA + 34)   /* change page numbers*/
+#define FN_CHANGE_PAGENUM           TypedWhichId<SfxUInt16Item>(FN_EXTRA + 34) 
  /* change page numbers*/
 #define FN_ADD_TEXT_BOX             (FN_EXTRA + 35)   /* add text box to draw 
shape */
 #define FN_REMOVE_TEXT_BOX          (FN_EXTRA + 36)   /* remove text box of 
draw shape */
 #define FN_OPEN_LOCAL_URL           (FN_EXTRA + 37)   /* open local copy for 
bibliography */
@@ -867,8 +867,8 @@ class SwUINumRuleItem;
 #define FN_STAT_PAGE                (FN_STAT + 1)
 #define FN_STAT_TEMPLATE            TypedWhichId<SfxStringItem>(FN_STAT + 2)
 #define FN_STAT_ZOOM                (FN_STAT + 3)
-#define FN_STAT_SELMODE             (FN_STAT + 5)
-#define FN_STAT_BOOKMARK            (FN_STAT + 8)  /* For Popup Bookmarks*/
+#define FN_STAT_SELMODE             TypedWhichId<SfxUInt16Item>(FN_STAT + 5)
+#define FN_STAT_BOOKMARK            TypedWhichId<SfxUInt16Item>(FN_STAT + 8)  
/* For Popup Bookmarks*/
 #define FN_STAT_WORDCOUNT           TypedWhichId<SfxStringItem>(FN_STAT + 9)
 #define FN_STAT_ACCESSIBILITY_CHECK (FN_STAT + 10)
 
diff --git a/sw/inc/globals.hrc b/sw/inc/globals.hrc
index 473ec1f5fbff..7f2eb29d8b2e 100644
--- a/sw/inc/globals.hrc
+++ b/sw/inc/globals.hrc
@@ -54,7 +54,7 @@
 //maximum: RC_GLOBALS_BEGIN +  120
 
 #define SID_PREVIEWFLAG_TYPE        (RC_GLOBALS_BEGIN +  114)
-#define SID_FONTMODE_TYPE           (RC_GLOBALS_BEGIN +  115)
+#define SID_FONTMODE_TYPE           
TypedWhichId<SfxUInt16Item>(RC_GLOBALS_BEGIN +  115)
 #define SID_FAX_LIST                (RC_GLOBALS_BEGIN +  116)
 #define SID_WRT_SHELL               (RC_GLOBALS_BEGIN +  117)
 
diff --git a/sw/source/ui/chrdlg/numpara.cxx b/sw/source/ui/chrdlg/numpara.cxx
index 76c2f27ef472..e002a6db1640 100644
--- a/sw/source/ui/chrdlg/numpara.cxx
+++ b/sw/source/ui/chrdlg/numpara.cxx
@@ -281,7 +281,7 @@ void SwParagraphNumTabPage::Reset(const SfxItemSet* rSet)
     eItemState = rSet->GetItemState( FN_NUMBER_NEWSTART_AT);
     if( eItemState > SfxItemState::DEFAULT )
     {
-        const sal_uInt16 nNewStart = static_cast<const 
SfxUInt16Item&>(rSet->Get(FN_NUMBER_NEWSTART_AT)).GetValue();
+        const sal_uInt16 nNewStart = 
rSet->Get(FN_NUMBER_NEWSTART_AT).GetValue();
         const bool bNotMax = USHRT_MAX != nNewStart;
         m_xNewStartNumberCB->set_active(bNotMax);
         m_xNewStartNF->set_value(bNotMax ? nNewStart : 1);
diff --git a/sw/source/uibase/shells/tabsh.cxx 
b/sw/source/uibase/shells/tabsh.cxx
index 855685eda05d..916c4c839485 100644
--- a/sw/source/uibase/shells/tabsh.cxx
+++ b/sw/source/uibase/shells/tabsh.cxx
@@ -995,7 +995,7 @@ void SwTableShell::Execute(SfxRequest &rReq)
                                                                                
         nSlot == FN_TABLE_INSERT_COL_DLG, pSlot->GetCommand()));
                 if( pDlg->Execute() == 1 )
                 {
-                    const sal_uInt16 nDispatchSlot = (nSlot == 
FN_TABLE_INSERT_COL_DLG)
+                    const TypedWhichId<SfxUInt16Item> nDispatchSlot = (nSlot 
== FN_TABLE_INSERT_COL_DLG)
                         ? FN_TABLE_INSERT_COL_AFTER : 
FN_TABLE_INSERT_ROW_AFTER;
                     SfxUInt16Item aCountItem( nDispatchSlot, 
pDlg->getInsertCount() );
                     SfxBoolItem  aAfter( FN_PARAM_INSERT_AFTER, 
!pDlg->isInsertBefore() );
diff --git a/sw/source/uibase/shells/textsh1.cxx 
b/sw/source/uibase/shells/textsh1.cxx
index 774f6299559a..b6f68af7406b 100644
--- a/sw/source/uibase/shells/textsh1.cxx
+++ b/sw/source/uibase/shells/textsh1.cxx
@@ -337,14 +337,14 @@ static void sw_ParagraphDialogResult(SfxItemSet* pSet, 
SwWrtShell &rWrtSh, SfxRe
         sal_uInt16 nNumStart = USHRT_MAX;
         if( SfxItemState::SET == pSet->GetItemState(FN_NUMBER_NEWSTART_AT) )
         {
-            nNumStart = static_cast<const 
SfxUInt16Item&>(pSet->Get(FN_NUMBER_NEWSTART_AT)).GetValue();
+            nNumStart = pSet->Get(FN_NUMBER_NEWSTART_AT).GetValue();
         }
         rWrtSh.SetNumRuleStart(bStart, pPaM);
         rWrtSh.SetNodeNumStart(nNumStart);
     }
     else if( SfxItemState::SET == pSet->GetItemState(FN_NUMBER_NEWSTART_AT) )
     {
-        rWrtSh.SetNodeNumStart(static_cast<const 
SfxUInt16Item&>(pSet->Get(FN_NUMBER_NEWSTART_AT)).GetValue());
+        rWrtSh.SetNodeNumStart(pSet->Get(FN_NUMBER_NEWSTART_AT).GetValue());
         rWrtSh.SetNumRuleStart(false, pPaM);
     }
     // #i56253#

Reply via email to