25#include <com/sun/star/beans/XPropertySet.hpp>
26#include <com/sun/star/beans/XPropertyState.hpp>
27#include <com/sun/star/lang/XServiceInfo.hpp>
28#include <com/sun/star/beans/XIntrospectionAccess.hpp>
29#include <com/sun/star/inspection/XPropertyHandler.hpp>
30#include <com/sun/star/script/XTypeConverter.hpp>
31#include <com/sun/star/uno/XComponentContext.hpp>
45 bool operator()(
const css::uno::Type& _rLHS,
const css::uno::Type& _rRHS )
const
47 return _rLHS.getTypeName() < _rRHS.getTypeName();
51 class IPropertyEnumRepresentation;
55 typedef ::cppu::WeakComponentImplHelper < css::inspection::XPropertyHandler
56 , css::lang::XServiceInfo
63 css::uno::Reference< css::uno::XComponentContext >
m_xContext;
76 std::map< css::uno::Type, ::rtl::Reference< IPropertyEnumRepresentation >,
TypeLess >
84 const css::uno::Reference< css::uno::XComponentContext >& _rxContext
91 virtual void SAL_CALL
inspect(
const css::uno::Reference< css::uno::XInterface >& _rxIntrospectee )
override;
92 virtual css::uno::Any SAL_CALL
getPropertyValue(
const OUString& _rPropertyName )
override;
93 virtual void SAL_CALL
setPropertyValue(
const OUString& _rPropertyName,
const css::uno::Any& _rValue )
override;
94 virtual css::uno::Any SAL_CALL
convertToPropertyValue(
const OUString& _rPropertyName,
const css::uno::Any& _rControlValue )
override;
95 virtual css::uno::Any SAL_CALL
convertToControlValue(
const OUString& _rPropertyName,
const css::uno::Any& _rPropertyValue,
const css::uno::Type& _rControlValueType )
override;
96 virtual css::beans::PropertyState SAL_CALL
getPropertyState(
const OUString& _rPropertyName )
override;
97 virtual void SAL_CALL
addPropertyChangeListener(
const css::uno::Reference< css::beans::XPropertyChangeListener >& _rxListener )
override;
98 virtual void SAL_CALL
removePropertyChangeListener(
const css::uno::Reference< css::beans::XPropertyChangeListener >& _rxListener )
override;
99 virtual css::uno::Sequence< css::beans::Property >
101 virtual css::uno::Sequence< OUString >
104 virtual css::inspection::LineDescriptor SAL_CALL
describePropertyLine(
const OUString& _rPropertyName,
const css::uno::Reference< css::inspection::XPropertyControlFactory >& _rxControlFactory )
override;
106 virtual css::inspection::InteractiveSelectionResult
107 SAL_CALL
onInteractivePropertySelection(
const OUString& _rPropertyName,
sal_Bool _bPrimary, css::uno::Any& _rData,
const css::uno::Reference< css::inspection::XObjectInspectorUI >& _rxInspectorUI )
override;
108 virtual void SAL_CALL
actuatingPropertyChanged(
const OUString& _rActuatingPropertyName,
const css::uno::Any& _rNewValue,
const css::uno::Any& _rOldValue,
const css::uno::Reference< css::inspection::XObjectInspectorUI >& _rxInspectorUI,
sal_Bool _bFirstTimeInit )
override;
113 virtual
void SAL_CALL
disposing() override;
virtual sal_Bool SAL_CALL suspend(sal_Bool _bSuspend) override
virtual void SAL_CALL inspect(const css::uno::Reference< css::uno::XInterface > &_rxIntrospectee) override
virtual ~GenericPropertyHandler() override
virtual css::uno::Any SAL_CALL getPropertyValue(const OUString &_rPropertyName) override
virtual css::inspection::LineDescriptor SAL_CALL describePropertyLine(const OUString &_rPropertyName, const css::uno::Reference< css::inspection::XPropertyControlFactory > &_rxControlFactory) override
PropertyMap m_aProperties
cache of our supported properties
virtual sal_Bool SAL_CALL isComposable(const OUString &_rPropertyName) override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual void SAL_CALL disposing() override
virtual OUString SAL_CALL getImplementationName() override
css::uno::Reference< css::beans::XPropertySet > m_xComponent
the properties of the object we're handling
virtual css::uno::Any SAL_CALL convertToControlValue(const OUString &_rPropertyName, const css::uno::Any &_rPropertyValue, const css::uno::Type &_rControlValueType) override
virtual void SAL_CALL actuatingPropertyChanged(const OUString &_rActuatingPropertyName, const css::uno::Any &_rNewValue, const css::uno::Any &_rOldValue, const css::uno::Reference< css::inspection::XObjectInspectorUI > &_rxInspectorUI, sal_Bool _bFirstTimeInit) override
virtual css::uno::Sequence< OUString > SAL_CALL getSupersededProperties() override
css::uno::Reference< css::script::XTypeConverter > m_xTypeConverter
type converter, needed on various occasions
virtual css::uno::Sequence< css::beans::Property > SAL_CALL getSupportedProperties() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual css::inspection::InteractiveSelectionResult SAL_CALL onInteractivePropertySelection(const OUString &_rPropertyName, sal_Bool _bPrimary, css::uno::Any &_rData, const css::uno::Reference< css::inspection::XObjectInspectorUI > &_rxInspectorUI) override
virtual css::uno::Sequence< OUString > SAL_CALL getActuatingProperties() override
virtual void SAL_CALL addPropertyChangeListener(const css::uno::Reference< css::beans::XPropertyChangeListener > &_rxListener) override
css::uno::Reference< css::beans::XPropertyState > m_xPropertyState
cached interface of ->m_xComponent
virtual css::beans::PropertyState SAL_CALL getPropertyState(const OUString &_rPropertyName) override
virtual void SAL_CALL removePropertyChangeListener(const css::uno::Reference< css::beans::XPropertyChangeListener > &_rxListener) override
css::uno::Reference< css::uno::XComponentContext > m_xContext
the service factory for creating services
GenericPropertyHandler(const css::uno::Reference< css::uno::XComponentContext > &_rxContext)
::rtl::Reference< IPropertyEnumRepresentation > impl_getEnumConverter(const css::uno::Type &_rEnumType)
retrieves the enum converter for the given ENUM type
void impl_ensurePropertyMap()
ensures that ->m_aProperties is initialized @precond our mutex is locked
bool m_bPropertyMapInitialized
has ->m_aProperties been initialized?
mutable::osl::Mutex m_aMutex
::comphelper::OInterfaceContainerHelper2 m_aPropertyListeners
property change listeners
virtual css::uno::Any SAL_CALL convertToPropertyValue(const OUString &_rPropertyName, const css::uno::Any &_rControlValue) override
virtual void SAL_CALL setPropertyValue(const OUString &_rPropertyName, const css::uno::Any &_rValue) override
css::uno::Reference< css::beans::XIntrospectionAccess > m_xComponentIntrospectionAccess
need this to keep alive as long as m_xComponent lives
std::map< css::uno::Type, ::rtl::Reference< IPropertyEnumRepresentation >, TypeLess > m_aEnumConverters
a property handler for any virtual string properties
::cppu::WeakComponentImplHelper< css::inspection::XPropertyHandler, css::lang::XServiceInfo > GenericPropertyHandler_Base
std::unordered_map< OUString, css::beans::Property > PropertyMap
#define DECLARE_XCOMPONENT()
bool operator()(const css::uno::Type &_rLHS, const css::uno::Type &_rRHS) const