42 Reference<XEventListener> xEvtLstnr =
static_cast<XEventListener*
>(
this);
43 m_xComp->addEventListener( xEvtLstnr );
53 "OComponentEventThread::~OComponentEventThread: Didn't call dispose?" );
60 Any aReturn = OWeakObject::queryInterface(_rType);
62 if (!aReturn.hasValue())
63 aReturn = ::cppu::queryInterface(_rType,
64 static_cast<XEventListener*
>(
this)
79 if( evt.Source !=
static_cast<XWeak*
>(
m_xComp.get()) )
85 Reference<XEventListener> xEvtLstnr =
static_cast<XEventListener*
>(
this);
86 m_xComp->removeEventListener( xEvtLstnr );
102 Reference<XControl> xTmp;
107 const Reference<XControl>& rControl,
110 std::unique_lock aGuard(
m_aMutex );
113 m_aEvents.push_back( std::move( _pEvt ) );
115 Reference<XWeak> xWeakControl(rControl, UNO_QUERY);
116 Reference<XAdapter> xControlAdapter = xWeakControl.is() ? xWeakControl->queryAdapter() : Reference<XAdapter>();
127 OComponentEventThread_TBASE::onTerminated();
134 osl_setThreadName(
"frm::OComponentEventThread");
139 css::uno::Reference<css::uno::XInterface> xThis(
static_cast<XWeak*
>(
this));
150 ThreadEvents::iterator firstEvent(
m_aEvents.begin() );
151 std::unique_ptr<EventObject> pEvt = std::move(*firstEvent);
154 ThreadObjects::iterator firstControl(
m_aControls.begin() );
155 Reference<XAdapter> xControlAdapter = *firstControl;
159 bool bFlag = *firstFlag;
166 Reference<XControl> xControl;
167 if ( xControlAdapter.is() )
169 xControlAdapter->queryAdapted(), css::uno::UNO_QUERY);
172 processEvent( xComp.get(), pEvt.get(), xControl, bFlag );
oslInterlockedCount m_refCount
virtual void SAL_CALL acquire() SAL_NOEXCEPT SAL_OVERRIDE
virtual void SAL_CALL release() SAL_NOEXCEPT SAL_OVERRIDE
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
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()
virtual void SAL_CALL disposing(const css::lang::EventObject &_rSource) override
OComponentEventThread(::cppu::OComponentHelper *pCompImpl)
#define DBG_ASSERT(sCon, aError)
ListBox is a bit confusing / different from other form components, so here are a few notes: