From eb13a88164d7ca860af6dc48c9646232d7f908f1 Mon Sep 17 00:00:00 2001 From: David Tardon Date: Fri, 24 Dec 2010 10:03:59 +0100 Subject: replace virtual operator= by cloning --- lotuswordpro/source/filter/lwpoverride.cxx | 168 ++++++++++++++++++++++------- 1 file changed, 132 insertions(+), 36 deletions(-) (limited to 'lotuswordpro/source/filter/lwpoverride.cxx') diff --git a/lotuswordpro/source/filter/lwpoverride.cxx b/lotuswordpro/source/filter/lwpoverride.cxx index b2baedfa3bc9..42e0b5d5599e 100644 --- a/lotuswordpro/source/filter/lwpoverride.cxx +++ b/lotuswordpro/source/filter/lwpoverride.cxx @@ -62,6 +62,8 @@ Jan 2005 Created ************************************************************************/ +#include + #include "lwpoverride.hxx" #include "lwpfilehdr.hxx" #include "lwpatomholder.hxx" @@ -70,6 +72,13 @@ #include "lwpbackgroundstuff.hxx" /*class LwpOverride*/ +LwpOverride::LwpOverride(LwpOverride const& rOther) + : m_nValues(rOther.m_nValues) + , m_nOverride(rOther.m_nOverride) + , m_nApply(rOther.m_nApply) +{ +} + void LwpOverride::ReadCommon(LwpObjectStream* pStrm) { pStrm->QuickRead(&m_nValues, 2); @@ -85,13 +94,6 @@ void LwpOverride::Clear() m_nApply = 0; } -void LwpOverride::operator=(const LwpOverride& rOther) -{ - m_nValues = rOther.m_nValues; - m_nOverride = rOther.m_nOverride; - m_nApply = rOther.m_nApply; -} - void LwpOverride::Override(sal_uInt16 nBits, STATE eState) { if (eState == STATE_STYLE) @@ -115,6 +117,17 @@ void LwpOverride::Override(sal_uInt16 nBits, STATE eState) } /*class LwpTextLanguageOverride*/ +LwpTextLanguageOverride::LwpTextLanguageOverride(LwpTextLanguageOverride const& rOther) + : LwpOverride(rOther) + , m_nLanguage(rOther.m_nLanguage) +{ +} + +LwpTextLanguageOverride* LwpTextLanguageOverride::clone() const +{ + return new LwpTextLanguageOverride(*this); +} + void LwpTextLanguageOverride::Read(LwpObjectStream* pStrm) { if (pStrm->QuickReadBool()) @@ -128,6 +141,18 @@ void LwpTextLanguageOverride::Read(LwpObjectStream* pStrm) } /*class LwpTextAttributeOverride*/ +LwpTextAttributeOverride::LwpTextAttributeOverride(LwpTextAttributeOverride const& rOther) + : LwpOverride(rOther) + , m_nHideLevels(rOther.m_nHideLevels) + , m_nBaseLineOffset(rOther.m_nBaseLineOffset) +{ +} + +LwpTextAttributeOverride* LwpTextAttributeOverride::clone() const +{ + return new LwpTextAttributeOverride(*this); +} + void LwpTextAttributeOverride::Read(LwpObjectStream* pStrm) { if (pStrm->QuickReadBool()) @@ -150,6 +175,17 @@ sal_Bool LwpTextAttributeOverride::IsHighLight() } /*class LwpKinsokuOptsOverride*/ +LwpKinsokuOptsOverride::LwpKinsokuOptsOverride(LwpKinsokuOptsOverride const& rOther) + : LwpOverride(rOther) + , m_nLevels(rOther.m_nLevels) +{ +} + +LwpKinsokuOptsOverride* LwpKinsokuOptsOverride::clone() const +{ + return new LwpKinsokuOptsOverride(*this); +} + void LwpKinsokuOptsOverride::Read(LwpObjectStream* pStrm) { if (pStrm->QuickReadBool()) @@ -162,6 +198,18 @@ void LwpKinsokuOptsOverride::Read(LwpObjectStream* pStrm) } /*class LwpBulletOverride*/ +LwpBulletOverride::LwpBulletOverride(LwpBulletOverride const& rOther) + : LwpOverride(rOther) + , m_SilverBullet(rOther.m_SilverBullet) + , m_bIsNull(rOther.m_bIsNull) +{ +} + +LwpBulletOverride* LwpBulletOverride::clone() const +{ + return new LwpBulletOverride(*this); +} + void LwpBulletOverride::Read(LwpObjectStream * pStrm) { if (pStrm->QuickReadBool()) @@ -199,15 +247,6 @@ void LwpBulletOverride::OverrideRightAligned(sal_Bool bOver) } } -void LwpBulletOverride::operator=(const LwpOverride& rOther) -{ - LwpOverride::operator=(rOther); - const LwpBulletOverride* pBullet = static_cast((LwpOverride*)&rOther); - - m_SilverBullet = pBullet->m_SilverBullet; - -} - void LwpBulletOverride::OverrideSilverBullet(LwpObjectID aID) { if (!aID.IsNull()) @@ -259,6 +298,19 @@ void LwpBulletOverride::Override(LwpBulletOverride* pOther) } /*class LwpAlignmentOverride*/ +LwpAlignmentOverride::LwpAlignmentOverride(LwpAlignmentOverride const& rOther) + : LwpOverride(rOther) + , m_nAlignType(rOther.m_nAlignType) + , m_nPosition(rOther.m_nPosition) + , m_nAlignChar(rOther.m_nAlignChar) +{ +} + +LwpAlignmentOverride* LwpAlignmentOverride::clone() const +{ + return new LwpAlignmentOverride(*this); +} + void LwpAlignmentOverride::Read(LwpObjectStream * pStrm) { if (pStrm->QuickReadBool()) @@ -273,6 +325,19 @@ void LwpAlignmentOverride::Read(LwpObjectStream * pStrm) } /*class LwpSpacingCommonOverride*/ +LwpSpacingCommonOverride::LwpSpacingCommonOverride(LwpSpacingCommonOverride const& rOther) + : LwpOverride(rOther) + , m_nSpacingType(rOther.m_nSpacingType) + , m_nAmount(rOther.m_nAmount) + , m_nMultiple(rOther.m_nMultiple) +{ +} + +LwpSpacingCommonOverride* LwpSpacingCommonOverride::clone() const +{ + return new LwpSpacingCommonOverride(*this); +} + void LwpSpacingCommonOverride::Read(LwpObjectStream* pStrm) { if (pStrm->QuickReadBool()) @@ -295,16 +360,6 @@ m_pParaSpacingBelow(new LwpSpacingCommonOverride) { } -LwpSpacingOverride& LwpSpacingOverride::operator=(LwpSpacingOverride& other) -{ - LwpOverride::operator=(other); - *m_pSpacing = *other.m_pSpacing; - *m_pAboveLineSpacing = *other.m_pAboveLineSpacing; - *m_pParaSpacingAbove = *other.m_pParaSpacingAbove; - *m_pParaSpacingAbove = *other.m_pParaSpacingAbove; - return *this; -} - LwpSpacingOverride::~LwpSpacingOverride() { if (m_pSpacing) @@ -325,6 +380,28 @@ LwpSpacingOverride::~LwpSpacingOverride() } } +LwpSpacingOverride::LwpSpacingOverride(LwpSpacingOverride const& rOther) + : LwpOverride(rOther) + , m_pSpacing(0) + , m_pAboveLineSpacing(0) + , m_pParaSpacingAbove(0) + , m_pParaSpacingBelow(0) +{ + std::auto_ptr pSpacing(rOther.m_pSpacing->clone()); + std::auto_ptr pAboveLineSpacing(rOther.m_pAboveLineSpacing->clone()); + std::auto_ptr pParaSpacingAbove(rOther.m_pParaSpacingAbove->clone()); + std::auto_ptr pParaSpacingBelow(rOther.m_pParaSpacingBelow->clone()); + m_pSpacing = pSpacing.release(); + m_pAboveLineSpacing = pAboveLineSpacing.release(); + m_pParaSpacingAbove = pParaSpacingAbove.release(); + m_pParaSpacingBelow = pParaSpacingBelow.release(); +} + +LwpSpacingOverride* LwpSpacingOverride::clone() const +{ + return new LwpSpacingOverride(*this); +} + void LwpSpacingOverride::Read(LwpObjectStream* pStrm) { if (pStrm->QuickReadBool()) @@ -343,6 +420,20 @@ void LwpSpacingOverride::Read(LwpObjectStream* pStrm) } /*class LwpIndentOverride*/ +LwpIndentOverride::LwpIndentOverride(LwpIndentOverride const& rOther) + : LwpOverride(rOther) + , m_nAll(rOther.m_nAll) + , m_nFirst(rOther.m_nFirst) + , m_nRest(rOther.m_nRest) + , m_nRight(rOther.m_nRight) +{ +} + +LwpIndentOverride* LwpIndentOverride::clone() const +{ + return new LwpIndentOverride(*this); +} + void LwpIndentOverride::Read(LwpObjectStream* pStrm) { if (pStrm->QuickReadBool()) @@ -373,6 +464,21 @@ LwpAmikakeOverride::~LwpAmikakeOverride() } } +LwpAmikakeOverride::LwpAmikakeOverride(LwpAmikakeOverride const& rOther) + : LwpOverride(rOther) + , m_pBackgroundStuff(0) + , m_nType(rOther.m_nType) +{ + std::auto_ptr pBackgroundStuff( + new LwpBackgroundStuff(*rOther.m_pBackgroundStuff)); + m_pBackgroundStuff = pBackgroundStuff.release(); +} + +LwpAmikakeOverride* LwpAmikakeOverride::clone() const +{ + return new LwpAmikakeOverride(*this); +} + void LwpAmikakeOverride::Read(LwpObjectStream* pStrm) { if (pStrm->QuickReadBool()) @@ -419,16 +525,6 @@ void LwpAlignmentOverride::OverrideAlignment(AlignType val)//add by 1-24 m_nOverride |= AO_TYPE; } -LwpIndentOverride& LwpIndentOverride::operator=(LwpIndentOverride& other) -{ - LwpOverride::operator=(other); - m_nAll = other.m_nAll; - m_nFirst = other.m_nFirst; - m_nRest = other.m_nRest; - m_nRight = other.m_nRight; - return *this; -} - void LwpIndentOverride::Override(LwpIndentOverride* other) { if(m_nOverride & IO_ALL) -- cgit v1.2.3