27#include <com/sun/star/awt/XControl.hpp>
28#include <com/sun/star/beans/XPropertyAccess.hpp>
29#include <com/sun/star/beans/XPropertyContainer.hpp>
30#include <com/sun/star/container/XNamed.hpp>
31#include <com/sun/star/form/binding/XBindableValue.hpp>
32#include <com/sun/star/form/validation/XValidatableFormComponent.hpp>
33#include <com/sun/star/form/validation/XValidityConstraintListener.hpp>
34#include <com/sun/star/form/XBoundComponent.hpp>
35#include <com/sun/star/form/XBoundControl.hpp>
36#include <com/sun/star/form/XFormComponent.hpp>
37#include <com/sun/star/form/XLoadListener.hpp>
38#include <com/sun/star/form/XReset.hpp>
39#include <com/sun/star/io/XPersistObject.hpp>
40#include <com/sun/star/lang/XEventListener.hpp>
41#include <com/sun/star/lang/XServiceInfo.hpp>
42#include <com/sun/star/sdb/XColumn.hpp>
43#include <com/sun/star/sdb/XColumnUpdate.hpp>
44#include <com/sun/star/sdb/XRowSetChangeListener.hpp>
45#include <com/sun/star/sdbc/XRowSet.hpp>
46#include <com/sun/star/uno/XAggregation.hpp>
47#include <com/sun/star/uno/XComponentContext.hpp>
48#include <com/sun/star/util/XCloneable.hpp>
49#include <com/sun/star/util/XModifyListener.hpp>
50#include <com/sun/star/form/XLoadable.hpp>
63#include <osl/mutex.hxx>
64#include <rtl/ustring.hxx>
111 const sal_Int32 _nHandle,
112 const css::uno::Any& _rOldValue,
113 const css::uno::Any& _rNewValue
134 , css::lang::XEventListener
135 , css::lang::XServiceInfo
144 css::uno::Reference< css::uno::XAggregation>
147 css::uno::Reference< css::uno::XComponentContext >
177 const css::uno::Reference< css::uno::XComponentContext >& _rFactory,
178 const OUString& _rAggregateService,
179 const bool _bSetDelegator =
true
196 virtual css::uno::Any SAL_CALL
queryAggregation(
const css::uno::Type& _rType )
override;
200 virtual css::uno::Sequence< css::uno::Type> SAL_CALL
getTypes()
override;
203 virtual void SAL_CALL
disposing()
override;
207 { OComponentHelper::dispose(); }
208 virtual void SAL_CALL
addEventListener(
const css::uno::Reference< css::lang::XEventListener>& _rxListener)
override
209 { OComponentHelper::addEventListener(_rxListener); }
210 virtual void SAL_CALL
removeEventListener(
const css::uno::Reference< css::lang::XEventListener>& _rxListener)
override
211 { OComponentHelper::removeEventListener(_rxListener); }
214 virtual void SAL_CALL
disposing(
const css::lang::EventObject& Source)
override;
222 virtual void SAL_CALL
setContext(
const css::uno::Reference<css::uno::XInterface>& Context)
override;
223 virtual css::uno::Reference<css::uno::XInterface> SAL_CALL
getContext()
override;
224 virtual void SAL_CALL
createPeer(
const css::uno::Reference<css::awt::XToolkit>& Toolkit,
const css::uno::Reference<css::awt::XWindowPeer>& Parent)
override;
225 virtual css::uno::Reference<css::awt::XWindowPeer> SAL_CALL
getPeer()
override;
226 virtual sal_Bool SAL_CALL
setModel(
const css::uno::Reference<css::awt::XControlModel>& Model)
override;
227 virtual css::uno::Reference<css::awt::XControlModel> SAL_CALL
getModel()
override;
228 virtual css::uno::Reference<css::awt::XView> SAL_CALL
getView()
override;
234 virtual css::uno::Sequence< css::uno::Type>
_getTypes();
253 const css::uno::Reference< css::uno::XComponentContext >& _rxContext,
254 const OUString& _rAggregateService,
255 const bool _bSetDelegator =
true
261 virtual css::uno::Any SAL_CALL
queryAggregation(
const css::uno::Type& _rType )
override;
269 virtual sal_Bool SAL_CALL
setModel(
const css::uno::Reference< css::awt::XControlModel >& Model)
override;
272 virtual void SAL_CALL
disposing(
const css::lang::EventObject& Source)
override;
275 virtual void SAL_CALL
disposing()
override;
278 virtual css::uno::Sequence< css::uno::Type>
_getTypes()
override;
288#define INVALID_OBJ_ID_IN_MSO 0xFFFF
291 , css::io::XPersistObject
292 , css::container::XNamed
293 , css::lang::XServiceInfo
294 , css::util::XCloneable
295 , css::beans::XPropertyContainer
296 , css::beans::XPropertyAccess
300 ,
public comphelper::OPropertySetAggregationHelper
315 const css::uno::Reference<css::uno::XComponentContext>&
334 const css::uno::Reference< css::uno::XComponentContext>& _rFactory,
335 const OUString& _rUnoControlModelTypeName,
336 const OUString& rDefault = OUString(),
337 const bool _bSetDelegator =
true
341 const css::uno::Reference< css::uno::XComponentContext>& _rFactory,
342 const bool _bCloneAggregate =
true,
343 const bool _bSetDelegator =
true
355 using OComponentHelper::rBHelper;
357 virtual css::uno::Sequence< css::uno::Type>
_getTypes();
369 virtual css::uno::Any SAL_CALL
queryAggregation(
const css::uno::Type& _rType )
override;
373 virtual css::uno::Sequence< css::uno::Type> SAL_CALL
getTypes()
override;
376 virtual void SAL_CALL
disposing()
override;
379 virtual OUString SAL_CALL
getName()
override;
380 virtual void SAL_CALL
setName(
const OUString& aName)
override;
393 virtual void SAL_CALL
394 write(
const css::uno::Reference< css::io::XObjectOutputStream>& _rxOutStream)
override;
395 virtual void SAL_CALL
396 read(
const css::uno::Reference< css::io::XObjectInputStream>& _rxInStream)
override;
399 virtual css::uno::Reference<css::uno::XInterface> SAL_CALL
getParent()
override;
400 virtual void SAL_CALL
setParent(
const css::uno::Reference<css::uno::XInterface>& Parent)
override;
403 virtual void SAL_CALL
disposing(
const css::lang::EventObject& Source)
override;
406 virtual void SAL_CALL
getFastPropertyValue(css::uno::Any& rValue, sal_Int32 nHandle)
const override;
408 css::uno::Any& _rConvertedValue, css::uno::Any& _rOldValue, sal_Int32 _nHandle,
const css::uno::Any& _rValue )
override;
410 using ::cppu::OPropertySetHelper::getFastPropertyValue;
418 virtual css::uno::Reference< css::util::XCloneable > SAL_CALL
createClone( )
override = 0;
421 virtual void SAL_CALL
addProperty(
const OUString& Name, ::sal_Int16 Attributes,
const css::uno::Any& DefaultValue )
override;
422 virtual void SAL_CALL
removeProperty(
const OUString& Name )
override;
425 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL
getPropertyValues( )
override;
426 virtual void SAL_CALL
setPropertyValues(
const css::uno::Sequence< css::beans::PropertyValue >& aProps )
override;
429 using OPropertySetAggregationHelper::setPropertyValues;
430 using OPropertySetAggregationHelper::getPropertyValues;
433 virtual void writeAggregate(
const css::uno::Reference< css::io::XObjectOutputStream >& _rxOutStream )
const;
434 virtual void readAggregate(
const css::uno::Reference< css::io::XObjectInputStream >& _rxInStream );
438 virtual css::uno::Reference< css::beans::XPropertySetInfo> SAL_CALL
getPropertySetInfo()
override;
448 css::uno::Sequence< css::beans::Property >& _rProps
452 virtual ::osl::Mutex&
getMutex()
override;
454 css::uno::Sequence< css::beans::Property >& _out_rFixedProperties,
455 css::uno::Sequence< css::beans::Property >& _out_rAggregateProperties
457 virtual css::uno::Reference< css::beans::XMultiPropertySet >
468 css::uno::Sequence< css::beans::Property >& _rAggregateProps
478 const std::vector< sal_Int32 >& _rHandles,
479 const std::vector< css::uno::Any >& _rOldValues,
480 const std::vector< css::uno::Any >& _rNewValues,
493 , css::beans::XPropertyChangeListener
494 , css::sdb::XRowSetChangeListener
504 , css::util::XModifyListener
509 , css::form::validation::XValidatableFormComponent
528 css::uno::Reference< css::beans::XPropertySet >
531 css::uno::Reference< css::form::XLoadable >
546 css::uno::Reference< css::form::binding::XValueBinding >
548 css::uno::Reference< css::form::validation::XValidator >
554 css::uno::Reference< css::beans::XPropertySet >
584 css::uno::Reference< css::sdbc::XRowSet >
586 css::uno::Reference< css::sdb::XColumnUpdate >
588 css::uno::Reference< css::sdb::XColumn >
600 const css::uno::Reference< css::uno::XComponentContext>& _rxContext,
602 const OUString& _rUnoControlModelTypeName,
603 const OUString& _rDefault,
604 const bool _bCommitable,
605 const bool _bSupportExternalBinding,
606 const bool _bSupportsValidation
610 const css::uno::Reference< css::uno::XComponentContext>& _rxContext
650 const OUString& _rValuePropertyName,
651 sal_Int32 _nValuePropertyExternalHandle
663 const OUString& i_rValuePropertyName
716 virtual css::uno::Any
728 virtual css::uno::Any
743 virtual css::uno::Sequence< css::uno::Type >
756 virtual css::uno::Any
766 virtual css::uno::Any
796 const css::uno::Any& _rValue,
811 const css::uno::Any& _rValue
822 virtual css::uno::Any
827 virtual void onConnectedDbColumn(
const css::uno::Reference< css::uno::XInterface >& _rxForm );
859 virtual css::uno::Any
870 virtual css::uno::Any
878 void readCommonProperties(
const css::uno::Reference< css::io::XObjectInputStream>& _rxInStream);
895 virtual css::uno::Sequence< css::uno::Type>
_getTypes()
override;
899 const css::uno::Reference< css::beans::XPropertySet>& _rxField
912 css::uno::Sequence< css::beans::Property >& _rProps
916 const css::uno::Reference< css::beans::XPropertySet>&
getField()
const
924 virtual css::uno::Any SAL_CALL
queryAggregation(
const css::uno::Type& _rType )
override;
927 virtual void SAL_CALL
disposing()
override;
930 virtual void SAL_CALL
reset( )
override;
931 virtual void SAL_CALL
addResetListener(
const css::uno::Reference< css::form::XResetListener >& aListener )
override;
932 virtual void SAL_CALL
removeResetListener(
const css::uno::Reference< css::form::XResetListener >& aListener )
override;
942 virtual void SAL_CALL
setParent(
const css::uno::Reference< css::uno::XInterface >& Parent )
override;
945 virtual void SAL_CALL
write(
const css::uno::Reference< css::io::XObjectOutputStream >& OutStream )
override;
946 virtual void SAL_CALL
read(
const css::uno::Reference< css::io::XObjectInputStream >& InStream )
override;
952 virtual void SAL_CALL
addUpdateListener(
const css::uno::Reference< css::form::XUpdateListener >& aListener )
override;
953 virtual void SAL_CALL
removeUpdateListener(
const css::uno::Reference< css::form::XUpdateListener >& aListener )
override;
956 virtual void SAL_CALL
getFastPropertyValue(css::uno::Any& rValue, sal_Int32 nHandle)
const override;
958 css::uno::Any& _rConvertedValue, css::uno::Any& _rOldValue, sal_Int32 _nHandle,
const css::uno::Any& _rValue )
override;
960 using ::cppu::OPropertySetHelper::getFastPropertyValue;
966 virtual void SAL_CALL
disposing(
const css::lang::EventObject& Source)
override;
969 virtual void SAL_CALL
propertyChange(
const css::beans::PropertyChangeEvent& evt )
override;
972 virtual void SAL_CALL
onRowSetChanged(
const css::lang::EventObject& i_Event )
override;
975 virtual void SAL_CALL
loaded(
const css::lang::EventObject& aEvent )
override;
976 virtual void SAL_CALL
unloading(
const css::lang::EventObject& aEvent )
override;
977 virtual void SAL_CALL
unloaded(
const css::lang::EventObject& aEvent )
override;
978 virtual void SAL_CALL
reloading(
const css::lang::EventObject& aEvent )
override;
979 virtual void SAL_CALL
reloaded(
const css::lang::EventObject& aEvent )
override;
983 virtual void SAL_CALL
setValueBinding(
const css::uno::Reference< css::form::binding::XValueBinding >& _rxBinding )
override;
984 virtual css::uno::Reference< css::form::binding::XValueBinding > SAL_CALL
getValueBinding( )
override;
987 virtual void SAL_CALL
modified(
const css::lang::EventObject& _rEvent )
override;
990 virtual void SAL_CALL
setValidator(
const css::uno::Reference< css::form::validation::XValidator >& Validator )
override;
991 virtual css::uno::Reference< css::form::validation::XValidator > SAL_CALL
getValidator( )
override;
999 virtual void SAL_CALL
addFormComponentValidityListener(
const css::uno::Reference< css::form::validation::XFormComponentValidityListener >& Listener )
override;
1047 const css::uno::Type&
1058 void initFromField(
const css::uno::Reference< css::sdbc::XRowSet>& _rxForm );
1061 void connectToField(
const css::uno::Reference< css::sdbc::XRowSet>& _rxForm );
1136 const css::uno::Reference< css::form::binding::XValueBinding >& _rxBinding,
1155 const css::uno::Reference< css::form::validation::XValidator >& _rxValidator
1182 const css::uno::Reference< css::form::binding::XValueBinding >& _rxBinding
1196 OSL_ENSURE(
m_bLocked,
"ControlModelLock::release: not locked!" );
OComponentHelper(::osl::Mutex &rMutex)
class whose instances lock an OControlModel
ControlModelLock(const ControlModelLock &)=delete
OControlModel & getModel() const
std::vector< sal_Int32 > m_aHandles
void addPropertyNotification(const sal_Int32 _nHandle, const css::uno::Any &_rOldValue, const css::uno::Any &_rNewValue)
adds a property change notification, which is to be fired when the last lock on the model (in the cur...
ControlModelLock & operator=(const ControlModelLock &)=delete
std::vector< css::uno::Any > m_aNewValues
void impl_notifyAll_nothrow()
ControlModelLock(OControlModel &_rModel)
std::vector< css::uno::Any > m_aOldValues
void impl_disconnectDatabaseColumn_noNotify()
disconnects from a value supplier which is a database column
virtual css::uno::Any getDefaultForReset() const
returns the default which should be used when resetting the control
void transferControlValueToExternal(ControlModelLock &_rInstanceLock)
transfers the control value to the external binding @precond our own mutex is locked,...
void writeCommonProperties(const css::uno::Reference< css::io::XObjectOutputStream > &_rxOutStream)
We can't write (new) common properties in this base class, as the file format doesn't allow this (unf...
sal_Int32 getValuePropertyAggHandle() const
const bool m_bSupportsValidation
virtual css::uno::Any translateControlValueToValidatableValue() const
retrieves the current value of the control, in a shape which can be used with our external validator.
sal_Int32 m_nValuePropertyAggregateHandle
virtual css::uno::Any translateDbColumnToControlValue()=0
translates a db column value into a control value.
void defaultCommonProperties()
OUString m_aLabelServiceName
sal_Int32 getFieldType() const
bool m_bBindingControlsRO
OBoundControlModel(const css::uno::Reference< css::uno::XComponentContext > &_rxContext, const OUString &_rUnoControlModelTypeName, const OUString &_rDefault, const bool _bCommitable, const bool _bSupportExternalBinding, const bool _bSupportsValidation)
virtual void SAL_CALL unloading(const css::lang::EventObject &aEvent) override
bool hasExternalValueBinding() const
checks whether we currently have an external value binding in place
const bool m_bSupportsExternalBinding
virtual void SAL_CALL reloading(const css::lang::EventObject &aEvent) override
bool m_bForwardValueChanges
virtual void onConnectedDbColumn(const css::uno::Reference< css::uno::XInterface > &_rxForm)
called whenever a connection to a database column has been established
const css::uno::Type & getExternalValueType() const
returns the type which should be used to exchange data with our external value binding
bool hasValidator() const
void onValuePropertyChange(ControlModelLock &i_rControLock)
(to be) called when the value property changed
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &_rType) override
css::uno::Reference< css::form::binding::XValueBinding > m_xExternalBinding
virtual css::uno::Reference< css::form::validation::XValidator > SAL_CALL getValidator() override
virtual void doSetControlValue(const css::uno::Any &_rValue)
bool m_bValuePropertyMayBeVoid
css::uno::Type m_aExternalValueType
virtual void onConnectedExternalValue()
called whenever a connection to an external supplier of values (XValueBinding) has been established
rtl::Reference<::comphelper::OPropertyChangeMultiplexer > m_pAggPropMultiplexer
bool impl_approveValueBinding_nolock(const css::uno::Reference< css::form::binding::XValueBinding > &_rxBinding)
called from within <member scope="css:::form::binding">XBindableValue::setValueBinding</member> to ap...
css::uno::Type m_aValuePropertyType
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void SAL_CALL removeFormComponentValidityListener(const css::uno::Reference< css::form::validation::XFormComponentValidityListener > &Listener) override
void setControlValue(const css::uno::Any &_rValue, ValueChangeInstigator _eInstigator)
sets the given value as new current value for the control
void disconnectExternalValueBinding()
disconnects from an external value binding
void initFromField(const css::uno::Reference< css::sdbc::XRowSet > &_rxForm)
initializes the control from m_xField
virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle, const css::uno::Any &rValue) override
void connectToField(const css::uno::Reference< css::sdbc::XRowSet > &_rxForm)
virtual void SAL_CALL unloaded(const css::lang::EventObject &aEvent) override
void implInitAggMultiplexer()
initializes m_pAggPropMultiplexer
virtual void SAL_CALL disposing() override
virtual css::uno::Any translateControlValueToExternalValue() const
commits the current control value to our external value binding
css::uno::Reference< css::form::XLoadable > m_xAmbientForm
void initValueProperty(const OUString &_rValuePropertyName, sal_Int32 _nValuePropertyExternalHandle)
initializes the part of the class which is related to the control value.
void implInitValuePropertyListening() const
initializes listening at the value property
css::uno::Reference< css::sdb::XColumn > m_xColumn
virtual void describeFixedProperties(css::uno::Sequence< css::beans::Property > &_rProps) const override
describes the properties provided by this class, or its respective derived class
virtual void resetNoBroadcast()
called to reset the control to some kind of default.
css::uno::Reference< css::beans::XPropertySet > m_xField
const OUString & getControlSource() const
virtual css::uno::Any translateExternalValueToControlValue(const css::uno::Any &_rExternalValue) const
translates the given value, which was obtained from the current external value binding,...
virtual css::uno::Sequence< css::uno::Type > _getTypes() override
css::uno::Reference< css::beans::XPropertySet > m_xLabelControl
virtual void SAL_CALL onRowSetChanged(const css::lang::EventObject &i_Event) override
virtual void SAL_CALL write(const css::uno::Reference< css::io::XObjectOutputStream > &OutStream) override
virtual void SAL_CALL getFastPropertyValue(css::uno::Any &rValue, sal_Int32 nHandle) const override
virtual void SAL_CALL removeUpdateListener(const css::uno::Reference< css::form::XUpdateListener > &aListener) override
virtual sal_Bool SAL_CALL convertFastPropertyValue(css::uno::Any &_rConvertedValue, css::uno::Any &_rOldValue, sal_Int32 _nHandle, const css::uno::Any &_rValue) override
virtual void clonedFrom(const OControlModel *_pOriginal) override
late ctor after cloning
virtual void SAL_CALL read(const css::uno::Reference< css::io::XObjectInputStream > &InStream) override
::comphelper::OInterfaceContainerHelper3< css::form::XUpdateListener > m_aUpdateListeners
virtual void SAL_CALL setParent(const css::uno::Reference< css::uno::XInterface > &Parent) override
void readCommonProperties(const css::uno::Reference< css::io::XObjectInputStream > &_rxInStream)
void connectExternalValueBinding(const css::uno::Reference< css::form::binding::XValueBinding > &_rxBinding, ControlModelLock &_rInstanceLock)
connects to an external value binding
virtual css::uno::Any getCurrentFormComponentValue() const
retrieves the current value of the form component
void connectValidator(const css::uno::Reference< css::form::validation::XValidator > &_rxValidator)
connects the component to an external validator
void calculateExternalValueType()
calculates the type which is to be used to communicate with the current external binding,...
virtual void SAL_CALL loaded(const css::lang::EventObject &aEvent) override
void resumeValueListening()
resumes listening at the value property
virtual void SAL_CALL addFormComponentValidityListener(const css::uno::Reference< css::form::validation::XFormComponentValidityListener > &Listener) override
void impl_setField_noNotify(const css::uno::Reference< css::beans::XPropertySet > &_rxField)
sets m_xField to the given new value, without notifying our listeners
bool m_bBindingControlsEnable
virtual void SAL_CALL addResetListener(const css::uno::Reference< css::form::XResetListener > &aListener) override
OUString m_sValuePropertyName
ResetHelper m_aResetHelper
virtual bool commitControlValueToDbColumn(bool _bPostReset)=0
commits the current control value to the database column we're bound to @precond we're properly bound...
css::uno::Reference< css::sdbc::XRowSet > m_xCursor
void impl_connectDatabaseColumn_noNotify(bool _bFromReload)
connects to a value supplier which is a database column.
void transferExternalValueToControl(ControlModelLock &_rInstanceLock)
transfers the current value of the active external binding to the control @precond we do have an acti...
virtual void SAL_CALL validityConstraintChanged(const css::lang::EventObject &Source) override
bool m_bTransferringValue
void suspendValueListening()
suspends listening at the value property
virtual css::uno::Any getPropertyDefaultByHandle(sal_Int32 nHandle) const override
const css::uno::Reference< css::beans::XPropertySet > & getField() const
virtual void SAL_CALL reset() override
css::uno::Reference< css::sdb::XColumnUpdate > m_xColumnUpdate
virtual void SAL_CALL setValidator(const css::uno::Reference< css::form::validation::XValidator > &Validator) override
void impl_determineAmbientForm_nothrow()
determines the new value of m_xAmbientForm
void onDisconnectedValidator()
called whenever an external validator has been revoked
virtual sal_Bool SAL_CALL isValid() override
static css::uno::Sequence< OUString > getSupportedServiceNames_Static()
void startAggregatePropertyListening(const OUString &_rPropertyName)
starts listening at the aggregate, for changes in the given property
void recheckValidity(bool _bForceNotification)
does a new validation of the control value
ValueChangeInstigator m_eControlValueChangeInstigator
virtual void onDisconnectedDbColumn()
called whenever a connection to a database column has been suspended
css::uno::Reference< css::form::validation::XValidator > m_xValidator
bool m_bIsCurrentValueValid
virtual css::uno::Reference< css::form::binding::XValueBinding > SAL_CALL getValueBinding() override
void doFormListening(const bool _bStart)
adds or removes the component as load listener to/from our form, and (if necessary) as RowSetChange l...
void onConnectedValidator()
called whenever an external validator has been registered
void disconnectValidator()
disconnects the component from its current an external validator
virtual void SAL_CALL setValueBinding(const css::uno::Reference< css::form::binding::XValueBinding > &_rxBinding) override
virtual css::uno::Any getControlValue() const
retrieves the current value of the control
::comphelper::OInterfaceContainerHelper3< css::form::validation::XFormComponentValidityListener > m_aFormComponentListeners
virtual css::uno::Any SAL_CALL getCurrentValue() override
virtual void SAL_CALL propertyChange(const css::beans::PropertyChangeEvent &evt) override
virtual void SAL_CALL addUpdateListener(const css::uno::Reference< css::form::XUpdateListener > &aListener) override
OUString m_aControlSource
OBoundControlModel(const OBoundControlModel *_pOriginal, const css::uno::Reference< css::uno::XComponentContext > &_rxContext)
virtual void _propertyChanged(const css::beans::PropertyChangeEvent &_rEvt) override
virtual sal_Bool SAL_CALL commit() override
virtual bool approveDbColumnType(sal_Int32 _nColumnType)
nFieldType is the type of the field, on which the model will be linked.
virtual css::uno::Sequence< css::uno::Type > getSupportedBindingTypes()
returns the data types which the control could use to exchange data with an external value binding
virtual ~OBoundControlModel() override
virtual void SAL_CALL reloaded(const css::lang::EventObject &aEvent) override
bool isFormListening() const
void transferDbValueToControl()
transfers the very current value of the db column we're bound to the control @precond our own mutex i...
virtual void SAL_CALL removeResetListener(const css::uno::Reference< css::form::XResetListener > &aListener) override
void initOwnValueProperty(const OUString &i_rValuePropertyName)
initializes the part of the class which is related to the control value.
virtual void SAL_CALL modified(const css::lang::EventObject &_rEvent) override
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &_rType) override
virtual sal_Bool SAL_CALL setModel(const css::uno::Reference< css::awt::XControlModel > &Model) override
virtual ~OBoundControl() override
void _setLock(bool _bLock)
virtual void SAL_CALL disposing() override
virtual css::uno::Sequence< css::uno::Type > _getTypes() override
virtual void SAL_CALL disposing(const css::lang::EventObject &Source) override
OBoundControl(const css::uno::Reference< css::uno::XComponentContext > &_rxContext, const OUString &_rAggregateService, const bool _bSetDelegator=true)
virtual sal_Bool SAL_CALL getLock() override
virtual void SAL_CALL setLock(sal_Bool _bLock) override
css::uno::Sequence< OUString > getAggregateServiceNames() const
virtual void describeFixedProperties(css::uno::Sequence< css::beans::Property > &_rProps) const
describes the properties provided by this class, or its respective derived class
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual ::osl::Mutex & getMutex() override
virtual void SAL_CALL read(const css::uno::Reference< css::io::XObjectInputStream > &_rxInStream) override
virtual css::beans::PropertyState getPropertyStateByHandle(sal_Int32 nHandle) override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getParent() override
virtual void SAL_CALL removeProperty(const OUString &Name) override
css::uno::Reference< css::uno::XComponentContext > m_xContext
virtual void SAL_CALL setParent(const css::uno::Reference< css::uno::XInterface > &Parent) override
PropertyBagHelper m_aPropertyBagHelper
virtual void readAggregate(const css::uno::Reference< css::io::XObjectInputStream > &_rxInStream)
virtual void writeAggregate(const css::uno::Reference< css::io::XObjectOutputStream > &_rxOutStream) const
virtual css::uno::Reference< css::beans::XMultiPropertySet > getPropertiesInterface() override
virtual css::uno::Sequence< css::uno::Type > _getTypes()
virtual void SAL_CALL getFastPropertyValue(css::uno::Any &rValue, sal_Int32 nHandle) const override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
OControlModel(const OControlModel *_pOriginal, const css::uno::Reference< css::uno::XComponentContext > &_rFactory, const bool _bCloneAggregate=true, const bool _bSetDelegator=true)
virtual void SAL_CALL addProperty(const OUString &Name, ::sal_Int16 Attributes, const css::uno::Any &DefaultValue) override
virtual void SAL_CALL disposing() override
virtual void describeFixedAndAggregateProperties(css::uno::Sequence< css::beans::Property > &_out_rFixedProperties, css::uno::Sequence< css::beans::Property > &_out_rAggregateProperties) const override
virtual OUString SAL_CALL getServiceName() override=0
oslInterlockedCount m_lockCount
::osl::Mutex & getInstanceMutex()
virtual css::uno::Reference< css::util::XCloneable > SAL_CALL createClone() override=0
void firePropertyChanges(const std::vector< sal_Int32 > &_rHandles, const std::vector< css::uno::Any > &_rOldValues, const std::vector< css::uno::Any > &_rNewValues, LockAccess)
const css::uno::Reference< css::uno::XComponentContext > & getContext() const
virtual css::uno::Any getPropertyDefaultByHandle(sal_Int32 nHandle) const override
virtual void setPropertyToDefaultByHandle(sal_Int32 nHandle) override
virtual OUString SAL_CALL getImplementationName() override=0
virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle, const css::uno::Any &rValue) override
virtual void describeAggregateProperties(css::uno::Sequence< css::beans::Property > &_rAggregateProps) const
describes the properties of our aggregate
void writeHelpTextCompatibly(const css::uno::Reference< css::io::XObjectOutputStream > &_rxOutStream)
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &_rType) override
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
oslInterlockedCount unlockInstance(LockAccess)
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getPropertyValues() override
virtual void SAL_CALL setPropertyValues(const css::uno::Sequence< css::beans::PropertyValue > &aProps) override
css::uno::Reference< css::uno::XInterface > m_xParent
void lockInstance(LockAccess)
static css::uno::Sequence< OUString > getSupportedServiceNames_Static()
virtual ~OControlModel() override
virtual OUString SAL_CALL getName() override
virtual void SAL_CALL write(const css::uno::Reference< css::io::XObjectOutputStream > &_rxOutStream) override
virtual sal_Bool SAL_CALL convertFastPropertyValue(css::uno::Any &_rConvertedValue, css::uno::Any &_rOldValue, sal_Int32 _nHandle, const css::uno::Any &_rValue) override
virtual void clonedFrom(const OControlModel *_pOriginal)
to be called after an OBoundControlModel (a derivee, respectively) has been cloned
virtual void SAL_CALL setName(const OUString &aName) override
void readHelpTextCompatibly(const css::uno::Reference< css::io::XObjectInputStream > &_rxInStream)
virtual cppu::IPropertyArrayHelper &SAL_CALL getInfoHelper() override
sal_Int16 m_nControlTypeinMSO
OControlModel(const css::uno::Reference< css::uno::XComponentContext > &_rFactory, const OUString &_rUnoControlModelTypeName, const OUString &rDefault=OUString(), const bool _bSetDelegator=true)
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
css::uno::Reference< css::uno::XAggregation > m_xAggregate
virtual css::uno::Reference< css::awt::XView > SAL_CALL getView() override
void impl_resetStateGuard_nothrow()
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL getContext() override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual void SAL_CALL setContext(const css::uno::Reference< css::uno::XInterface > &Context) override
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &_rType) override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &_rxListener) override
void doSetDelegator()
sets the control as delegator at the aggregate
virtual sal_Bool SAL_CALL isDesignMode() override
virtual ~OControl() override
virtual void SAL_CALL createPeer(const css::uno::Reference< css::awt::XToolkit > &Toolkit, const css::uno::Reference< css::awt::XWindowPeer > &Parent) override
virtual css::uno::Reference< css::awt::XWindowPeer > SAL_CALL getPeer() override
virtual css::uno::Reference< css::awt::XControlModel > SAL_CALL getModel() override
virtual sal_Bool SAL_CALL isTransparent() override
virtual OUString SAL_CALL getImplementationName() override=0
OControl(const css::uno::Reference< css::uno::XComponentContext > &_rFactory, const OUString &_rAggregateService, const bool _bSetDelegator=true)
constructs a control
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &_rxListener) override
css::uno::Reference< css::uno::XComponentContext > m_xContext
virtual sal_Bool SAL_CALL setModel(const css::uno::Reference< css::awt::XControlModel > &Model) override
virtual void SAL_CALL disposing() override
css::uno::Reference< css::awt::XControl > m_xControl
virtual void SAL_CALL setDesignMode(sal_Bool bOn) override
virtual css::uno::Sequence< css::uno::Type > _getTypes()
virtual void SAL_CALL dispose() override
WindowStateGuard m_aWindowStateGuard
css::uno::Sequence< OUString > getAggregateServiceNames() const
a helper class which monitors certain states of an XWindow2, and ensures that they're consistent with...
ListBox is a bit confusing / different from other form components, so here are a few notes:
const sal_Int16 FRM_DEFAULT_TABINDEX
::cppu::ImplHelper1< css::form::XBoundControl > OBoundControl_BASE
::cppu::ImplHelper1< css::form::XBoundComponent > OBoundControlModel_COMMITTING
::cppu::ImplHelper4< css::form::XLoadListener, css::form::XReset, css::beans::XPropertyChangeListener, css::sdb::XRowSetChangeListener > OBoundControlModel_BASE1
::cppu::ImplHelper3< css::awt::XControl, css::lang::XEventListener, css::lang::XServiceInfo > OControl_BASE
::cppu::ImplHelper2< css::form::validation::XValidityConstraintListener, css::form::validation::XValidatableFormComponent > OBoundControlModel_VALIDATION
::cppu::ImplHelper2< css::form::binding::XBindableValue, css::util::XModifyListener > OBoundControlModel_BINDING
::cppu::ImplHelper7< css::form::XFormComponent, css::io::XPersistObject, css::container::XNamed, css::lang::XServiceInfo, css::util::XCloneable, css::beans::XPropertyContainer, css::beans::XPropertyAccess > OControlModel_BASE
#define DECLARE_UNO3_AGG_DEFAULTS(classname, baseclass)