diff options
Diffstat (limited to 'svx/source/form/fmobj.cxx')
-rw-r--r-- | svx/source/form/fmobj.cxx | 51 |
1 files changed, 22 insertions, 29 deletions
diff --git a/svx/source/form/fmobj.cxx b/svx/source/form/fmobj.cxx index 5863ec9f38f6..44431b8018da 100644 --- a/svx/source/form/fmobj.cxx +++ b/svx/source/form/fmobj.cxx @@ -55,26 +55,27 @@ using namespace ::com::sun::star::container; using namespace ::svxform; -FmFormObj::FmFormObj(const OUString& rModelName) - :SdrUnoObj ( rModelName ) - ,m_nPos ( -1 ) - ,m_pLastKnownRefDevice ( nullptr ) +FmFormObj::FmFormObj( + SdrModel& rSdrModel, + const OUString& rModelName) +: SdrUnoObj(rSdrModel, rModelName) + ,m_nPos(-1) + ,m_pLastKnownRefDevice(nullptr) { - // normally, this is done in SetUnoControlModel, but if the call happened in the base class ctor, // then our incarnation of it was not called (since we were not constructed at this time). impl_checkRefDevice_nothrow( true ); } - -FmFormObj::FmFormObj() - :SdrUnoObj ( "" ) - ,m_nPos ( -1 ) - ,m_pLastKnownRefDevice ( nullptr ) +FmFormObj::FmFormObj(SdrModel& rSdrModel) +: SdrUnoObj(rSdrModel, "") + ,m_nPos(-1) + ,m_pLastKnownRefDevice(nullptr) { + // Stuff that old SetModel also did: + impl_checkRefDevice_nothrow(); } - FmFormObj::~FmFormObj() { @@ -105,7 +106,7 @@ void FmFormObj::ClearObjEnv() void FmFormObj::impl_checkRefDevice_nothrow( bool _force ) { - const FmFormModel* pFormModel = dynamic_cast<FmFormModel*>( GetModel() ); + const FmFormModel* pFormModel = dynamic_cast<FmFormModel*>(&getSdrModelFromSdrObject()); if ( !pFormModel || !pFormModel->ControlsUseRefDevice() ) return; @@ -357,9 +358,9 @@ void FmFormObj::clonedFrom(const FmFormObj* _pSource) } -FmFormObj* FmFormObj::Clone() const +FmFormObj* FmFormObj::Clone(SdrModel* pTargetModel) const { - FmFormObj* pFormObject = CloneHelper< FmFormObj >(); + FmFormObj* pFormObject = CloneHelper< FmFormObj >(pTargetModel); DBG_ASSERT(pFormObject != nullptr, "FmFormObj::Clone : invalid clone !"); if (pFormObject) pFormObject->clonedFrom(this); @@ -368,13 +369,6 @@ FmFormObj* FmFormObj::Clone() const } -void FmFormObj::NbcReformatText() -{ - impl_checkRefDevice_nothrow(); - SdrUnoObj::NbcReformatText(); -} - - FmFormObj& FmFormObj::operator= (const FmFormObj& rObj) { if( this == &rObj ) @@ -401,6 +395,13 @@ FmFormObj& FmFormObj::operator= (const FmFormObj& rObj) } +void FmFormObj::NbcReformatText() +{ + impl_checkRefDevice_nothrow(); + SdrUnoObj::NbcReformatText(); +} + + namespace { OUString lcl_getFormComponentAccessPath(const Reference< XInterface >& _xElement, Reference< XInterface >& _rTopLevelElement) @@ -584,14 +585,6 @@ Reference< XInterface > FmFormObj::ensureModelEnv(const Reference< XInterface > return Reference<XInterface>( xDestContainer, UNO_QUERY ); } - -void FmFormObj::SetModel( SdrModel* _pNewModel ) -{ - SdrUnoObj::SetModel( _pNewModel ); - impl_checkRefDevice_nothrow(); -} - - FmFormObj* FmFormObj::GetFormObject( SdrObject* _pSdrObject ) { FmFormObj* pFormObject = dynamic_cast< FmFormObj* >( _pSdrObject ); |