28#include <com/sun/star/lang/XEventListener.hpp>
29#include <com/sun/star/lang/EventObject.hpp>
30#include <com/sun/star/awt/XControl.hpp>
31#include <osl/thread.hxx>
32#include <osl/conditn.hxx>
48 ,
public css::lang::XEventListener
51 typedef std::vector<std::unique_ptr<css::lang::EventObject>>
ThreadEvents;
52 typedef std::vector< css::uno::Reference< css::uno::XAdapter> >
ThreadObjects;
65 virtual void SAL_CALL
run()
override;
75 const css::lang::EventObject* _pEvt,
76 const css::uno::Reference< css::awt::XControl>& _rControl,
83 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type& _rType)
override;
88 void addEvent( std::unique_ptr<css::lang::EventObject> _pEvt );
89 void addEvent( std::unique_ptr<css::lang::EventObject> _pEvt,
const css::uno::Reference< css::awt::XControl>& rControl,
93 virtual void SAL_CALL
disposing(
const css::lang::EventObject& _rSource )
override;
96 using osl::Thread::operator
new;
97 using osl::Thread::operator
delete;
virtual void processEvent(::cppu::OComponentHelper *_pCompImpl, const css::lang::EventObject *_pEvt, const css::uno::Reference< css::awt::XControl > &_rControl, bool _bFlag)=0
void addEvent(std::unique_ptr< css::lang::EventObject > _pEvt)
std::vector< bool > m_aFlags
std::vector< std::unique_ptr< css::lang::EventObject > > ThreadEvents
virtual ~OComponentEventThread() override
virtual void SAL_CALL run() override
rtl::Reference<::cppu::OComponentHelper > m_xComp
virtual void SAL_CALL onTerminated() override
ThreadObjects m_aControls
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &_rType) override
void impl_clearEventQueue()
void addEvent(std::unique_ptr< css::lang::EventObject > _pEvt, const css::uno::Reference< css::awt::XControl > &rControl, bool bFlag=false)
std::vector< css::uno::Reference< css::uno::XAdapter > > ThreadObjects
virtual void SAL_CALL disposing(const css::lang::EventObject &_rSource) override
OComponentEventThread(::cppu::OComponentHelper *pCompImpl)
ListBox is a bit confusing / different from other form components, so here are a few notes:
::osl::Thread OComponentEventThread_TBASE
#define DECLARE_UNO3_DEFAULTS(classname, baseclass)