diff options
Diffstat (limited to 'svx/source/form')
-rw-r--r-- | svx/source/form/fmdpage.cxx | 2 | ||||
-rw-r--r-- | svx/source/form/fmmodel.cxx | 4 | ||||
-rw-r--r-- | svx/source/form/fmobj.cxx | 42 | ||||
-rw-r--r-- | svx/source/form/fmpage.cxx | 16 | ||||
-rw-r--r-- | svx/source/form/fmpgeimp.cxx | 41 | ||||
-rw-r--r-- | svx/source/form/fmundo.cxx | 8 | ||||
-rw-r--r-- | svx/source/form/navigatortreemodel.cxx | 14 |
7 files changed, 48 insertions, 79 deletions
diff --git a/svx/source/form/fmdpage.cxx b/svx/source/form/fmdpage.cxx index 5d239f5b6042..76d1c97f930f 100644 --- a/svx/source/form/fmdpage.cxx +++ b/svx/source/form/fmdpage.cxx @@ -112,7 +112,7 @@ SdrObject *SvxFmDrawPage::_CreateSdrObject( const ::com::sun::star::uno::Referen FmFormPage *pFmPage = PTR_CAST( FmFormPage, GetSdrPage() ); if( pFmPage ) - xForms = pFmPage->GetForms(); + xForms.set( pFmPage->GetForms(), css::uno::UNO_QUERY_THROW ); return xForms; } diff --git a/svx/source/form/fmmodel.cxx b/svx/source/form/fmmodel.cxx index 474f8abfa1a2..b84f8b6912c4 100644 --- a/svx/source/form/fmmodel.cxx +++ b/svx/source/form/fmmodel.cxx @@ -175,7 +175,7 @@ SdrPage* FmFormModel::RemovePage(sal_uInt16 nPgNum) if ( pToBeRemovedPage ) { - Reference< XNameContainer > xForms( pToBeRemovedPage->GetForms( false ) ); + Reference< XNameContainer > xForms( pToBeRemovedPage->GetForms( false ), css::uno::UNO_QUERY ); if ( xForms.is() ) m_pImpl->pUndoEnv->RemoveForms( xForms ); } @@ -210,7 +210,7 @@ SdrPage* FmFormModel::RemoveMasterPage(sal_uInt16 nPgNum) if ( pPage ) { - Reference< XNameContainer > xForms( pPage->GetForms( false ) ); + Reference< XNameContainer > xForms( pPage->GetForms( false ), css::uno::UNO_QUERY ); if ( xForms.is() ) m_pImpl->pUndoEnv->RemoveForms( xForms ); } diff --git a/svx/source/form/fmobj.cxx b/svx/source/form/fmobj.cxx index 5f0641a9910d..34949302dc9f 100644 --- a/svx/source/form/fmobj.cxx +++ b/svx/source/form/fmobj.cxx @@ -31,9 +31,10 @@ #include "svx/dialmgr.hxx" #include <com/sun/star/awt/XDevice.hpp> -#include <com/sun/star/script/XEventAttacherManager.hpp> -#include <com/sun/star/io/XPersistObject.hpp> #include <com/sun/star/awt/XControlContainer.hpp> +#include <com/sun/star/form/Forms.hpp> +#include <com/sun/star/io/XPersistObject.hpp> +#include <com/sun/star/script/XEventAttacherManager.hpp> #include <com/sun/star/util/XCloneable.hpp> #include "svx/fmtools.hxx" @@ -84,9 +85,8 @@ FmFormObj::~FmFormObj() { DBG_DTOR(FmFormObj, NULL); - Reference< XComponent> xHistory(m_xEnvironmentHistory, UNO_QUERY); - if (xHistory.is()) - xHistory->dispose(); + if (m_xEnvironmentHistory.is()) + m_xEnvironmentHistory->dispose(); m_xEnvironmentHistory = NULL; m_aEventsHistory.realloc(0); @@ -194,7 +194,7 @@ void FmFormObj::SetPage(SdrPage* _pNewPage) return; } - Reference< XIndexContainer > xNewPageForms( pNewFormPage->GetForms( true ), UNO_QUERY ); + Reference< css::form::XForms > xNewPageForms = pNewFormPage->GetForms( true ); Reference< XIndexContainer > xNewParent; Sequence< ScriptEventDescriptor> aNewEvents; @@ -204,7 +204,7 @@ void FmFormObj::SetPage(SdrPage* _pNewPage) { // the element in m_xEnvironmentHistory which is equivalent to my new parent (which (perhaps) has to be created within _pNewPage->GetForms) // is the right-most element in the tree. - Reference< XIndexContainer > xRightMostLeaf = m_xEnvironmentHistory; + Reference< XIndexContainer > xRightMostLeaf( m_xEnvironmentHistory, UNO_QUERY_THROW ); try { while ( xRightMostLeaf->getCount() ) @@ -318,9 +318,8 @@ void FmFormObj::SetPage(SdrPage* _pNewPage) } // delete my history - Reference< XComponent> xHistory(m_xEnvironmentHistory, UNO_QUERY); - if (xHistory.is()) - xHistory->dispose(); + if (m_xEnvironmentHistory.is()) + m_xEnvironmentHistory->dispose(); m_xEnvironmentHistory = NULL; m_aEventsHistory.realloc(0); @@ -345,9 +344,8 @@ sal_uInt16 FmFormObj::GetObjIdentifier() const void FmFormObj::clonedFrom(const FmFormObj* _pSource) { DBG_ASSERT(_pSource != NULL, "FmFormObj::clonedFrom : invalid source !"); - Reference< XComponent> xHistory(m_xEnvironmentHistory, UNO_QUERY); - if (xHistory.is()) - xHistory->dispose(); + if (m_xEnvironmentHistory.is()) + m_xEnvironmentHistory->dispose(); m_xEnvironmentHistory = NULL; m_aEventsHistory.realloc(0); @@ -358,17 +356,11 @@ void FmFormObj::clonedFrom(const FmFormObj* _pSource) Reference< XInterface > xSourceContainer = xSourceAsChild->getParent(); - m_xEnvironmentHistory = Reference< XIndexContainer >( - ::comphelper::getProcessServiceFactory()->createInstance(OUString("com.sun.star.form.Forms") ), - UNO_QUERY); - DBG_ASSERT(m_xEnvironmentHistory.is(), "FmFormObj::clonedFrom : could not create a forms collection !"); + m_xEnvironmentHistory = css::form::Forms::create( comphelper::getProcessComponentContext() ); - if (m_xEnvironmentHistory.is()) - { - ensureModelEnv(xSourceContainer, m_xEnvironmentHistory); - m_aEventsHistory = aEvts; - // if we we're clone there was a call to operator=, so aEvts are excatly the events we need here ... - } + ensureModelEnv(xSourceContainer, m_xEnvironmentHistory); + m_aEventsHistory = aEvts; + // if we we're clone there was a call to operator=, so aEvts are excatly the events we need here ... } //------------------------------------------------------------------ @@ -454,7 +446,7 @@ namespace } //------------------------------------------------------------------ -Reference< XInterface > FmFormObj::ensureModelEnv(const Reference< XInterface > & _rSourceContainer, const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer > _rTopLevelDestContainer) +Reference< XInterface > FmFormObj::ensureModelEnv(const Reference< XInterface > & _rSourceContainer, const Reference<css::form::XForms>& _rTopLevelDestContainer) { Reference< XInterface > xTopLevelSouce; OUString sAccessPath = lcl_getFormComponentAccessPath(_rSourceContainer, xTopLevelSouce); @@ -462,7 +454,7 @@ Reference< XInterface > FmFormObj::ensureModelEnv(const Reference< XInterface > // something went wrong, maybe _rSourceContainer isn't part of a valid forms hierarchy return Reference< XInterface > (); - Reference< XIndexContainer > xDestContainer(_rTopLevelDestContainer); + Reference< XIndexContainer > xDestContainer(_rTopLevelDestContainer, UNO_QUERY_THROW); Reference< XIndexContainer > xSourceContainer(xTopLevelSouce, UNO_QUERY); DBG_ASSERT(xSourceContainer.is(), "FmFormObj::ensureModelEnv : the top level source is invalid !"); diff --git a/svx/source/form/fmpage.cxx b/svx/source/form/fmpage.cxx index 3243c2314a68..507e2294712f 100644 --- a/svx/source/form/fmpage.cxx +++ b/svx/source/form/fmpage.cxx @@ -99,19 +99,15 @@ void FmFormPage::SetModel(SdrModel* pNewModel) { try { - Reference< XNameContainer > xForms( m_pImpl->getForms( false ) ); + Reference< css::form::XForms > xForms( m_pImpl->getForms( false ) ); if ( xForms.is() ) { // we want to keep the current collection, just reset the model // with which it's associated. - Reference< XChild > xAsChild( xForms, UNO_QUERY ); - if ( xAsChild.is() ) - { - FmFormModel* pDrawModel = (FmFormModel*) GetModel(); - SfxObjectShell* pObjShell = pDrawModel->GetObjectShell(); - if ( pObjShell ) - xAsChild->setParent( pObjShell->GetModel() ); - } + FmFormModel* pDrawModel = (FmFormModel*) GetModel(); + SfxObjectShell* pObjShell = pDrawModel->GetObjectShell(); + if ( pObjShell ) + xForms->setParent( pObjShell->GetModel() ); } } catch( ::com::sun::star::uno::Exception const& ) @@ -140,7 +136,7 @@ void FmFormPage::InsertObject(SdrObject* pObj, sal_uLong nPos, } //------------------------------------------------------------------ -const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > & FmFormPage::GetForms( bool _bForceCreate ) const +const Reference< css::form::XForms > & FmFormPage::GetForms( bool _bForceCreate ) const { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmFormPage::GetForms" ); const SdrPage& rMasterPage( *this ); 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& ) diff --git a/svx/source/form/fmundo.cxx b/svx/source/form/fmundo.cxx index 20b924b28f66..29ef91a77aa5 100644 --- a/svx/source/form/fmundo.cxx +++ b/svx/source/form/fmundo.cxx @@ -214,7 +214,7 @@ void FmXUndoEnvironment::dispose() FmFormPage* pPage = PTR_CAST( FmFormPage, rModel.GetPage(i) ); if ( pPage ) { - Reference< XInterface > xForms = pPage->GetForms( false ).get(); + Reference< css::form::XForms > xForms = pPage->GetForms( false ).get(); if ( xForms.is() ) RemoveElement( xForms ); } @@ -226,7 +226,7 @@ void FmXUndoEnvironment::dispose() FmFormPage* pPage = PTR_CAST( FmFormPage, rModel.GetMasterPage(i) ); if ( pPage ) { - Reference< XInterface > xForms = pPage->GetForms( false ).get(); + Reference< css::form::XForms > xForms = pPage->GetForms( false ).get(); if ( xForms.is() ) RemoveElement( xForms ); } @@ -265,7 +265,7 @@ void FmXUndoEnvironment::ModeChanged() FmFormPage* pPage = PTR_CAST( FmFormPage, rModel.GetPage(i) ); if ( pPage ) { - Reference< XInterface > xForms = pPage->GetForms( false ).get(); + Reference< css::form::XForms > xForms = pPage->GetForms( false ).get(); if ( xForms.is() ) TogglePropertyListening( xForms ); } @@ -277,7 +277,7 @@ void FmXUndoEnvironment::ModeChanged() FmFormPage* pPage = PTR_CAST( FmFormPage, rModel.GetMasterPage(i) ); if ( pPage ) { - Reference< XInterface > xForms = pPage->GetForms( false ).get(); + Reference< css::form::XForms > xForms = pPage->GetForms( false ).get(); if ( xForms.is() ) TogglePropertyListening( xForms ); } diff --git a/svx/source/form/navigatortreemodel.cxx b/svx/source/form/navigatortreemodel.cxx index 4187473ef9b3..a5c7d96c99f8 100644 --- a/svx/source/form/navigatortreemodel.cxx +++ b/svx/source/form/navigatortreemodel.cxx @@ -253,10 +253,8 @@ namespace svxform void NavigatorTreeModel::Clear() { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "NavigatorTreeModel::Clear" ); - Reference< XNameContainer > xForms( GetForms()); - Reference< XContainer > xContainer(xForms, UNO_QUERY); - if (xContainer.is()) - xContainer->removeContainerListener((XContainerListener*)m_pPropChangeList); + Reference< css::form::XForms > xForms( GetForms()); + xForms->removeContainerListener((XContainerListener*)m_pPropChangeList); ////////////////////////////////////////////////////////////////////// // RootList loeschen @@ -269,7 +267,7 @@ namespace svxform } //------------------------------------------------------------------------ - Reference< XNameContainer > NavigatorTreeModel::GetForms() const + Reference< css::form::XForms > NavigatorTreeModel::GetForms() const { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "NavigatorTreeModel::GetForms" ); if( !m_pFormShell || !m_pFormShell->GetCurPage()) @@ -869,7 +867,7 @@ namespace svxform } //------------------------------------------------------------------------ - void NavigatorTreeModel::UpdateContent( const Reference< XNameContainer > & xForms ) + void NavigatorTreeModel::UpdateContent( const Reference< css::form::XForms > & xForms ) { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "NavigatorTreeModel::UpdateContent" ); ////////////////////////////////////////////////////////////////////// @@ -877,9 +875,7 @@ namespace svxform Clear(); if (xForms.is()) { - Reference< XContainer > xFormContainer(xForms, UNO_QUERY); - if (xFormContainer.is()) - xFormContainer->addContainerListener((XContainerListener*)m_pPropChangeList); + xForms->addContainerListener((XContainerListener*)m_pPropChangeList); FillBranch(NULL); |