summaryrefslogtreecommitdiff
path: root/svx/inc
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2022-02-21 14:00:09 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-02-21 15:12:29 +0100
commitd39f886ea541f71a09d1d7140c77852b01c847f0 (patch)
tree506dfb5867bec821456e09593e38d9d7ac88859d /svx/inc
parente4aaf59f4801431d5bdd1aa6e18d2aa8eba39f1c (diff)
speed up SvxShape::_setPropertyValue
by using the Properties related code to create an SfxItemSet with the correct ranges, instead of creating an empty SfxItemSet and updating it. Shaves 2% off the load time of a large chart. Change-Id: Ia1f8527fa52ab5b8c70e13e1e2ab8c8f25739b2b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130270 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'svx/inc')
-rw-r--r--svx/inc/sdr/properties/emptyproperties.hxx3
-rw-r--r--svx/inc/sdr/properties/groupproperties.hxx3
-rw-r--r--svx/inc/sdr/properties/pageproperties.hxx3
3 files changed, 9 insertions, 0 deletions
diff --git a/svx/inc/sdr/properties/emptyproperties.hxx b/svx/inc/sdr/properties/emptyproperties.hxx
index 974bfd90a21d..f51c97a01ff9 100644
--- a/svx/inc/sdr/properties/emptyproperties.hxx
+++ b/svx/inc/sdr/properties/emptyproperties.hxx
@@ -39,6 +39,9 @@ namespace sdr::properties
// Clone() operator, normally just calls the local copy constructor
virtual std::unique_ptr<BaseProperties> Clone(SdrObject& rObj) const override;
+ // create a new object specific itemset with object specific ranges.
+ virtual SfxItemSet CreateObjectSpecificItemSet(SfxItemPool& pPool) override;
+
// get itemset
virtual const SfxItemSet& GetObjectItemSet() const override;
diff --git a/svx/inc/sdr/properties/groupproperties.hxx b/svx/inc/sdr/properties/groupproperties.hxx
index a5798440f983..40e944eb572a 100644
--- a/svx/inc/sdr/properties/groupproperties.hxx
+++ b/svx/inc/sdr/properties/groupproperties.hxx
@@ -37,6 +37,9 @@ namespace sdr::properties
// destructor
virtual ~GroupProperties() override;
+ // create a new object specific itemset with object specific ranges.
+ virtual SfxItemSet CreateObjectSpecificItemSet(SfxItemPool& pPool) override;
+
// Clone() operator, normally just calls the local copy constructor
virtual std::unique_ptr<BaseProperties> Clone(SdrObject& rObj) const override;
diff --git a/svx/inc/sdr/properties/pageproperties.hxx b/svx/inc/sdr/properties/pageproperties.hxx
index d0f633a80e16..acd1d919f24e 100644
--- a/svx/inc/sdr/properties/pageproperties.hxx
+++ b/svx/inc/sdr/properties/pageproperties.hxx
@@ -41,6 +41,9 @@ namespace sdr::properties
// destructor
virtual ~PageProperties() override;
+ // create a new object specific itemset with object specific ranges.
+ virtual SfxItemSet CreateObjectSpecificItemSet(SfxItemPool& pPool) override;
+
// Clone() operator, normally just calls the local copy constructor
virtual std::unique_ptr<BaseProperties> Clone(SdrObject& rObj) const override;