summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2022-03-14 12:28:06 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-03-14 14:20:26 +0100
commit6ba9daac763baf37c833911be5e5fb97e068bea1 (patch)
tree12ba4c5402747074f5a4b69a10fc60ab1c3d6603 /include
parenta342ac91e21dd45640b7dea063bc04b80f0feb6e (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.hrc12
-rw-r--r--include/sfx2/bindings.hxx8
-rw-r--r--include/sfx2/dispatch.hxx5
-rw-r--r--include/sfx2/sfxsids.hrc15
-rw-r--r--include/svx/rulritem.hxx8
-rw-r--r--include/svx/svxids.hrc3
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 )