30#include <com/sun/star/awt/XActionListener.hpp>
31#include <com/sun/star/form/XImageProducerSupplier.hpp>
32#include <com/sun/star/form/FormButtonType.hpp>
33#include <com/sun/star/form/XApproveActionListener.hpp>
34#include <com/sun/star/form/XApproveActionBroadcaster.hpp>
35#include <com/sun/star/form/submission/XSubmissionSupplier.hpp>
36#include <com/sun/star/form/submission/XSubmission.hpp>
37#include <com/sun/star/frame/XDispatchProviderInterception.hpp>
38#include <com/sun/star/graphic/XGraphicObject.hpp>
48 class OImageProducerThread_Impl;
53 , css::awt::XImageProducer
54 , css::form::submission::XSubmissionSupplier
75 css::uno::Reference< css::form::submission::XSubmission >
83 void SetURL(
const OUString& rURL);
86 css::uno::Sequence< css::uno::Type>
_getTypes()
override;
92 const css::uno::Reference< css::uno::XComponentContext>& _rxFactory,
93 const OUString& _rUnoControlModelTypeName,
94 const OUString& _rDefault
99 const css::uno::Reference< css::uno::XComponentContext>& _rxFactory
106 virtual css::uno::Any SAL_CALL
queryAggregation(
const css::uno::Type& _rType)
override;
110 virtual void SAL_CALL
disposing()
override;
116 virtual void SAL_CALL
getFastPropertyValue(css::uno::Any& rValue, sal_Int32 nHandle )
const override;
119 virtual sal_Bool SAL_CALL
convertFastPropertyValue(css::uno::Any& rConvertedValue, css::uno::Any& rOldValue, sal_Int32 nHandle,
const css::uno::Any& rValue )
override;
121 using ::cppu::OPropertySetHelper::getFastPropertyValue;
124 virtual void _propertyChanged(
const css::beans::PropertyChangeEvent&)
override;
130 virtual void SAL_CALL
addConsumer(
const css::uno::Reference< css::awt::XImageConsumer >& xConsumer )
override;
131 virtual void SAL_CALL
removeConsumer(
const css::uno::Reference< css::awt::XImageConsumer >& xConsumer )
override;
135 virtual css::uno::Reference< css::form::submission::XSubmission > SAL_CALL
getSubmission()
override;
136 virtual void SAL_CALL
setSubmission(
const css::uno::Reference< css::form::submission::XSubmission >& _submission )
override;
169 throw css::lang::DisposedException(
171 static_cast< css::form::XImageProducerSupplier*
>( &_rModel )
180 , css::form::submission::XSubmission
181 , css::frame::XDispatchProviderInterception
201 virtual void SAL_CALL
submit( )
override;
202 virtual void SAL_CALL
submitWithInteraction(
const css::uno::Reference< css::task::XInteractionHandler >& aHandler )
override;
203 virtual void SAL_CALL
addSubmissionVetoListener(
const css::uno::Reference< css::form::submission::XSubmissionVetoListener >& listener )
override;
204 virtual void SAL_CALL
removeSubmissionVetoListener(
const css::uno::Reference< css::form::submission::XSubmissionVetoListener >& listener )
override;
214 const css::uno::Reference< css::uno::XComponentContext>& _rxFactory,
215 const OUString& _aService);
221 virtual css::uno::Any SAL_CALL
queryAggregation(
const css::uno::Type& _rType)
override;
224 virtual void SAL_CALL
disposing()
override;
227 virtual void SAL_CALL
addApproveActionListener(
const css::uno::Reference< css::form::XApproveActionListener>& _rxListener)
override;
228 virtual void SAL_CALL
removeApproveActionListener(
const css::uno::Reference< css::form::XApproveActionListener>& _rxListener)
override;
237 css::uno::Sequence< css::uno::Type >
_getTypes()
override;
252 const css::awt::MouseEvent& _rEvent,
253 const css::uno::Reference< css::task::XInteractionHandler >& aHandler
264 const css::lang::EventObject*,
265 const css::uno::Reference< css::awt::XControl>&,
helper class for controls which allow some of their features to be intercepted by external instances
ImageModelMethodGuard(OClickableImageBaseModel &_rModel)
void implSubmit(const css::awt::MouseEvent &_rEvent, const css::uno::Reference< css::task::XInteractionHandler > &aHandler)
virtual void SAL_CALL addSubmissionVetoListener(const css::uno::Reference< css::form::submission::XSubmissionVetoListener > &listener) override
OUString m_aActionCommand
OClickableImageBaseControl(const css::uno::Reference< css::uno::XComponentContext > &_rxFactory, const OUString &_aService)
virtual void SAL_CALL submit() override
virtual void SAL_CALL removeSubmissionVetoListener(const css::uno::Reference< css::form::submission::XSubmissionVetoListener > &listener) override
::comphelper::OInterfaceContainerHelper3< css::form::submission::XSubmissionVetoListener > m_aSubmissionVetoListeners
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &_rType) override
virtual void SAL_CALL addApproveActionListener(const css::uno::Reference< css::form::XApproveActionListener > &_rxListener) override
bool approveAction()
approves the action by calling the approve listeners
virtual void SAL_CALL releaseDispatchProviderInterceptor(const css::uno::Reference< css::frame::XDispatchProviderInterceptor > &Interceptor) override
OImageProducerThread_Impl * getImageProducerThread()
retrieves (and if necessary creates) the image producer thread.
virtual void SAL_CALL submitWithInteraction(const css::uno::Reference< css::task::XInteractionHandler > &aHandler) override
virtual void actionPerformed_Impl(bool bNotifyListener, const css::awt::MouseEvent &rEvt)
virtual ~OClickableImageBaseControl() override
virtual void SAL_CALL removeApproveActionListener(const css::uno::Reference< css::form::XApproveActionListener > &_rxListener) override
rtl::Reference< OImageProducerThread_Impl > m_pThread
::comphelper::OInterfaceContainerHelper3< css::awt::XActionListener > m_aActionListeners
::comphelper::OInterfaceContainerHelper3< css::form::XApproveActionListener > m_aApproveActionListeners
css::uno::Sequence< css::uno::Type > _getTypes() override
virtual void SAL_CALL registerDispatchProviderInterceptor(const css::uno::Reference< css::frame::XDispatchProviderInterceptor > &Interceptor) override
virtual void SAL_CALL disposing() override
ControlFeatureInterception m_aFeatureInterception
virtual css::uno::Reference< css::awt::XImageProducer > SAL_CALL getImageProducer() override
virtual void SAL_CALL getFastPropertyValue(css::uno::Any &rValue, sal_Int32 nHandle) const override
virtual css::uno::Any getPropertyDefaultByHandle(sal_Int32 nHandle) const override
ImageProducer * GetImageProducer()
virtual void SAL_CALL startProduction() override
OClickableImageBaseModel(const OClickableImageBaseModel *_pOriginal, const css::uno::Reference< css::uno::XComponentContext > &_rxFactory)
std::unique_ptr< SfxMedium > m_pMedium
void SetURL(const OUString &rURL)
virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle, const css::uno::Any &rValue) override
ImageProducer * getImageProducer(GuardAccess)
virtual void SAL_CALL removeConsumer(const css::uno::Reference< css::awt::XImageConsumer > &xConsumer) override
css::form::FormButtonType m_eButtonType
DECL_LINK(DownloadDoneLink, void *, void)
virtual void SAL_CALL setSubmission(const css::uno::Reference< css::form::submission::XSubmission > &_submission) override
virtual void SAL_CALL addConsumer(const css::uno::Reference< css::awt::XImageConsumer > &xConsumer) override
virtual void SAL_CALL disposing() override
css::uno::Reference< css::graphic::XGraphicObject > m_xGraphicObject
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
void implInitializeImageURL()
SfxObjectShell * GetObjectShell()
virtual sal_Bool SAL_CALL convertFastPropertyValue(css::uno::Any &rConvertedValue, css::uno::Any &rOldValue, sal_Int32 nHandle, const css::uno::Any &rValue) override
virtual css::uno::Reference< css::form::submission::XSubmission > SAL_CALL getSubmission() override
bool isDispatchUrlInternal() const
bool m_bDispatchUrlInternal
rtl::Reference< ImageProducer > m_xProducer
DECL_LINK(OnImageImportDone, ::Graphic *, void)
css::uno::Reference< css::form::submission::XSubmission > m_xSubmissionDelegate
virtual void _propertyChanged(const css::beans::PropertyChangeEvent &) override
OClickableImageBaseModel(const css::uno::Reference< css::uno::XComponentContext > &_rxFactory, const OUString &_rUnoControlModelTypeName, const OUString &_rDefault)
virtual css::uno::Any SAL_CALL queryAggregation(const css::uno::Type &_rType) override
::osl::Mutex & getMutex(GuardAccess)
css::uno::Sequence< css::uno::Type > _getTypes() override
virtual ~OClickableImageBaseModel() override
void setDispatchUrlInternal(bool _bDispatch)
void addEvent(std::unique_ptr< css::lang::EventObject > _pEvt)
virtual ::osl::Mutex & getMutex() override
virtual void SAL_CALL disposing() override
virtual void SAL_CALL disposing() override
virtual void processEvent(::cppu::OComponentHelper *pCompImpl, const css::lang::EventObject *, const css::uno::Reference< css::awt::XControl > &, bool) override
OImageProducerThread_Impl(OClickableImageBaseControl *pControl)
::osl::Mutex & getMutex()
ListBox is a bit confusing / different from other form components, so here are a few notes:
::cppu::ImplHelper3< css::form::XApproveActionBroadcaster, css::form::submission::XSubmission, css::frame::XDispatchProviderInterception > OClickableImageBaseControl_BASE
::cppu::ImplHelper3< css::form::XImageProducerSupplier, css::awt::XImageProducer, css::form::submission::XSubmissionSupplier > OClickableImageBaseModel_Base
#define DECLARE_UNO3_AGG_DEFAULTS(classname, baseclass)