Kaydet (Commit) a7266777 authored tarafından Noel Grandin's avatar Noel Grandin

fdo#46808, Convert XMultiServiceFactory to XComponentContext

Change-Id: Ib5e6fb4d6a4ff8f2bd315f19bde5028be2c569ea
üst fe1ac1bf
......@@ -30,7 +30,7 @@ struct AddonStatusbarItemData;
class GenericStatusbarController : public svt::StatusbarController
{
public:
GenericStatusbarController( const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& rServiceManager,
GenericStatusbarController( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxContext,
const com::sun::star::uno::Reference< com::sun::star::frame::XFrame >& rFrame,
const com::sun::star::uno::Reference< com::sun::star::ui::XStatusbarItem >& rxItem,
AddonStatusbarItemData *pItemData );
......
......@@ -42,7 +42,7 @@ namespace framework {
class LangSelectionStatusbarController : public svt::StatusbarController
{
public:
explicit LangSelectionStatusbarController( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& xServiceManager );
explicit LangSelectionStatusbarController( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& xContext );
// XServiceInfo
DECLARE_XSERVICEINFO
......
......@@ -41,6 +41,7 @@
#include <com/sun/star/frame/XToolbarController.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/frame/XLayoutManager.hpp>
#include <com/sun/star/ui/DockingArea.hpp>
#include <com/sun/star/lang/XMultiComponentFactory.hpp>
......
......@@ -43,11 +43,11 @@ namespace framework
{
GenericStatusbarController::GenericStatusbarController(
const Reference< XMultiServiceFactory >& rxServiceManager,
const Reference< XComponentContext >& rxContext,
const Reference< XFrame >& rxFrame,
const Reference< ui::XStatusbarItem >& rxItem,
AddonStatusbarItemData *pItemData )
: svt::StatusbarController( rxServiceManager, rxFrame, OUString(), 0 )
: svt::StatusbarController( rxContext, rxFrame, OUString(), 0 )
, m_bEnabled( sal_False )
, m_bOwnerDraw( sal_False )
, m_pItemData( pItemData )
......
......@@ -44,8 +44,6 @@
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/frame/XDispatch.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/util/URLTransformer.hpp>
#include <com/sun/star/util/XURLTransformer.hpp>
#include <comphelper/processfactory.hxx>
#include <toolkit/helper/vclunohelper.hxx>
......@@ -75,7 +73,7 @@ using ::rtl::OUStringBuffer;
namespace framework
{
DEFINE_XSERVICEINFO_MULTISERVICE ( LangSelectionStatusbarController ,
DEFINE_XSERVICEINFO_MULTISERVICE_2 ( LangSelectionStatusbarController ,
OWeakObject ,
SERVICENAME_STATUSBARCONTROLLER ,
IMPLEMENTATIONNAME_LANGSELECTIONSTATUSBARCONTROLLER
......@@ -83,11 +81,11 @@ DEFINE_XSERVICEINFO_MULTISERVICE ( LangSelectionStatusbarController
DEFINE_INIT_SERVICE ( LangSelectionStatusbarController, {} )
LangSelectionStatusbarController::LangSelectionStatusbarController( const uno::Reference< lang::XMultiServiceFactory >& xServiceManager ) :
svt::StatusbarController( xServiceManager, uno::Reference< frame::XFrame >(), OUString(), 0 ),
LangSelectionStatusbarController::LangSelectionStatusbarController( const uno::Reference< uno::XComponentContext >& xContext ) :
svt::StatusbarController( xContext, uno::Reference< frame::XFrame >(), OUString(), 0 ),
m_bShowMenu( sal_True ),
m_nScriptType( LS_SCRIPT_LATIN | LS_SCRIPT_ASIAN | LS_SCRIPT_COMPLEX ),
m_aLangGuessHelper( comphelper::getComponentContext(xServiceManager) )
m_aLangGuessHelper( xContext )
{
}
......@@ -114,9 +112,9 @@ throw (::com::sun::star::uno::RuntimeException)
return;
//add context menu
Reference< awt::XPopupMenu > xPopupMenu( awt::PopupMenu::create( comphelper::getComponentContext(m_xServiceManager) ) );
Reference< awt::XPopupMenu > xPopupMenu( awt::PopupMenu::create( m_xContext ) );
//sub menu that contains all items except the last two items: Separator + Set Language for Paragraph
Reference< awt::XPopupMenu > subPopupMenu( awt::PopupMenu::create( comphelper::getComponentContext(m_xServiceManager) ) );
Reference< awt::XPopupMenu > subPopupMenu( awt::PopupMenu::create( m_xContext ) );
SvtLanguageTable aLanguageTable;
......
......@@ -421,7 +421,7 @@ void StatusBarManager::CreateControllers()
// 3º) Is Add-on? Generic statusbar controller
if ( pItemData )
{
pController = new GenericStatusbarController( uno::Reference<lang::XMultiServiceFactory>(m_xContext->getServiceManager(), uno::UNO_QUERY_THROW),
pController = new GenericStatusbarController( m_xContext,
m_xFrame,
xStatusbarItem,
pItemData );
......@@ -429,7 +429,7 @@ void StatusBarManager::CreateControllers()
else
{
// 4º) Default Statusbar controller
pController = new svt::StatusbarController( uno::Reference<lang::XMultiServiceFactory>(m_xContext->getServiceManager(), uno::UNO_QUERY_THROW), m_xFrame, aCommandURL, nId );
pController = new svt::StatusbarController( m_xContext, m_xFrame, aCommandURL, nId );
}
}
......
......@@ -40,6 +40,7 @@
#include <com/sun/star/ui/DockingArea.hpp>
#include <com/sun/star/graphic/XGraphic.hpp>
#include <com/sun/star/lang/XMultiComponentFactory.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/frame/ModuleManager.hpp>
#include <com/sun/star/frame/ToolbarControllerFactory.hpp>
#include <com/sun/star/ui/GlobalAcceleratorConfiguration.hpp>
......
......@@ -21,13 +21,13 @@
#define _SVTOOLS_STATUSBARCONTROLLER_HXX
#include "svtools/svtdllapi.h"
#include <com/sun/star/ui/XStatusbarItem.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/frame/XFrame.hpp>
#include <com/sun/star/frame/XDispatch.hpp>
#include <com/sun/star/frame/XStatusbarController.hpp>
#include <com/sun/star/util/XURLTransformer.hpp>
#include <com/sun/star/frame/XLayoutManager.hpp>
#include <com/sun/star/ui/XStatusbarItem.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/util/XURLTransformer.hpp>
#include <cppuhelper/weak.hxx>
#include <cppuhelper/interfacecontainer.hxx>
#include <comphelper/broadcasthelper.hxx>
......@@ -46,7 +46,7 @@ class SVT_DLLPUBLIC StatusbarController :
public ::cppu::OWeakObject
{
public:
StatusbarController( const com::sun::star::uno::Reference< com::sun::star::lang::XMultiServiceFactory >& rServiceManager,
StatusbarController( const com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >& rxContext,
const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame >& xFrame,
const OUString& aCommandURL,
unsigned short nID );
......@@ -123,7 +123,7 @@ class SVT_DLLPUBLIC StatusbarController :
unsigned short m_nID;
::com::sun::star::uno::Reference< ::com::sun::star::frame::XFrame > m_xFrame;
::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > m_xParentWindow;
::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xServiceManager;
::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
OUString m_aCommandURL;
URLToDispatchMap m_aListenerMap;
::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
......
......@@ -37,7 +37,7 @@ namespace rptui
sal_uInt16 m_nSlotId;
sal_uInt16 m_nId;
public:
OStatusbarController(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB);
OStatusbarController(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxORB);
static OUString getImplementationName_Static() throw( ::com::sun::star::uno::RuntimeException );
static ::com::sun::star::uno::Sequence< OUString > getSupportedServiceNames_Static(void) throw( ::com::sun::star::uno::RuntimeException );
......
......@@ -69,15 +69,15 @@ Sequence< OUString> SAL_CALL OStatusbarController::getSupportedServiceNames() th
// -------------------------------------------------------------------------
Reference< XInterface > OStatusbarController::create(Reference< XComponentContext > const & xContext)
{
return *(new OStatusbarController(Reference< XMultiServiceFactory >(xContext->getServiceManager(),UNO_QUERY)));
return *(new OStatusbarController(xContext));
}
IMPLEMENT_FORWARD_XINTERFACE2(OStatusbarController, ::svt::StatusbarController,OStatusbarController_BASE)
OStatusbarController::OStatusbarController(const Reference< XMultiServiceFactory >& _rxORB)
: m_nSlotId(0)
OStatusbarController::OStatusbarController(const Reference< XComponentContext >& rxContext)
: ::svt::StatusbarController(rxContext, Reference< XFrame >(), OUString(), 0)
,m_nSlotId(0)
,m_nId(1)
{
m_xServiceManager = _rxORB;
}
// -----------------------------------------------------------------------------
void SAL_CALL OStatusbarController::initialize( const Sequence< Any >& _rArguments ) throw (Exception, RuntimeException)
......
......@@ -22,6 +22,7 @@
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/lang/DisposedException.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/frame/XLayoutManager.hpp>
#include <com/sun/star/util/URLTransformer.hpp>
#include <osl/mutex.hxx>
......@@ -45,7 +46,7 @@ namespace svt
{
StatusbarController::StatusbarController(
const Reference< XMultiServiceFactory >& rServiceManager,
const Reference< XComponentContext >& rxContext,
const Reference< XFrame >& xFrame,
const OUString& aCommandURL,
unsigned short nID ) :
......@@ -54,7 +55,7 @@ StatusbarController::StatusbarController(
, m_bDisposed( sal_False )
, m_nID( nID )
, m_xFrame( xFrame )
, m_xServiceManager( rServiceManager )
, m_xContext( rxContext )
, m_aCommandURL( aCommandURL )
, m_aListenerContainer( m_aMutex )
{
......@@ -82,9 +83,9 @@ Reference< XFrame > StatusbarController::getFrameInterface() const
Reference< XURLTransformer > StatusbarController::getURLTransformer() const
{
SolarMutexGuard aSolarMutexGuard;
if ( !m_xURLTransformer.is() && m_xServiceManager.is() )
if ( !m_xURLTransformer.is() && m_xContext.is() )
{
m_xURLTransformer = com::sun::star::util::URLTransformer::create( ::comphelper::getComponentContext(m_xServiceManager) );
m_xURLTransformer = com::sun::star::util::URLTransformer::create( m_xContext );
}
return m_xURLTransformer;
......@@ -148,7 +149,12 @@ throw ( Exception, RuntimeException )
else if ( aPropValue.Name == "CommandURL" )
aPropValue.Value >>= m_aCommandURL;
else if ( aPropValue.Name == "ServiceManager" )
aPropValue.Value >>= m_xServiceManager;
{
Reference<XMultiServiceFactory> xMSF;
aPropValue.Value >>= xMSF;
if( xMSF.is() )
m_xContext = comphelper::getComponentContext(xMSF);
}
else if ( aPropValue.Name == "ParentWindow" )
aPropValue.Value >>= m_xParentWindow;
else if ( aPropValue.Name == "Identifier" )
......@@ -219,7 +225,7 @@ throw (::com::sun::star::uno::RuntimeException)
// release references
m_xURLTransformer.clear();
m_xServiceManager.clear();
m_xContext.clear();
m_xFrame.clear();
m_xParentWindow.clear();
m_xStatusbarItem.clear();
......@@ -373,7 +379,7 @@ void StatusbarController::addStatusListener( const OUString& aCommandURL )
{
// Add status listener directly as intialize has already been called.
Reference< XDispatchProvider > xDispatchProvider( m_xFrame, UNO_QUERY );
if ( m_xServiceManager.is() && xDispatchProvider.is() )
if ( m_xContext.is() && xDispatchProvider.is() )
{
Reference< XURLTransformer > xURLTransformer = getURLTransformer();
aTargetURL.Complete = aCommandURL;
......@@ -426,7 +432,7 @@ void StatusbarController::bindListener()
// Collect all registered command URL's and store them temporary
Reference< XDispatchProvider > xDispatchProvider( m_xFrame, UNO_QUERY );
if ( m_xServiceManager.is() && xDispatchProvider.is() )
if ( m_xContext.is() && xDispatchProvider.is() )
{
xStatusListener = Reference< XStatusListener >( static_cast< OWeakObject* >( this ), UNO_QUERY );
URLToDispatchMap::iterator pIter = m_aListenerMap.begin();
......@@ -533,7 +539,7 @@ void StatusbarController::execute( const ::com::sun::star::uno::Sequence< ::com:
if ( m_bInitialized &&
m_xFrame.is() &&
m_xServiceManager.is() &&
m_xContext.is() &&
!m_aCommandURL.isEmpty() )
{
xURLTransformer = getURLTransformer();
......@@ -575,7 +581,7 @@ void StatusbarController::execute(
if ( m_bInitialized &&
m_xFrame.is() &&
m_xServiceManager.is() &&
m_xContext.is() &&
!m_aCommandURL.isEmpty() )
{
Reference< XURLTransformer > xURLTransformer( getURLTransformer() );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment