20#ifndef INCLUDED_SVX_SHAPEPROPERTYNOTIFIER_HXX
21#define INCLUDED_SVX_SHAPEPROPERTYNOTIFIER_HXX
25#include <rtl/ustring.hxx>
29#include <unordered_map>
34namespace osl {
class Mutex; }
69 ,m_sPropertyName(
std::move( _aPropertyName ) )
79 virtual void getCurrentValue( css::uno::Any& _out_rValue )
const;
109 void addPropertyChangeListener(
const OUString& _rPropertyName,
const css::uno::Reference< css::beans::XPropertyChangeListener >& _rxListener );
110 void removePropertyChangeListener(
const OUString& _rPropertyName,
const css::uno::Reference< css::beans::XPropertyChangeListener >& _rxListener );
114 void registerProvider(
const ShapePropertyProviderId _eProperty, std::unique_ptr<PropertyValueProvider> _rProvider );
helper class for notifying XPropertyChangeListeners
PropertyChangeNotifier(const PropertyChangeNotifier &)=delete
PropertyChangeNotifier & operator=(const PropertyChangeNotifier &)=delete
::cppu::OWeakObject & m_rContext
o3tl::enumarray< ShapePropertyProviderId, std::unique_ptr< PropertyValueProvider > > m_aProviders
comphelper::OMultiTypeInterfaceContainerHelperVar3< css::beans::XPropertyChangeListener, OUString > m_aPropertyChangeListeners
Default provider for a property value.
const OUString m_sPropertyName
::cppu::OWeakObject & m_rContext
PropertyValueProvider & operator=(const PropertyValueProvider &)=delete
PropertyValueProvider(const PropertyValueProvider &)=delete
::cppu::OWeakObject & getContext() const
PropertyValueProvider(::cppu::OWeakObject &_rContext, OUString _aPropertyName)
OUString getPropertyName(sal_Int32 nPropertyType)
const Reference< XComponentContext > & m_rContext
#define SVXCORE_DLLPUBLIC