21#include <com/sun/star/frame/XDispatchProvider.hpp>
22#include <com/sun/star/lang/DisposedException.hpp>
23#include <com/sun/star/util/URLTransformer.hpp>
27using namespace ::
cppu;
28using namespace css::awt;
29using namespace css::uno;
30using namespace css::util;
31using namespace css::beans;
32using namespace css::lang;
33using namespace css::frame;
55 Any a = ::cppu::queryInterface(
57 static_cast< XComponent*
>(
this ),
58 static_cast< XFrameActionListener*
>(
this ),
59 static_cast< XStatusListener*
>(
this ),
60 static_cast< XEventListener*
>(
static_cast< XStatusListener*
>(
this )),
61 static_cast< XEventListener*
>(
static_cast< XFrameActionListener*
>(
this )));
66 return OWeakObject::queryInterface( rType );
71 OWeakObject::acquire();
76 OWeakObject::release();
130 if ( xSource == xIfac )
131 listener.second.clear();
135 if ( xIfac == xSource )
153 URLToDispatchMap::iterator pIter =
m_aListenerMap.find( aCommandURL );
160 if (
m_xContext.is() && xDispatchProvider.is() )
167 xStatusListener =
this;
168 URLToDispatchMap::iterator aIter =
m_aListenerMap.find( aCommandURL );
176 if ( xOldDispatch.is() )
177 xOldDispatch->removeStatusListener( xStatusListener,
aTargetURL );
202 std::vector< Listener > aDispatchVector;
210 if (
m_xContext.is() && xDispatchProvider.is() )
212 xStatusListener =
this;
250 if ( !xStatusListener.is() )
255 for (
Listener & rListener : aDispatchVector)
257 if ( rListener.xDispatch.is() )
258 rListener.xDispatch->addStatusListener( xStatusListener, rListener.aURL );
Reference< XComponentContext > m_xContext
css::uno::Reference< css::lang::XComponent > m_xFrame
virtual void SAL_CALL acquire() noexcept override
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
void addStatusListener(const OUString &aCommandURL)
virtual void SAL_CALL dispose() override
virtual ~FrameStatusListener() override
virtual void SAL_CALL release() noexcept override
css::uno::Reference< css::uno::XComponentContext > m_xContext
css::uno::Reference< css::frame::XFrame > m_xFrame
URLToDispatchMap m_aListenerMap
virtual void SAL_CALL disposing(const css::lang::EventObject &Source) override
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &aListener) override
virtual void SAL_CALL frameAction(const css::frame::FrameActionEvent &Action) override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &aType) override
FrameStatusListener(const css::uno::Reference< css::uno::XComponentContext > &rxContext, const css::uno::Reference< css::frame::XFrame > &xFrame)
Reference< XDispatch > xDispatch
Reference< XFrame > xFrame