diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2021-04-12 09:21:42 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-04-15 15:53:25 +0200 |
commit | 6c934d0feb6a391fda0939e8db5d12aafeb93cc6 (patch) | |
tree | 6d256b92dc7913cfd195b199440e90226c772413 /include | |
parent | 6c9a86a6392662f1115d3fe6b793a451101429b7 (diff) |
store ptr to the original entries in SfxItemPropertyMap
instead of copying them to a new data structure that
is practically identical.
Helps startup time since we build a ton of these when
loading documents.
And use o3tl::sorted_vector as a dense map data
structure to reduce allocations and improve cache
friendliness, since this is a build-once thing.
Change-Id: I950be03b1a21c0c81c40f2677d4215f5e8e256cf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114015
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'include')
-rw-r--r-- | include/editeng/unoipset.hxx | 14 | ||||
-rw-r--r-- | include/editeng/unotext.hxx | 16 | ||||
-rw-r--r-- | include/svl/itemprop.hxx | 38 | ||||
-rw-r--r-- | include/svx/unoshape.hxx | 64 |
4 files changed, 71 insertions, 61 deletions
diff --git a/include/editeng/unoipset.hxx b/include/editeng/unoipset.hxx index 0a4d8c2fe3ad..e510462b4dc9 100644 --- a/include/editeng/unoipset.hxx +++ b/include/editeng/unoipset.hxx @@ -45,21 +45,21 @@ public: SvxItemPropertySet( SvxItemPropertySet const & ) = delete; // MSVC2015 workaround // Methods, which work directly with the ItemSet - static css::uno::Any getPropertyValue( const SfxItemPropertySimpleEntry* pMap, const SfxItemSet& rSet, bool bSearchInParent, bool bDontConvertNegativeValues ); - static void setPropertyValue( const SfxItemPropertySimpleEntry* pMap, const css::uno::Any& rVal, SfxItemSet& rSet, bool bDontConvertNegativeValues ); + static css::uno::Any getPropertyValue( const SfxItemPropertyMapEntry* pMap, const SfxItemSet& rSet, bool bSearchInParent, bool bDontConvertNegativeValues ); + static void setPropertyValue( const SfxItemPropertyMapEntry* pMap, const css::uno::Any& rVal, SfxItemSet& rSet, bool bDontConvertNegativeValues ); // Methods that use Any instead - css::uno::Any getPropertyValue( const SfxItemPropertySimpleEntry* pMap ) const; - void setPropertyValue( const SfxItemPropertySimpleEntry* pMap, const css::uno::Any& rVal ) const; + css::uno::Any getPropertyValue( const SfxItemPropertyMapEntry* pMap ) const; + void setPropertyValue( const SfxItemPropertyMapEntry* pMap, const css::uno::Any& rVal ) const; bool AreThereOwnUsrAnys() const { return ! aCombineList.empty(); } - css::uno::Any* GetUsrAnyForID(SfxItemPropertySimpleEntry const & entry) const; - void AddUsrAnyForID(const css::uno::Any& rAny, SfxItemPropertySimpleEntry const & entry); + css::uno::Any* GetUsrAnyForID(SfxItemPropertyMapEntry const & entry) const; + void AddUsrAnyForID(const css::uno::Any& rAny, SfxItemPropertyMapEntry const & entry); void ClearAllUsrAny(); css::uno::Reference< css::beans::XPropertySetInfo > const & getPropertySetInfo() const; const SfxItemPropertyMap& getPropertyMap() const { return m_aPropertyMap;} - const SfxItemPropertySimpleEntry* getPropertyMapEntry(std::u16string_view rName) const; + const SfxItemPropertyMapEntry* getPropertyMapEntry(std::u16string_view rName) const; }; /** converts the given any with a metric to 100th/mm if needed */ diff --git a/include/editeng/unotext.hxx b/include/editeng/unotext.hxx index a07a8cf059e1..069e7e06789d 100644 --- a/include/editeng/unotext.hxx +++ b/include/editeng/unotext.hxx @@ -271,30 +271,30 @@ protected: /// @throws css::beans::UnknownPropertyException /// @throws css::uno::RuntimeException - css::beans::PropertyState _getPropertyState( const SfxItemPropertySimpleEntry* pMap, sal_Int32 nPara = -1 ); + css::beans::PropertyState _getPropertyState( const SfxItemPropertyMapEntry* pMap, sal_Int32 nPara = -1 ); /// @throws css::beans::UnknownPropertyException /// @throws css::uno::RuntimeException - css::beans::PropertyState _getPropertyState( std::u16string_view PropertyName, sal_Int32 nPara = -1 ); + css::beans::PropertyState _getPropertyState( std::u16string_view PropertyName, sal_Int32 nPara = -1 ); /// @throws css::beans::UnknownPropertyException /// @throws css::uno::RuntimeException css::uno::Sequence< css::beans::PropertyState > _getPropertyStates( const css::uno::Sequence< OUString >& aPropertyName, sal_Int32 nPara = -1 ); // returns true if property found or false if unknown property - static bool _getOnePropertyStates(const SfxItemSet* pSet, const SfxItemPropertySimpleEntry* pMap, css::beans::PropertyState& rState); + static bool _getOnePropertyStates(const SfxItemSet* pSet, const SfxItemPropertyMapEntry* pMap, css::beans::PropertyState& rState); /// @throws css::beans::UnknownPropertyException /// @throws css::uno::RuntimeException void _setPropertyToDefault( const OUString& PropertyName, sal_Int32 nPara = -1 ); /// @throws css::beans::UnknownPropertyException /// @throws css::uno::RuntimeException - void _setPropertyToDefault( SvxTextForwarder* pForwarder, const SfxItemPropertySimpleEntry* pMap, sal_Int32 nPara ); + void _setPropertyToDefault( SvxTextForwarder* pForwarder, const SfxItemPropertyMapEntry* pMap, sal_Int32 nPara ); void SetEditSource( SvxEditSource* _pEditSource ) throw(); /// @throws css::beans::UnknownPropertyException /// @throws css::uno::RuntimeException - void getPropertyValue( const SfxItemPropertySimpleEntry* pMap, css::uno::Any& rAny, const SfxItemSet& rSet ); + void getPropertyValue( const SfxItemPropertyMapEntry* pMap, css::uno::Any& rAny, const SfxItemSet& rSet ); /// @throws css::beans::UnknownPropertyException /// @throws css::lang::IllegalArgumentException - void setPropertyValue( const SfxItemPropertySimpleEntry* pMap, const css::uno::Any& rValue, const ESelection& rSelection, const SfxItemSet& rOldSet, SfxItemSet& rNewSet ); + void setPropertyValue( const SfxItemPropertyMapEntry* pMap, const css::uno::Any& rValue, const ESelection& rSelection, const SfxItemSet& rOldSet, SfxItemSet& rNewSet ); SvxUnoTextRangeBase(const SvxItemPropertySet* _pSet); SvxUnoTextRangeBase(const SvxEditSource* pSource, const SvxItemPropertySet* _pSet); @@ -323,9 +323,9 @@ public: const SvxItemPropertySet* getPropertySet() const throw() { return mpPropSet; } SvxEditSource* GetEditSource() const throw() { return mpEditSource.get(); } - static bool SetPropertyValueHelper( const SfxItemPropertySimpleEntry* pMap, const css::uno::Any& aValue, SfxItemSet& rNewSet, const ESelection* pSelection = nullptr, SvxEditSource* pEditSource = nullptr ); + static bool SetPropertyValueHelper( const SfxItemPropertyMapEntry* pMap, const css::uno::Any& aValue, SfxItemSet& rNewSet, const ESelection* pSelection = nullptr, SvxEditSource* pEditSource = nullptr ); /// @throws css::uno::RuntimeException - static bool GetPropertyValueHelper( SfxItemSet const & rSet, const SfxItemPropertySimpleEntry* pMap, css::uno::Any& aAny, const ESelection* pSelection = nullptr, SvxEditSource* pEditSource = nullptr ); + static bool GetPropertyValueHelper( SfxItemSet const & rSet, const SfxItemPropertyMapEntry* pMap, css::uno::Any& aAny, const ESelection* pSelection = nullptr, SvxEditSource* pEditSource = nullptr ); void attachField( std::unique_ptr<SvxFieldData> pData ) throw(); diff --git a/include/svl/itemprop.hxx b/include/svl/itemprop.hxx index 6403dbbc1fa6..4ea43eab7e64 100644 --- a/include/svl/itemprop.hxx +++ b/include/svl/itemprop.hxx @@ -27,6 +27,7 @@ #include <svl/svldllapi.h> #include <vector> #include <unordered_map> +#include <o3tl/sorted_vector.hxx> #include <string_view> // values from com/sun/star/beans/PropertyAttribute @@ -35,7 +36,7 @@ /// map a property between beans::XPropertySet and SfxPoolItem struct SfxItemPropertyMapEntry { - std::u16string_view aName; ///< name of property + OUString aName; ///< name of property css::uno::Type aType; ///< UNO type of property sal_uInt16 nWID; ///< WhichId of SfxPoolItem /// flag bitmap, @see css::beans::PropertyAttribute @@ -45,7 +46,7 @@ struct SfxItemPropertyMapEntry sal_uInt8 nMemberId; PropertyMoreFlags nMoreFlags; - SfxItemPropertyMapEntry(std::u16string_view _aName, sal_uInt16 _nWID, css::uno::Type const & _rType, + SfxItemPropertyMapEntry(const OUString & _aName, sal_uInt16 _nWID, css::uno::Type const & _rType, sal_Int16 _nFlags, sal_uInt8 const _nMemberId, PropertyMoreFlags _nMoreFlags = PropertyMoreFlags::NONE) : aName( _aName ) , aType( _rType ) @@ -104,35 +105,41 @@ struct SfxItemPropertySimpleEntry } }; + struct SfxItemPropertyNamedEntry : public SfxItemPropertySimpleEntry { OUString sName; SfxItemPropertyNamedEntry( const OUString& rName, const SfxItemPropertySimpleEntry& rSimpleEntry) : SfxItemPropertySimpleEntry( rSimpleEntry ) , sName( rName ) -{ -} + { + } +}; + +struct SfxItemPropertyMapCompare +{ + bool operator() ( const SfxItemPropertyMapEntry * lhs, const SfxItemPropertyMapEntry * rhs ) const + { + return lhs->aName < rhs->aName; + } }; class SVL_DLLPUBLIC SfxItemPropertyMap { - std::unordered_map< std::u16string_view, - SfxItemPropertySimpleEntry > m_aMap; + o3tl::sorted_vector< const SfxItemPropertyMapEntry*, SfxItemPropertyMapCompare > m_aMap; mutable css::uno::Sequence< css::beans::Property > m_aPropSeq; public: SfxItemPropertyMap( const SfxItemPropertyMapEntry* pEntries ); SfxItemPropertyMap( const SfxItemPropertyMap& rSource ); ~SfxItemPropertyMap(); - const SfxItemPropertySimpleEntry* getByName( std::u16string_view rName ) const; + const SfxItemPropertyMapEntry* getByName( std::u16string_view rName ) const; css::uno::Sequence< css::beans::Property > const & getProperties() const; /// @throws css::beans::UnknownPropertyException css::beans::Property getPropertyByName( const OUString & rName ) const; bool hasPropertyByName( std::u16string_view rName ) const; - void mergeProperties( const css::uno::Sequence< css::beans::Property >& rPropSeq ); - const std::unordered_map< std::u16string_view, - SfxItemPropertySimpleEntry >& getPropertyEntries() const { return m_aMap; } + const o3tl::sorted_vector< const SfxItemPropertyMapEntry*, SfxItemPropertyMapCompare >& getPropertyEntries() const { return m_aMap; } sal_uInt32 getSize() const; }; @@ -148,7 +155,7 @@ public: ~SfxItemPropertySet(); /// @throws css::uno::RuntimeException - void getPropertyValue( const SfxItemPropertySimpleEntry& rEntry, + void getPropertyValue( const SfxItemPropertyMapEntry& rEntry, const SfxItemSet& rSet, css::uno::Any& rAny) const; /// @throws css::uno::RuntimeException @@ -163,7 +170,7 @@ public: const SfxItemSet& rSet ) const; /// @throws css::uno::RuntimeException /// @throws css::lang::IllegalArgumentException - void setPropertyValue( const SfxItemPropertySimpleEntry& rEntry, + void setPropertyValue( const SfxItemPropertyMapEntry& rEntry, const css::uno::Any& aVal, SfxItemSet& rSet ) const; /// @throws css::uno::RuntimeException @@ -177,7 +184,7 @@ public: css::beans::PropertyState getPropertyState(const OUString& rName, const SfxItemSet& rSet)const; css::beans::PropertyState - getPropertyState(const SfxItemPropertySimpleEntry& rEntry, const SfxItemSet& rSet) const + getPropertyState(const SfxItemPropertyMapEntry& rEntry, const SfxItemSet& rSet) const throw(); css::uno::Reference<css::beans::XPropertySetInfo> const & @@ -213,7 +220,6 @@ class SAL_DLLPUBLIC_TEMPLATE SfxExtItemPropertySetInfo_Base : public cppu::WeakI class SVL_DLLPUBLIC SfxExtItemPropertySetInfo final : public SfxExtItemPropertySetInfo_Base { - SfxItemPropertyMap aExtMap; public: SfxExtItemPropertySetInfo( const SfxItemPropertyMapEntry *pMap, @@ -228,6 +234,10 @@ public: virtual sal_Bool SAL_CALL hasPropertyByName( const OUString& Name ) override; + +private: + std::unordered_map<OUString, SfxItemPropertySimpleEntry> maMap; + mutable css::uno::Sequence< css::beans::Property > m_aPropSeq; }; #endif diff --git a/include/svx/unoshape.hxx b/include/svx/unoshape.hxx index 1cd151d316ec..44ffc43e4f3b 100644 --- a/include/svx/unoshape.hxx +++ b/include/svx/unoshape.hxx @@ -81,10 +81,10 @@ class SvxShapeMaster; class SvxItemPropertySet; class SfxItemSet; -void SVXCORE_DLLPUBLIC SvxItemPropertySet_setPropertyValue( const SfxItemPropertySimpleEntry* pMap, +void SVXCORE_DLLPUBLIC SvxItemPropertySet_setPropertyValue( const SfxItemPropertyMapEntry* pMap, const css::uno::Any& rVal, SfxItemSet& rSet ); -css::uno::Any SVXCORE_DLLPUBLIC SvxItemPropertySet_getPropertyValue( const SfxItemPropertySimpleEntry* pMap, const SfxItemSet& rSet ); +css::uno::Any SVXCORE_DLLPUBLIC SvxItemPropertySet_getPropertyValue( const SfxItemPropertyMapEntry* pMap, const SfxItemSet& rSet ); // WARNING: if you update the supported interfaces, @@ -147,7 +147,7 @@ protected: void ForceMetricToItemPoolMetric(basegfx::B2DHomMatrix& rB2DHomMatrix) const throw(); void ForceMetricTo100th_mm(basegfx::B2DHomMatrix& rB2DHomMatrix) const throw(); - css::uno::Any GetAnyForItem( SfxItemSet const & aSet, const SfxItemPropertySimpleEntry* pMap ) const; + css::uno::Any GetAnyForItem( SfxItemSet const & aSet, const SfxItemPropertyMapEntry* pMap ) const; bool SetFillAttribute( sal_uInt16 nWID, const OUString& rName ); @@ -171,17 +171,17 @@ protected: /// @throws css::lang::IllegalArgumentException /// @throws css::lang::WrappedTargetException /// @throws css::uno::RuntimeException - virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const css::uno::Any& rValue ); + virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, const css::uno::Any& rValue ); /// @throws css::beans::UnknownPropertyException /// @throws css::lang::WrappedTargetException /// @throws css::uno::RuntimeException - virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, css::uno::Any& rValue ); + virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, css::uno::Any& rValue ); /// @throws css::beans::UnknownPropertyException /// @throws css::uno::RuntimeException - virtual bool getPropertyStateImpl( const SfxItemPropertySimpleEntry* pProperty, css::beans::PropertyState& rState ); + virtual bool getPropertyStateImpl( const SfxItemPropertyMapEntry* pProperty, css::beans::PropertyState& rState ); /// @throws css::beans::UnknownPropertyException /// @throws css::uno::RuntimeException - virtual bool setPropertyToDefaultImpl( const SfxItemPropertySimpleEntry* pProperty ); + virtual bool setPropertyToDefaultImpl( const SfxItemPropertyMapEntry* pProperty ); public: /// @throws css::uno::RuntimeException @@ -359,10 +359,10 @@ protected: protected: // override these for special property handling in subcasses. Return true if property is handled - virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const css::uno::Any& rValue ) override; - virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, css::uno::Any& rValue ) override; - virtual bool getPropertyStateImpl( const SfxItemPropertySimpleEntry* pProperty, css::beans::PropertyState& rState ) override; - virtual bool setPropertyToDefaultImpl( const SfxItemPropertySimpleEntry* pProperty ) override; + virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, const css::uno::Any& rValue ) override; + virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, css::uno::Any& rValue ) override; + virtual bool getPropertyStateImpl( const SfxItemPropertyMapEntry* pProperty, css::beans::PropertyState& rState ) override; + virtual bool setPropertyToDefaultImpl( const SfxItemPropertyMapEntry* pProperty ) override; public: SvxShapeText(SdrObject* pObj); @@ -591,8 +591,8 @@ class SVXCORE_DLLPUBLIC SvxOle2Shape : public SvxShapeText { protected: // override these for special property handling in subcasses. Return true if property is handled - virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const css::uno::Any& rValue ) override; - virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, css::uno::Any& rValue ) override; + virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, const css::uno::Any& rValue ) override; + virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, css::uno::Any& rValue ) override; void resetModifiedState(); @@ -617,8 +617,8 @@ class SvxShapePolyPolygon final : public SvxShapeText using SvxUnoTextRangeBase::getPropertyValue; // override these for special property handling in subcasses. Return true if property is handled - virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const css::uno::Any& rValue ) override; - virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, css::uno::Any& rValue ) override; + virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, const css::uno::Any& rValue ) override; + virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, css::uno::Any& rValue ) override; // local helper to detect PolygonKind from SdrObject::GetObjIdentifier() css::drawing::PolygonKind GetPolygonKind() const; @@ -645,8 +645,8 @@ class SvxGraphicObject final : public SvxShapeText using SvxUnoTextRangeBase::getPropertyValue; // override these for special property handling in subcasses. Return true if property is handled - virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const css::uno::Any& rValue ) override; - virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, css::uno::Any& rValue ) override; + virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, const css::uno::Any& rValue ) override; + virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, css::uno::Any& rValue ) override; public: SvxGraphicObject(SdrObject* pObj); @@ -668,8 +668,8 @@ protected: public: Svx3DSceneObject(SdrObject* pObj, SvxDrawPage* pDrawPage); // override these for special property handling in subcasses. Return true if property is handled - virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const css::uno::Any& rValue ) override; - virtual bool getPropertyValueImpl(const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, + virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, const css::uno::Any& rValue ) override; + virtual bool getPropertyValueImpl(const OUString& rName, const SfxItemPropertyMapEntry* pProperty, css::uno::Any& rValue ) override; virtual ~Svx3DSceneObject() throw() override; @@ -709,8 +709,8 @@ public: class Svx3DCubeObject final : public SvxShape { // override these for special property handling in subcasses. Return true if property is handled - virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const css::uno::Any& rValue ) override; - virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, css::uno::Any& rValue ) override; + virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, const css::uno::Any& rValue ) override; + virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, css::uno::Any& rValue ) override; public: Svx3DCubeObject(SdrObject* pObj); @@ -729,8 +729,8 @@ public: Svx3DSphereObject(SdrObject* pObj); private: // override these for special property handling in subcasses. Return true if property is handled - virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const css::uno::Any& rValue ) override; - virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, css::uno::Any& rValue ) override; + virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, const css::uno::Any& rValue ) override; + virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, css::uno::Any& rValue ) override; virtual ~Svx3DSphereObject() throw() override; @@ -744,8 +744,8 @@ private: class Svx3DLatheObject final : public SvxShape { // override these for special property handling in subcasses. Return true if property is handled - virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const css::uno::Any& rValue ) override; - virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, css::uno::Any& rValue ) override; + virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, const css::uno::Any& rValue ) override; + virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, css::uno::Any& rValue ) override; public: Svx3DLatheObject(SdrObject* pObj); @@ -764,8 +764,8 @@ public: Svx3DExtrudeObject(SdrObject* pObj); private: // override these for special property handling in subcasses. Return true if property is handled - virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const css::uno::Any& rValue ) override; - virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, css::uno::Any& rValue ) override; + virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, const css::uno::Any& rValue ) override; + virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, css::uno::Any& rValue ) override; virtual ~Svx3DExtrudeObject() throw() override; @@ -779,8 +779,8 @@ private: class Svx3DPolygonObject final : public SvxShape { // override these for special property handling in subcasses. Return true if property is handled - virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const css::uno::Any& rValue ) override; - virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, css::uno::Any& rValue ) override; + virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, const css::uno::Any& rValue ) override; + virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, css::uno::Any& rValue ) override; public: Svx3DPolygonObject(SdrObject* pObj); @@ -802,7 +802,7 @@ protected: public: SvxCustomShape(SdrObject* pObj); // override these for special property handling in subcasses. Return true if property is handled - virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, css::uno::Any& rValue ) override; + virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, css::uno::Any& rValue ) override; virtual ~SvxCustomShape() throw () override; @@ -840,8 +840,8 @@ public: private: // override these for special property handling in subcasses. Return true if property is handled - virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, const css::uno::Any& rValue ) override; - virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertySimpleEntry* pProperty, css::uno::Any& rValue ) override; + virtual bool setPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, const css::uno::Any& rValue ) override; + virtual bool getPropertyValueImpl( const OUString& rName, const SfxItemPropertyMapEntry* pProperty, css::uno::Any& rValue ) override; OUString referer_; }; |