summaryrefslogtreecommitdiff
path: root/framework/source
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2012-12-11 17:18:13 +0200
committerNoel Grandin <noel@peralex.com>2012-12-21 09:12:07 +0200
commite93a0018871ebea4da1959c72c06f3c7f4dc7b27 (patch)
tree3f9b5b2dcde5d428e182966ace4a641aafe231c4 /framework/source
parentecae523d9603eaf7ff0acc98682576813e50c94a (diff)
fdo#46808, Adapt frame::PopupMenuControllerFactory UNO service to new style
Required creating a new merged interface. The service interface is going to be shared by some other services, which is why it's name is != the service name. Change-Id: I9af3c27b367807147a0052fb6fa4e42eb1ad32de
Diffstat (limited to 'framework/source')
-rw-r--r--framework/source/uielement/menubarmanager.cxx65
-rw-r--r--framework/source/uielement/popupmenucontroller.cxx9
-rw-r--r--framework/source/uifactory/popupmenucontrollerfactory.cxx2
3 files changed, 35 insertions, 41 deletions
diff --git a/framework/source/uielement/menubarmanager.cxx b/framework/source/uielement/menubarmanager.cxx
index f12dca4a8cab..49c35c4cc83f 100644
--- a/framework/source/uielement/menubarmanager.cxx
+++ b/framework/source/uielement/menubarmanager.cxx
@@ -36,6 +36,7 @@
#include <com/sun/star/lang/DisposedException.hpp>
#include <com/sun/star/frame/XFramesSupplier.hpp>
#include <com/sun/star/frame/XDesktop.hpp>
+#include <com/sun/star/frame/PopupMenuControllerFactory.hpp>
#include <com/sun/star/container/XEnumeration.hpp>
#include <com/sun/star/util/XStringWidth.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
@@ -188,9 +189,7 @@ MenuBarManager::MenuBarManager(
, m_nSymbolsStyle( SvtMiscOptions().GetCurrentSymbolsStyle() )
{
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@sun.com", "MenuBarManager::MenuBarManager" );
- m_xPopupMenuControllerRegistration = Reference< ::com::sun::star::frame::XUIControllerRegistration >(
- getServiceFactory()->createInstance( rtl::OUString( "com.sun.star.frame.PopupMenuControllerFactory" )),
- UNO_QUERY );
+ m_xPopupMenuControllerRegistration = PopupMenuControllerFactory::create( comphelper::getComponentContext(getServiceFactory()) );
FillMenuManager( pMenu, rFrame, rDispatchProvider, rModuleIdentifier, bDelete, bDeleteChildren );
}
@@ -1195,37 +1194,33 @@ sal_Bool MenuBarManager::CreatePopupMenuController( MenuItemHandler* pMenuItemHa
RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "framework", "Ocke.Janssen@sun.com", "MenuBarManager::CreatePopupMenuController" );
rtl::OUString aItemCommand( pMenuItemHandler->aMenuItemURL );
- // Try instanciate a popup menu controller. It is stored in the menu item handler.
- Reference< XMultiComponentFactory > xPopupMenuControllerFactory( m_xPopupMenuControllerRegistration, UNO_QUERY );
- if ( xPopupMenuControllerFactory.is() )
+ // Try instantiate a popup menu controller. It is stored in the menu item handler.
+ Sequence< Any > aSeq( 2 );
+ PropertyValue aPropValue;
+
+ aPropValue.Name = rtl::OUString( "ModuleName" );
+ aPropValue.Value <<= m_aModuleIdentifier;
+ aSeq[0] <<= aPropValue;
+ aPropValue.Name = rtl::OUString( "Frame" );
+ aPropValue.Value <<= m_xFrame;
+ aSeq[1] <<= aPropValue;
+
+ Reference< XComponentContext > xComponentContext(
+ comphelper::getComponentContext( getServiceFactory() ) );
+
+ Reference< XPopupMenuController > xPopupMenuController(
+ m_xPopupMenuControllerRegistration->createInstanceWithArgumentsAndContext(
+ aItemCommand,
+ aSeq,
+ xComponentContext ),
+ UNO_QUERY );
+
+ if ( xPopupMenuController.is() )
{
- Sequence< Any > aSeq( 2 );
- PropertyValue aPropValue;
-
- aPropValue.Name = rtl::OUString( "ModuleName" );
- aPropValue.Value <<= m_aModuleIdentifier;
- aSeq[0] <<= aPropValue;
- aPropValue.Name = rtl::OUString( "Frame" );
- aPropValue.Value <<= m_xFrame;
- aSeq[1] <<= aPropValue;
-
- Reference< XComponentContext > xComponentContext(
- comphelper::getComponentContext( getServiceFactory() ) );
-
- Reference< XPopupMenuController > xPopupMenuController(
- xPopupMenuControllerFactory->createInstanceWithArgumentsAndContext(
- aItemCommand,
- aSeq,
- xComponentContext ),
- UNO_QUERY );
-
- if ( xPopupMenuController.is() )
- {
- // Provide our awt popup menu to the popup menu controller
- pMenuItemHandler->xPopupMenuController = xPopupMenuController;
- xPopupMenuController->setPopupMenu( pMenuItemHandler->xPopupMenu );
- return sal_True;
- }
+ // Provide our awt popup menu to the popup menu controller
+ pMenuItemHandler->xPopupMenuController = xPopupMenuController;
+ xPopupMenuController->setPopupMenu( pMenuItemHandler->xPopupMenu );
+ return sal_True;
}
return sal_False;
@@ -2028,9 +2023,7 @@ void MenuBarManager::Init(const Reference< XFrame >& rFrame,AddonMenu* pAddonMen
m_bIsBookmarkMenu = sal_True;
rtl::OUString aModuleIdentifier;
- m_xPopupMenuControllerRegistration = Reference< ::com::sun::star::frame::XUIControllerRegistration >(
- getServiceFactory()->createInstance( rtl::OUString( "com.sun.star.frame.PopupMenuControllerFactory" )),
- UNO_QUERY );
+ m_xPopupMenuControllerRegistration = PopupMenuControllerFactory::create( comphelper::getComponentContext(getServiceFactory()) );
Reference< XStatusListener > xStatusListener;
Reference< XDispatch > xDispatch;
diff --git a/framework/source/uielement/popupmenucontroller.cxx b/framework/source/uielement/popupmenucontroller.cxx
index fd41cffb1a65..772a3aa15bb3 100644
--- a/framework/source/uielement/popupmenucontroller.cxx
+++ b/framework/source/uielement/popupmenucontroller.cxx
@@ -20,6 +20,7 @@
#include <com/sun/star/awt/XPopupMenu.hpp>
#include <com/sun/star/frame/XPopupMenuController.hpp>
+#include <com/sun/star/frame/PopupMenuControllerFactory.hpp>
#include <toolkit/helper/vclunohelper.hxx>
@@ -156,7 +157,10 @@ void SAL_CALL PopupMenuController::doubleClick() throw (RuntimeException)
bool PopupMenuController::CreatePopupMenuController() throw (Exception)
{
- Reference< XMultiComponentFactory > xPopupMenuControllerRegistration( getServiceManager()->createInstance( SERVICENAME_POPUPMENUCONTROLLERFACTORY ), UNO_QUERY_THROW );
+ Reference< XComponentContext > xComponentContext(
+ comphelper::getComponentContext( getServiceManager() ) );
+
+ Reference< XToolbarControllerFactory > xPopupMenuControllerRegistration = PopupMenuControllerFactory::create( xComponentContext );
Sequence< Any > aSeq( 2 );
PropertyValue aPropValue;
@@ -168,9 +172,6 @@ bool PopupMenuController::CreatePopupMenuController() throw (Exception)
aPropValue.Value <<= m_xFrame;
aSeq[1] <<= aPropValue;
- Reference< XComponentContext > xComponentContext(
- comphelper::getComponentContext( getServiceManager() ) );
-
Reference< XPopupMenuController > xPopupMenuController( xPopupMenuControllerRegistration->createInstanceWithArgumentsAndContext( getCommandURL(), aSeq, xComponentContext ), UNO_QUERY );
if ( xPopupMenuController.is() )
{
diff --git a/framework/source/uifactory/popupmenucontrollerfactory.cxx b/framework/source/uifactory/popupmenucontrollerfactory.cxx
index 34dd936f7b72..90a58477a9b2 100644
--- a/framework/source/uifactory/popupmenucontrollerfactory.cxx
+++ b/framework/source/uifactory/popupmenucontrollerfactory.cxx
@@ -54,7 +54,7 @@ namespace framework
//*****************************************************************************************************************
DEFINE_XSERVICEINFO_ONEINSTANCESERVICE ( PopupMenuControllerFactory ,
::cppu::OWeakObject ,
- SERVICENAME_POPUPMENUCONTROLLERFACTORY ,
+ DECLARE_ASCII("com.sun.star.frame.PopupMenuControllerFactory"),
IMPLEMENTATIONNAME_POPUPMENUCONTROLLERFACTORY
)