diff options
author | Noel Grandin <noel@peralex.com> | 2013-03-27 14:20:45 +0200 |
---|---|---|
committer | Noel Grandin <noel@peralex.com> | 2013-04-23 16:05:56 +0200 |
commit | 1165aac95b8e44f41fc16a44bfec4c1c05801ac8 (patch) | |
tree | 7887802f0d1ba62ab95bad1c6fe8ebf323c87a91 /svx/source/form/fmpgeimp.cxx | |
parent | 9ffb86c7e93c1633866ed89f0749831fd7f31a35 (diff) |
fdo#46808, convert form::Forms to new style
Change-Id: I966ed18d45dc8a04c97a703d3c83382714025f2c
Diffstat (limited to 'svx/source/form/fmpgeimp.cxx')
-rw-r--r-- | svx/source/form/fmpgeimp.cxx | 41 |
1 files changed, 13 insertions, 28 deletions
diff --git a/svx/source/form/fmpgeimp.cxx b/svx/source/form/fmpgeimp.cxx index 6d46e64d705d..ab7c9d597989 100644 --- a/svx/source/form/fmpgeimp.cxx +++ b/svx/source/form/fmpgeimp.cxx @@ -35,6 +35,7 @@ #include <com/sun/star/util/XCloneable.hpp> #include <com/sun/star/container/EnumerableMap.hpp> #include <com/sun/star/drawing/XControlShape.hpp> +#include <com/sun/star/form/Forms.hpp> #include <sfx2/objsh.hxx> #include <svx/fmglob.hxx> @@ -159,18 +160,11 @@ namespace void FmFormPageImpl::initFrom( FmFormPageImpl& i_foreignImpl ) { // clone the Forms collection - const Reference< XNameContainer > xForeignForms( const_cast< FmFormPageImpl& >( i_foreignImpl ).getForms( false ) ); - const Reference< XCloneable > xCloneable( xForeignForms, UNO_QUERY ); - if ( !xCloneable.is() ) - { - // great, nothing to do - OSL_ENSURE( !xForeignForms.is(), "FmFormPageImpl::FmFormPageImpl: a non-cloneable forms container!?" ); - return; - } + const Reference< css::form::XForms > xForeignForms( const_cast< FmFormPageImpl& >( i_foreignImpl ).getForms( false ) ); try { - m_xForms.set( xCloneable->createClone(), UNO_QUERY_THROW ); + m_xForms.set( xForeignForms->createClone(), UNO_QUERY_THROW ); // create a mapping between the original control models and their clones MapControlModels aModelAssignment; @@ -179,7 +173,7 @@ void FmFormPageImpl::initFrom( FmFormPageImpl& i_foreignImpl ) FormComponentVisitor aVisitor = FormComponentVisitor( FormHierarchyComparator() ); FormComponentAssignment aAssignmentProcessor( aModelAssignment ); - aVisitor.process( FormComponentPair( xCloneable, m_xForms ), aAssignmentProcessor ); + aVisitor.process( FormComponentPair( xForeignForms, m_xForms ), aAssignmentProcessor ); // assign the cloned models to their SdrObjects SdrObjListIter aForeignIter( i_foreignImpl.m_rPage ); @@ -318,7 +312,7 @@ Reference< XMap > FmFormPageImpl::impl_createControlShapeMap_nothrow() } //------------------------------------------------------------------------------ -const Reference< XNameContainer >& FmFormPageImpl::getForms( bool _bForceCreate ) +const Reference< css::form::XForms >& FmFormPageImpl::getForms( bool _bForceCreate ) { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmFormPageImpl::getForms" ); if ( m_xForms.is() || !_bForceCreate ) @@ -328,12 +322,8 @@ const Reference< XNameContainer >& FmFormPageImpl::getForms( bool _bForceCreate { m_bAttemptedFormCreation = true; - const OUString sFormsCollectionServiceName("com.sun.star.form.Forms"); Reference<XComponentContext> xContext = comphelper::getProcessComponentContext(); - m_xForms.set( - xContext->getServiceManager()->createInstanceWithContext( sFormsCollectionServiceName, xContext), - UNO_QUERY_THROW - ); + m_xForms = css::form::Forms::create( xContext ); if ( m_aFormsCreationHdl.IsSet() ) { @@ -343,17 +333,13 @@ const Reference< XNameContainer >& FmFormPageImpl::getForms( bool _bForceCreate FmFormModel* pFormsModel = PTR_CAST( FmFormModel, m_rPage.GetModel() ); // give the newly created collection a place in the universe - Reference< XChild > xAsChild( m_xForms, UNO_QUERY ); - if ( xAsChild.is() ) - { - SfxObjectShell* pObjShell = pFormsModel ? pFormsModel->GetObjectShell() : NULL; - if ( pObjShell ) - xAsChild->setParent( pObjShell->GetModel() ); - } + SfxObjectShell* pObjShell = pFormsModel ? pFormsModel->GetObjectShell() : NULL; + if ( pObjShell ) + m_xForms->setParent( pObjShell->GetModel() ); // tell the UNDO environment that we have a new forms collection if ( pFormsModel ) - pFormsModel->GetUndoEnv().AddForms( m_xForms ); + pFormsModel->GetUndoEnv().AddForms( Reference<XNameContainer>(m_xForms,UNO_QUERY_THROW) ); } return m_xForms; } @@ -395,13 +381,13 @@ Reference< XForm > FmFormPageImpl::getDefaultForm() RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmFormPageImpl::getDefaultForm" ); Reference< XForm > xForm; - Reference< XNameContainer > xForms( getForms() ); + Reference< XForms > xForms( getForms() ); // by default, we use our "current form" if ( !validateCurForm() ) { // check whether there is a "standard" form - if ( xForms->hasElements() ) + if ( Reference<XNameAccess>(xForms,UNO_QUERY_THROW)->hasElements() ) { // suche die Standardform OUString sStandardFormname = String( SVX_RES( RID_STR_STDFORMNAME ) ); @@ -412,8 +398,7 @@ Reference< XForm > FmFormPageImpl::getDefaultForm() xForm.set( xForms->getByName( sStandardFormname ), UNO_QUERY_THROW ); else { - Reference< XIndexAccess > xFormsByIndex( xForms, UNO_QUERY_THROW ); - xForm.set( xFormsByIndex->getByIndex(0), UNO_QUERY_THROW ); + xForm.set( xForms->getByIndex(0), UNO_QUERY_THROW ); } } catch( const Exception& ) |