summaryrefslogtreecommitdiff
path: root/lotuswordpro/source/filter/lwpoverride.cxx
diff options
context:
space:
mode:
authorDavid Tardon <dtardon@redhat.com>2010-12-24 10:03:59 +0100
committerDavid Tardon <dtardon@redhat.com>2010-12-24 14:17:54 +0100
commiteb13a88164d7ca860af6dc48c9646232d7f908f1 (patch)
tree2bf63ae3fcde6e3e750acf4ec59778e90b268cfe /lotuswordpro/source/filter/lwpoverride.cxx
parentf2689d614c44b99882c5d3fcc49b16d07956efe8 (diff)
replace virtual operator= by cloning
Diffstat (limited to 'lotuswordpro/source/filter/lwpoverride.cxx')
-rw-r--r--lotuswordpro/source/filter/lwpoverride.cxx168
1 files changed, 132 insertions, 36 deletions
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 <memory>
+
#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<LwpBulletOverride*>((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<LwpSpacingCommonOverride> pSpacing(rOther.m_pSpacing->clone());
+ std::auto_ptr<LwpSpacingCommonOverride> pAboveLineSpacing(rOther.m_pAboveLineSpacing->clone());
+ std::auto_ptr<LwpSpacingCommonOverride> pParaSpacingAbove(rOther.m_pParaSpacingAbove->clone());
+ std::auto_ptr<LwpSpacingCommonOverride> 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<LwpBackgroundStuff> 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)