23#include <com/sun/star/beans/PropertyValue.hpp>
24#include <com/sun/star/frame/XStatusListener.hpp>
25#include <com/sun/star/frame/XToolbarController.hpp>
26#include <com/sun/star/lang/XInitialization.hpp>
27#include <com/sun/star/util/XUpdatable.hpp>
28#include <com/sun/star/uno/Sequence.hxx>
39#include <unordered_map>
41namespace com :: sun :: star :: frame {
class XDispatch; }
42namespace com :: sun :: star :: frame {
class XFrame; }
43namespace com :: sun :: star :: frame {
class XLayoutManager; }
44namespace com :: sun :: star ::
uno {
class XComponentContext; }
45namespace com :: sun :: star :: util {
class XURLTransformer; }
58typedef cppu::WeakImplHelper<
59 css::frame::XStatusListener, css::frame::XToolbarController,
60 css::lang::XInitialization, css::util::XUpdatable,
61 css::lang::XComponent >
74 const css::uno::Reference< css::frame::XFrame >& xFrame,
75 OUString aCommandURL );
79 css::uno::Reference< css::frame::XFrame > getFrameInterface()
const;
80 const css::uno::Reference< css::uno::XComponentContext >& getContext()
const;
81 css::uno::Reference< css::frame::XLayoutManager > getLayoutManager()
const;
83 void updateStatus(
const OUString& aCommandURL );
87 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type& aType )
override;
88 virtual void SAL_CALL acquire() noexcept override;
89 virtual
void SAL_CALL release() noexcept override;
93 virtual
void SAL_CALL initialize( const css::
uno::
Sequence< css::
uno::Any >& aArguments ) override;
96 virtual
void SAL_CALL update() override;
99 virtual
void SAL_CALL dispose() override;
100 virtual
void SAL_CALL addEventListener( const css::
uno::
Reference< css::lang::XEventListener >& xListener ) override;
101 virtual
void SAL_CALL removeEventListener( const css::
uno::
Reference< css::lang::XEventListener >& aListener ) override;
104 using
cppu::OPropertySetHelper::disposing;
105 virtual
void SAL_CALL disposing( const css::lang::EventObject& Source ) override;
108 virtual
void SAL_CALL statusChanged( const css::frame::FeatureStateEvent& Event ) override = 0;
111 virtual
void SAL_CALL execute( sal_Int16 KeyModifier ) override;
112 virtual
void SAL_CALL click() override;
113 virtual
void SAL_CALL doubleClick() override;
114 virtual css::
uno::
Reference< css::awt::XWindow > SAL_CALL createPopupWindow() override;
115 virtual css::
uno::
Reference< css::awt::XWindow > SAL_CALL createItemWindow( const css::
uno::
Reference< css::awt::XWindow >& Parent ) override;
117 virtual
void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const css::
uno::Any& rValue ) override;
118 virtual
sal_Bool SAL_CALL convertFastPropertyValue( css::
uno::Any& rConvertedValue, css::
uno::Any& rOldValue, sal_Int32 nHandle, const css::
uno::Any& rValue) override;
120 virtual css::
uno::
Reference< css::beans::XPropertySetInfo> SAL_CALL getPropertySetInfo() override;
121 virtual ::
cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper() override;
123 virtual ::
cppu::IPropertyArrayHelper* createArrayHelper( ) const override;
126 const OUString& getCommandURL()
const {
return m_aCommandURL; }
129 void dispatchCommand(
const OUString& sCommandURL,
const css::uno::Sequence< css::beans::PropertyValue >& rArgs,
const OUString &rTarget = OUString() );
131 void enable(
bool bEnable );
139 Listener( css::util::URL _aURL, css::uno::Reference< css::frame::XDispatch > _xDispatch ) :
150 const css::uno::Sequence< css::beans::PropertyValue >
maArgs;
154 const css::uno::Sequence< css::beans::PropertyValue >& rArgs )
163 typedef std::unordered_map< OUString,
167 void addStatusListener(
const OUString& aCommandURL );
168 void removeStatusListener(
const OUString& aCommandURL );
170 void unbindListener();
173 const css::uno::Reference< css::util::XURLTransformer >&
getURLTransformer()
const {
return m_xUrlTransformer;}
175 const css::uno::Reference< css::awt::XWindow >&
getParent()
const {
return m_xParentWindow;}
181 css::uno::Reference< css::frame::XFrame >
m_xFrame;
182 css::uno::Reference< css::uno::XComponentContext >
m_xContext;
Reference< XDispatch > xDispatch
bool dispatchCommand(const OUString &rCommand, const uno::Reference< css::frame::XFrame > &rFrame, const css::uno::Sequence< css::beans::PropertyValue > &rArguments, const uno::Reference< css::frame::XDispatchResultListener > &rListener)
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType, Interface1 *p1)
cppu::WeakImplHelper< css::frame::XStatusListener, css::frame::XToolbarController, css::lang::XInitialization, css::util::XUpdatable, css::lang::XComponent > ToolboxController_Base