diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-02-21 14:00:09 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2022-02-21 15:12:29 +0100 |
commit | d39f886ea541f71a09d1d7140c77852b01c847f0 (patch) | |
tree | 506dfb5867bec821456e09593e38d9d7ac88859d /svx/inc | |
parent | e4aaf59f4801431d5bdd1aa6e18d2aa8eba39f1c (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.hxx | 3 | ||||
-rw-r--r-- | svx/inc/sdr/properties/groupproperties.hxx | 3 | ||||
-rw-r--r-- | svx/inc/sdr/properties/pageproperties.hxx | 3 |
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; |