22#include <config_options.h>
25#include <com/sun/star/lang/XServiceInfo.hpp>
26#include <com/sun/star/lang/XInitialization.hpp>
27#include <com/sun/star/frame/XDispatchProvider.hpp>
28#include <com/sun/star/frame/XDispatch.hpp>
29#include <com/sun/star/frame/XStatusListener.hpp>
30#include <com/sun/star/frame/XPopupMenuController.hpp>
35#include <rtl/ustring.hxx>
37namespace com :: sun :: star :: frame {
class XFrame; }
38namespace com :: sun :: star ::
uno {
class XComponentContext; }
39namespace com :: sun :: star :: util {
class XURLTransformer; }
46 css::lang::XServiceInfo ,
47 css::frame::XPopupMenuController ,
48 css::lang::XInitialization ,
49 css::frame::XStatusListener ,
50 css::awt::XMenuListener ,
51 css::frame::XDispatchProvider ,
57 PopupMenuControllerBase(
const css::uno::Reference< css::uno::XComponentContext >& xContext );
58 virtual ~PopupMenuControllerBase()
override;
66 virtual void SAL_CALL setPopupMenu(
const css::uno::Reference< css::awt::XPopupMenu >&
PopupMenu )
override;
67 virtual void SAL_CALL updatePopupMenu()
override;
70 virtual void SAL_CALL initialize(
const css::uno::Sequence< css::uno::Any >&
aArguments )
override final;
73 virtual void SAL_CALL statusChanged(
const css::frame::FeatureStateEvent& Event )
override = 0;
76 virtual void SAL_CALL
itemHighlighted(
const css::awt::MenuEvent& rEvent )
override;
77 virtual void SAL_CALL
itemSelected(
const css::awt::MenuEvent& rEvent )
override;
78 virtual void SAL_CALL
itemActivated(
const css::awt::MenuEvent& rEvent )
override;
79 virtual void SAL_CALL
itemDeactivated(
const css::awt::MenuEvent& rEvent )
override;
82 virtual css::uno::Reference< css::frame::XDispatch > SAL_CALL queryDispatch(
const css::util::URL&
aURL,
const OUString& sTarget, sal_Int32 nFlags )
override;
83 virtual css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > SAL_CALL queryDispatches(
const css::uno::Sequence< css::frame::DispatchDescriptor >& lDescriptor )
override;
86 virtual void SAL_CALL dispatch(
const css::util::URL&
aURL,
const css::uno::Sequence< css::beans::PropertyValue >& seqProperties )
override;
87 virtual void SAL_CALL addStatusListener(
const css::uno::Reference< css::frame::XStatusListener >& xControl,
const css::util::URL&
aURL )
override;
88 virtual void SAL_CALL removeStatusListener(
const css::uno::Reference< css::frame::XStatusListener >& xControl,
const css::util::URL&
aURL )
override;
91 virtual void SAL_CALL disposing(
const css::lang::EventObject&
Source )
override;
93 void dispatchCommand(
const OUString& sCommandURL,
const css::uno::Sequence< css::beans::PropertyValue >& rArgs,
const OUString& sTarget = OUString() );
96 virtual void initializeImpl( std::unique_lock<std::mutex>& rGuard,
const css::uno::Sequence< css::uno::Any >&
aArguments );
98 void dispatchCommandImpl( std::unique_lock<std::mutex>& rGuard,
const OUString& sCommandURL,
const css::uno::Sequence< css::beans::PropertyValue >& rArgs,
const OUString& sTarget );
101 void updateCommand(
const OUString& rCommandURL );
105 virtual void disposing(std::unique_lock<std::mutex>& rGuard)
override;
107 static void resetPopupMenu( css::uno::Reference< css::awt::XPopupMenu >
const & rPopupMenu );
108 virtual void impl_setPopupMenu();
109 static OUString determineBaseURL( std::u16string_view
aURL );
115 OUString m_aCommandURL;
117 OUString m_aModuleName;
118 css::uno::Reference< css::frame::XDispatch >
m_xDispatch;
119 css::uno::Reference< css::frame::XFrame >
m_xFrame;
120 css::uno::Reference< css::util::XURLTransformer > m_xURLTransformer;
css::uno::Reference< css::lang::XComponent > m_xFrame
css::uno::Reference< css::frame::XDispatch > m_xDispatch
Sequence< PropertyValue > aArguments
#define DECL_DLLPRIVATE_STATIC_LINK(Class, Member, ArgType, RetType)
void SAL_CALL itemDeactivated(const css::awt::MenuEvent &rEvent) override
void SAL_CALL itemActivated(const css::awt::MenuEvent &rEvent) override
DECL_LISTENERMULTIPLEXER_END void SAL_CALL itemHighlighted(const css::awt::MenuEvent &rEvent) override
void SAL_CALL itemSelected(const css::awt::MenuEvent &rEvent) override
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::Sequence< OUString > getSupportedServiceNames()
OUString getImplementationName()
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
comphelper::WeakComponentImplHelper< css::lang::XServiceInfo, css::frame::XPopupMenuController, css::lang::XInitialization, css::frame::XStatusListener, css::awt::XMenuListener, css::frame::XDispatchProvider, css::frame::XDispatch > PopupMenuControllerBaseType