diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-03-14 12:28:06 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-03-14 14:20:26 +0100 |
commit | 6ba9daac763baf37c833911be5e5fb97e068bea1 (patch) | |
tree | 12ba4c5402747074f5a4b69a10fc60ab1c3d6603 /include | |
parent | a342ac91e21dd45640b7dea063bc04b80f0feb6e (diff) |
add TypedWhichId version of QueryState
Change-Id: I95b86fc081847da01e06f50a1b2c7e7f5456c638
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131529
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'include')
-rw-r--r-- | include/editeng/editids.hrc | 12 | ||||
-rw-r--r-- | include/sfx2/bindings.hxx | 8 | ||||
-rw-r--r-- | include/sfx2/dispatch.hxx | 5 | ||||
-rw-r--r-- | include/sfx2/sfxsids.hrc | 15 | ||||
-rw-r--r-- | include/svx/rulritem.hxx | 8 | ||||
-rw-r--r-- | include/svx/svxids.hrc | 3 |
6 files changed, 35 insertions, 16 deletions
diff --git a/include/editeng/editids.hrc b/include/editeng/editids.hrc index 92007573fe5d..a418a3f889b5 100644 --- a/include/editeng/editids.hrc +++ b/include/editeng/editids.hrc @@ -25,10 +25,14 @@ class SfxGrabBagItem; class SfxUInt16Item; class SvxBrushItem; class SvxFontItem; +class SvxKerningItem; class SvxLanguageItem; +class SvxLineSpacingItem; class SvxPageModelItem; class SvxPostureItem; class SvxTabStopItem; +class SvxUnderlineItem; +class SvxWeightItem; /* These SID_SVX_START entries came from include/svx/svxids.hrc, avoid @@ -44,16 +48,16 @@ class SvxTabStopItem; #define SID_ATTR_CHAR ( SID_SVX_START + 6 ) #define SID_ATTR_CHAR_FONT TypedWhichId<SvxFontItem>( SID_SVX_START + 7 ) #define SID_ATTR_CHAR_POSTURE TypedWhichId<SvxPostureItem>( SID_SVX_START + 8 ) -#define SID_ATTR_CHAR_WEIGHT ( SID_SVX_START + 9 ) +#define SID_ATTR_CHAR_WEIGHT TypedWhichId<SvxWeightItem>( SID_SVX_START + 9 ) #define SID_ATTR_CHAR_SHADOWED ( SID_SVX_START + 10 ) #define SID_ATTR_CHAR_WORDLINEMODE ( SID_SVX_START + 11 ) #define SID_ATTR_CHAR_CONTOUR ( SID_SVX_START + 12 ) #define SID_ATTR_CHAR_STRIKEOUT ( SID_SVX_START + 13 ) -#define SID_ATTR_CHAR_UNDERLINE ( SID_SVX_START + 14 ) +#define SID_ATTR_CHAR_UNDERLINE TypedWhichId<SvxUnderlineItem>( SID_SVX_START + 14 ) #define SID_ATTR_CHAR_FONTHEIGHT ( SID_SVX_START + 15 ) // free #define SID_ATTR_CHAR_COLOR ( SID_SVX_START + 17 ) -#define SID_ATTR_CHAR_KERNING ( SID_SVX_START + 18 ) +#define SID_ATTR_CHAR_KERNING TypedWhichId<SvxKerningItem>( SID_SVX_START + 18 ) #define SID_ATTR_CHAR_CASEMAP ( SID_SVX_START + 19 ) #define SID_ATTR_CHAR_LANGUAGE ( SID_SVX_START + 20 ) #define SID_ATTR_CHAR_ESCAPEMENT ( SID_SVX_START + 21 ) @@ -65,7 +69,7 @@ class SvxTabStopItem; #define SID_ATTR_PARA_ADJUST_RIGHT ( SID_SVX_START + 29 ) #define SID_ATTR_PARA_ADJUST_CENTER ( SID_SVX_START + 30 ) #define SID_ATTR_PARA_ADJUST_BLOCK ( SID_SVX_START + 31 ) -#define SID_ATTR_PARA_LINESPACE ( SID_SVX_START + 33 ) +#define SID_ATTR_PARA_LINESPACE TypedWhichId<SvxLineSpacingItem>( SID_SVX_START + 33 ) #define SID_ATTR_PARA_LINESPACE_10 ( SID_SVX_START + 34 ) #define SID_ATTR_PARA_LINESPACE_15 ( SID_SVX_START + 35 ) #define SID_ATTR_PARA_LINESPACE_115 ( SID_SVX_START + 26 ) diff --git a/include/sfx2/bindings.hxx b/include/sfx2/bindings.hxx index 38104105088d..d058c939e4f9 100644 --- a/include/sfx2/bindings.hxx +++ b/include/sfx2/bindings.hxx @@ -141,6 +141,14 @@ public: * @param rpState the caller has to delete the pointer */ SfxItemState QueryState( sal_uInt16 nSID, std::unique_ptr<SfxPoolItem> &rpState ); + template<class T> + SfxItemState QueryState( TypedWhichId<T> nSID, std::unique_ptr<T> &rpState ) + { + std::unique_ptr<SfxPoolItem> tmp; + auto ret = QueryState(sal_uInt16(nSID), tmp); + rpState.reset(static_cast<T*>(tmp.release())); + return ret; + } void QueryControlState ( sal_uInt16 nSID, boost::property_tree::ptree& rState ); diff --git a/include/sfx2/dispatch.hxx b/include/sfx2/dispatch.hxx index 3bfd3eab4074..ee445710b9c0 100644 --- a/include/sfx2/dispatch.hxx +++ b/include/sfx2/dispatch.hxx @@ -151,6 +151,11 @@ public: ToolbarId GetObjectBarId( sal_uInt16 nPos ) const; SfxItemState QueryState( sal_uInt16 nSID, const SfxPoolItem* &rpState ); + template<class T> + SfxItemState QueryState( TypedWhichId<T> nSID, const T* &rpState ) + { + return QueryState(sal_uInt16(nSID), reinterpret_cast<SfxPoolItem const*&>(rpState)); + } SfxItemState QueryState( sal_uInt16 nSID, css::uno::Any& rAny ); void SetDisableFlags( SfxDisableFlags nFlags ); diff --git a/include/sfx2/sfxsids.hrc b/include/sfx2/sfxsids.hrc index 12ac2cd763a5..b48f827aec69 100644 --- a/include/sfx2/sfxsids.hrc +++ b/include/sfx2/sfxsids.hrc @@ -38,6 +38,7 @@ class SfxStringListItem; class SfxUInt16Item; class SfxUnoAnyItem; class SfxUnoFrameItem; +class SfxWatermarkItem; class SvxClipboardFormatItem; class SvxHyperlinkItem; class SvxLanguageItem; @@ -150,7 +151,7 @@ class SvxZoomItem; #define SID_FILE_FILTEROPTIONS TypedWhichId<SfxStringItem>(SID_SFX_START + 527) #define SID_RELOAD (SID_SFX_START + 508) #define SID_PRINTDOCDIRECT (SID_SFX_START + 509) -#define SID_DOC_REPAIR (SID_SFX_START + 510) +#define SID_DOC_REPAIR TypedWhichId<SfxBoolItem>(SID_SFX_START + 510) #define SID_DOC_SERVICE TypedWhichId<SfxStringItem>(SID_SFX_START + 511) #define SID_PLUGIN_MODE TypedWhichId<SfxUInt16Item>(SID_SFX_START + 827) #define SID_EXPORTDOC (SID_SFX_START + 829) @@ -342,7 +343,7 @@ class SvxZoomItem; #define SID_AUTOPILOTMENU (SID_SFX_START + 1381) // Floating Window Template -#define SID_STYLE_DESIGNER (SID_SFX_START + 539) +#define SID_STYLE_DESIGNER TypedWhichId<SfxBoolItem>(SID_SFX_START + 539) #define SID_SIDEBAR_DECK (SID_SFX_START + 850) @@ -384,7 +385,7 @@ class SvxZoomItem; #define SID_INSERT_OBJECT (SID_SFX_START + 561) #define SID_INSERT_FLOATINGFRAME (SID_SFX_START + 563) #define SID_CLASSIFICATION_APPLY (SID_SFX_START + 672) -#define SID_WATERMARK (SID_SFX_START + 676) +#define SID_WATERMARK TypedWhichId<SfxWatermarkItem>(SID_SFX_START + 676) #define SID_WATERMARK_FONT TypedWhichId<SfxStringItem>(SID_SFX_START + 677) #define SID_WATERMARK_TRANSPARENCY TypedWhichId<SfxInt16Item>(SID_SFX_START + 805) #define SID_WATERMARK_COLOR TypedWhichId<SfxUInt32Item>(SID_SFX_START + 806) @@ -408,7 +409,7 @@ class SvxZoomItem; #define SID_NEWWINDOW (SID_SFX_START + 620) #define SID_CLOSEWIN (SID_SFX_START + 621) #define SID_VIEWSHELL TypedWhichId<SfxUInt16Item>(SID_SFX_START + 623) -#define SID_WIN_FULLSCREEN (SID_SFX_START + 627) +#define SID_WIN_FULLSCREEN TypedWhichId<SfxBoolItem>(SID_SFX_START + 627) #define SID_VIEWSHELL0 (SID_SFX_START + 630) #define SID_VIEWSHELL1 (SID_SFX_START + 631) @@ -713,7 +714,7 @@ class SvxZoomItem; #define FN_EDIT2 (SID_SW_START + 1800) #define FN_REDLINE_PROTECT TypedWhichId<SfxBoolItem>(FN_EDIT2 + 23) -#define FN_REDLINE_ON (FN_EDIT2 + 25) +#define FN_REDLINE_ON TypedWhichId<SfxBoolItem>(FN_EDIT2 + 25) #define SID_HTML_MODE TypedWhichId<SfxUInt16Item>(SID_SVX_START + 414) @@ -730,8 +731,8 @@ class SvxZoomItem; #ifndef SC_VIEW_START #define SC_VIEW_START (SID_SC_START) #endif -#define FID_CHG_RECORD (EDIT_MENU_START + 18) -#define SID_CHG_PROTECT (SC_VIEW_START + 84) +#define FID_CHG_RECORD TypedWhichId<SfxBoolItem>(EDIT_MENU_START + 18) +#define SID_CHG_PROTECT TypedWhichId<SfxBoolItem>(SC_VIEW_START + 84) #endif // #ifndef INCLUDED_SFX2_SFXSIDS_HRC diff --git a/include/svx/rulritem.hxx b/include/svx/rulritem.hxx index a5600a6588c4..b45683d31970 100644 --- a/include/svx/rulritem.hxx +++ b/include/svx/rulritem.hxx @@ -38,8 +38,6 @@ class SVX_DLLPUBLIC SvxLongLRSpaceItem final : public SfxPoolItem MapUnit ePresMetric, OUString &rText, const IntlWrapper& ) const override; - virtual SvxLongLRSpaceItem* Clone( SfxItemPool *pPool = nullptr ) const override; - const SvxLongLRSpaceItem& operator=(const SvxLongLRSpaceItem &) = delete; public: @@ -48,6 +46,8 @@ public: SvxLongLRSpaceItem(); SvxLongLRSpaceItem(SvxLongLRSpaceItem const &) = default; + virtual SvxLongLRSpaceItem* Clone( SfxItemPool *pPool = nullptr ) const override; + tools::Long GetLeft() const { return mlLeft;} tools::Long GetRight() const { return mlRight;} void SetLeft(tools::Long lArgLeft); @@ -68,8 +68,6 @@ class SVX_DLLPUBLIC SvxLongULSpaceItem final : public SfxPoolItem MapUnit ePresMetric, OUString &rText, const IntlWrapper& ) const override; - virtual SvxLongULSpaceItem* Clone( SfxItemPool *pPool = nullptr ) const override; - const SvxLongULSpaceItem& operator=(const SvxLongULSpaceItem &) = delete; public: @@ -78,6 +76,8 @@ public: SvxLongULSpaceItem(); SvxLongULSpaceItem(SvxLongULSpaceItem const &) = default; + virtual SvxLongULSpaceItem* Clone( SfxItemPool *pPool = nullptr ) const override; + tools::Long GetUpper() const { return mlLeft;} tools::Long GetLower() const { return mlRight;} void SetUpper(tools::Long lArgLeft); diff --git a/include/svx/svxids.hrc b/include/svx/svxids.hrc index af1eddb8c226..4f4c07f2e2d5 100644 --- a/include/svx/svxids.hrc +++ b/include/svx/svxids.hrc @@ -592,7 +592,7 @@ class XFillGradientItem; #define SID_FM_DELETEROWS ( SID_SVX_START + 610 ) //FREE //FREE -#define SID_FM_CTL_PROPERTIES ( SID_SVX_START + 613 ) +#define SID_FM_CTL_PROPERTIES TypedWhichId<SfxBoolItem>( SID_SVX_START + 613 ) #define SID_FM_PROPERTIES ( SID_SVX_START + 614 ) #define SID_FM_TAB_DIALOG ( SID_SVX_START + 615 ) #define SID_FM_RECORD_FIRST ( SID_SVX_START + 616 ) @@ -1049,6 +1049,7 @@ class XFillGradientItem; #define SID_INSERT_TREECONTROL ( SID_SVX_START + 1206 ) #define SID_ATTR_VIEWLAYOUT TypedWhichId<SvxViewLayoutItem>( SID_SVX_START + 1207 ) #define SID_ATTR_ZOOMSLIDER TypedWhichId<SvxZoomSliderItem>( SID_SVX_START + 1208 ) +// Can be either SfxStringItem or SfxStringListItem #define SID_LANGUAGE_STATUS ( SID_SVX_START + 1209 ) #define SID_CHAR_DLG_FOR_PARAGRAPH ( SID_SVX_START + 1210 ) #define SID_SET_DOCUMENT_LANGUAGE TypedWhichId<SfxBoolItem>( SID_SVX_START + 1211 ) |