diff options
author | Henry Castro <hcastro@collabora.com> | 2020-03-27 19:24:14 -0400 |
---|---|---|
committer | Henry Castro <hcastro@collabora.com> | 2020-05-21 00:40:50 +0200 |
commit | c2bb20652142f0cadbba3cf82f73a62f6c569981 (patch) | |
tree | 0d600fc87c4729904e5c4710fc7252716eae889c /include | |
parent | 6d2b3e68c0b2929177ad61fb4b6c377bd44d0829 (diff) |
lok: introduce QueryControlState function
The sidebar usually executes UNO commands to the core framework,
however the controls already have formatted the text that is useful
in Online client side. For example the units conversion.
The QueryControlState method will retrieve the current formatted text
of the sidebar control to be used in Client Side.
Change-Id: I0b3e3a1462d4391ac911352f35808a5e5d9f9ffb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91237
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Henry Castro <hcastro@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91577
Tested-by: Jenkins
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94516
Tested-by: Henry Castro <hcastro@collabora.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/sfx2/bindings.hxx | 2 | ||||
-rw-r--r-- | include/sfx2/ctrlitem.hxx | 2 | ||||
-rw-r--r-- | include/sfx2/sidebar/ControllerItem.hxx | 4 | ||||
-rw-r--r-- | include/svx/sidebar/AreaPropertyPanelBase.hxx | 4 |
4 files changed, 12 insertions, 0 deletions
diff --git a/include/sfx2/bindings.hxx b/include/sfx2/bindings.hxx index 8b8cc0c7080d..28b4d5248517 100644 --- a/include/sfx2/bindings.hxx +++ b/include/sfx2/bindings.hxx @@ -141,6 +141,8 @@ public: */ SfxItemState QueryState( sal_uInt16 nSID, std::unique_ptr<SfxPoolItem> &rpState ); + void QueryControlState ( sal_uInt16 nSID, boost::property_tree::ptree& rState ); + const SfxPoolItem* ExecuteSynchron( sal_uInt16 nSlot, const SfxPoolItem **pArgs = nullptr); bool Execute( sal_uInt16 nSlot, diff --git a/include/sfx2/ctrlitem.hxx b/include/sfx2/ctrlitem.hxx index fc93c62beff2..489fdb9461a8 100644 --- a/include/sfx2/ctrlitem.hxx +++ b/include/sfx2/ctrlitem.hxx @@ -64,6 +64,8 @@ public: virtual void StateChanged( sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState ); + virtual void GetControlState( sal_uInt16 nSID, boost::property_tree::ptree& ); + MapUnit GetCoreMetric() const; static SfxItemState GetItemState( const SfxPoolItem* pState ); diff --git a/include/sfx2/sidebar/ControllerItem.hxx b/include/sfx2/sidebar/ControllerItem.hxx index 6b55fc173dfa..84e6e6defa72 100644 --- a/include/sfx2/sidebar/ControllerItem.hxx +++ b/include/sfx2/sidebar/ControllerItem.hxx @@ -45,6 +45,9 @@ public: const sal_uInt16 nSId, const SfxItemState eState, const SfxPoolItem* pState) = 0; + virtual void GetControlState( + const sal_uInt16 nSId, + boost::property_tree::ptree& rState) = 0; virtual ~ItemUpdateReceiverInterface(); }; @@ -70,6 +73,7 @@ public: private: virtual void StateChanged (sal_uInt16 nSId, SfxItemState eState, const SfxPoolItem* pState) override; + virtual void GetControlState (sal_uInt16 nSId, boost::property_tree::ptree& rState) override; ItemUpdateReceiverInterface& mrItemUpdateReceiver; css::uno::Reference<css::lang::XComponent> mxFrameActionListener; diff --git a/include/svx/sidebar/AreaPropertyPanelBase.hxx b/include/svx/sidebar/AreaPropertyPanelBase.hxx index abe5a603514c..858813f68136 100644 --- a/include/svx/sidebar/AreaPropertyPanelBase.hxx +++ b/include/svx/sidebar/AreaPropertyPanelBase.hxx @@ -67,6 +67,10 @@ public: const SfxItemState eState, const SfxPoolItem* pState) override; + virtual void GetControlState( + const sal_uInt16 /*nSId*/, + boost::property_tree::ptree& /*rState*/) override {}; + const static sal_Int32 DEFAULT_CENTERX; const static sal_Int32 DEFAULT_CENTERY; const static sal_Int32 DEFAULT_ANGLE; |