summaryrefslogtreecommitdiff
path: root/include/svx
diff options
context:
space:
mode:
authorNoel <noel.grandin@collabora.co.uk>2021-02-09 13:42:22 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-02-10 07:35:41 +0100
commit09cb778b6eb7d3a5b9029965a1320b49c90e7295 (patch)
tree63d75bc66ddbe4af5f6a52f4a0d65e9b199dbae7 /include/svx
parentccdee8eebaa56619248e35001017226eecfe4e83 (diff)
clean up SdrObject cloning
using operator= implies that overwriting an SdrObject is a useful operation, but that is not at all true - they are typically linked into and referred to by many other things. So rather use a copy-constructor. Also clean up a couple of weird "do some stuff after the clone" code into the main copy constructor. Change-Id: Iefc1481b527602748b5f3abed06e7cca66c0581c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110633 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'include/svx')
-rw-r--r--include/svx/cube3d.hxx4
-rw-r--r--include/svx/lathe3d.hxx4
-rw-r--r--include/svx/obj3d.hxx6
-rw-r--r--include/svx/scene3d.hxx2
-rw-r--r--include/svx/sphere3d.hxx4
-rw-r--r--include/svx/svdoashp.hxx2
-rw-r--r--include/svx/svdoattr.hxx6
-rw-r--r--include/svx/svdobj.hxx32
-rw-r--r--include/svx/svdocapt.hxx5
-rw-r--r--include/svx/svdocirc.hxx5
-rw-r--r--include/svx/svdoedge.hxx3
-rw-r--r--include/svx/svdograf.hxx3
-rw-r--r--include/svx/svdogrp.hxx3
-rw-r--r--include/svx/svdomeas.hxx5
-rw-r--r--include/svx/svdomedia.hxx3
-rw-r--r--include/svx/svdoole2.hxx5
-rw-r--r--include/svx/svdopage.hxx3
-rw-r--r--include/svx/svdopath.hxx3
-rw-r--r--include/svx/svdorect.hxx5
-rw-r--r--include/svx/svdotable.hxx3
-rw-r--r--include/svx/svdotext.hxx4
-rw-r--r--include/svx/svdouno.hxx4
-rw-r--r--include/svx/svdovirt.hxx3
23 files changed, 48 insertions, 69 deletions
diff --git a/include/svx/cube3d.hxx b/include/svx/cube3d.hxx
index 515e8331c044..9842b26f0e55 100644
--- a/include/svx/cube3d.hxx
+++ b/include/svx/cube3d.hxx
@@ -65,6 +65,7 @@ public:
const E3dDefaultAttributes& rDefault,
const basegfx::B3DPoint& aPos,
const basegfx::B3DVector& r3DSize);
+ E3dCubeObj(SdrModel& rSdrModel, E3dCubeObj const &);
E3dCubeObj(SdrModel& rSdrModel);
virtual SdrObjKind GetObjIdentifier() const override;
@@ -72,9 +73,6 @@ public:
virtual E3dCubeObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- // implemented mainly for the purposes of Clone()
- E3dCubeObj& operator=(const E3dCubeObj& rObj);
-
// Set local parameters with geometry recreation
void SetCubePos(const basegfx::B3DPoint& rNew);
const basegfx::B3DPoint& GetCubePos() const { return aCubePos; }
diff --git a/include/svx/lathe3d.hxx b/include/svx/lathe3d.hxx
index db2c868280ce..4bd2fea31da6 100644
--- a/include/svx/lathe3d.hxx
+++ b/include/svx/lathe3d.hxx
@@ -56,6 +56,7 @@ public:
SdrModel& rSdrModel,
const E3dDefaultAttributes& rDefault,
const basegfx::B2DPolyPolygon& rPoly2D);
+ E3dLatheObj(SdrModel& rSdrModel, E3dLatheObj const & rSource);
E3dLatheObj(SdrModel& rSdrModel);
// HorizontalSegments:
@@ -102,9 +103,6 @@ public:
virtual E3dLatheObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- // implemented mainly for the purposes of Clone()
- E3dLatheObj& operator=(const E3dLatheObj& rObj);
-
virtual SdrObjectUniquePtr DoConvertToPolyObj(bool bBezier, bool bAddText) const override;
// TakeObjName...() is for the display in the UI, for example "3 frames selected".
diff --git a/include/svx/obj3d.hxx b/include/svx/obj3d.hxx
index 4455711779af..4f18b4fcf694 100644
--- a/include/svx/obj3d.hxx
+++ b/include/svx/obj3d.hxx
@@ -83,6 +83,7 @@ protected:
// and no instances should be created from anyone, so i move the constructors
// to protected area
E3dObject(SdrModel& rSdrModel);
+ E3dObject(SdrModel& rSdrModel, E3dObject const & rSource);
// protected destructor
virtual ~E3dObject() override;
@@ -125,7 +126,6 @@ public:
virtual OUString TakeObjNameSingul() const override;
virtual OUString TakeObjNamePlural() const override;
virtual E3dObject* CloneSdrObject(SdrModel& rTargetModel) const override;
- E3dObject& operator=( const E3dObject& rObj );
virtual std::unique_ptr<SdrObjGeoData> NewGeoData() const override;
virtual void SaveGeoData(SdrObjGeoData& rGeo) const override;
@@ -170,6 +170,7 @@ protected:
virtual ~E3dCompoundObject() override;
public:
+ E3dCompoundObject(SdrModel& rSdrModel, E3dCompoundObject const & rSource);
E3dCompoundObject(SdrModel& rSdrModel);
virtual basegfx::B2DPolyPolygon TakeXorPoly() const override;
@@ -180,9 +181,6 @@ public:
virtual void RecalcSnapRect() override;
virtual E3dCompoundObject* CloneSdrObject(SdrModel& rTargetModel) const override;
-
- // implemented mainly for the purposes of Clone()
- E3dCompoundObject& operator=(const E3dCompoundObject& rObj);
};
#endif // INCLUDED_SVX_OBJ3D_HXX
diff --git a/include/svx/scene3d.hxx b/include/svx/scene3d.hxx
index 680cd0717d84..bd1c31ea13ca 100644
--- a/include/svx/scene3d.hxx
+++ b/include/svx/scene3d.hxx
@@ -83,6 +83,7 @@ protected:
public:
E3dScene(SdrModel& rSdrModel);
+ E3dScene(SdrModel& rSdrModel, E3dScene const &);
virtual void StructureChanged() override;
@@ -128,7 +129,6 @@ public:
void removeAllNonSelectedObjects();
virtual E3dScene* CloneSdrObject(SdrModel& rTargetModel) const override;
- E3dScene& operator=(const E3dScene&);
virtual std::unique_ptr<SdrObjGeoData> NewGeoData() const override;
virtual void SaveGeoData(SdrObjGeoData& rGeo) const override;
diff --git a/include/svx/sphere3d.hxx b/include/svx/sphere3d.hxx
index 0ee9bc0531b3..4de73c1aa87f 100644
--- a/include/svx/sphere3d.hxx
+++ b/include/svx/sphere3d.hxx
@@ -57,6 +57,7 @@ public:
// when a document with a sphere is loaded. This constructor does not call
// CreateSphere, or create any spheres.
E3dSphereObj(SdrModel& rSdrModel);
+ E3dSphereObj(SdrModel& rSdrModel, E3dSphereObj const & rSource);
// horizontal segments:
sal_uInt32 GetHorizontalSegments() const
@@ -71,9 +72,6 @@ public:
virtual E3dSphereObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- // implemented mainly for the purposes of Clone()
- E3dSphereObj& operator=(const E3dSphereObj& rObj);
-
const basegfx::B3DPoint& Center() const { return aCenter; }
const basegfx::B3DVector& Size() const { return aSize; }
diff --git a/include/svx/svdoashp.hxx b/include/svx/svdoashp.hxx
index e73ecf58ac97..8b12de0d2ec2 100644
--- a/include/svx/svdoashp.hxx
+++ b/include/svx/svdoashp.hxx
@@ -144,6 +144,7 @@ public:
double GetExtraTextRotation( const bool bPreRotation = false ) const;
SdrObjCustomShape(SdrModel& rSdrModel);
+ SdrObjCustomShape(SdrModel& rSdrModel, SdrObjCustomShape const & rSource);
/* is merging default attributes from type-shape into the SdrCustomShapeGeometryItem. If pType
is NULL then the type is being taken from the "Type" property of the SdrCustomShapeGeometryItem.
@@ -211,7 +212,6 @@ public:
virtual void TakeTextRect( SdrOutliner& rOutliner, tools::Rectangle& rTextRect, bool bNoEditText,
tools::Rectangle* pAnchorRect, bool bLineWidth = true ) const override;
virtual SdrObjCustomShape* CloneSdrObject(SdrModel& rTargetModel) const override;
- SdrObjCustomShape& operator=(const SdrObjCustomShape& rObj);
virtual OUString TakeObjNameSingul() const override;
virtual OUString TakeObjNamePlural() const override;
diff --git a/include/svx/svdoattr.hxx b/include/svx/svdoattr.hxx
index 4c5dab883e4f..2505811d2948 100644
--- a/include/svx/svdoattr.hxx
+++ b/include/svx/svdoattr.hxx
@@ -49,13 +49,11 @@ protected:
virtual void Notify(SfxBroadcaster& rBC, const SfxHint& rHint) override;
SdrAttrObj(SdrModel& rSdrModel);
+ // Copy constructor
+ SdrAttrObj(SdrModel& rSdrModel, SdrAttrObj const &);
virtual ~SdrAttrObj() override;
public:
- SdrAttrObj(SdrAttrObj const &) = delete; // due to SdrObject
- SdrAttrObj(SdrAttrObj &&) = delete; // due to SdrObject
- SdrAttrObj & operator =(SdrAttrObj const &) = default;
- SdrAttrObj & operator =(SdrAttrObj &&) = default;
// Detects if bFilledObj && Fill != FillNone
bool HasFill() const;
diff --git a/include/svx/svdobj.hxx b/include/svx/svdobj.hxx
index bf70559ebdf4..f38f201621e7 100644
--- a/include/svx/svdobj.hxx
+++ b/include/svx/svdobj.hxx
@@ -291,6 +291,8 @@ private:
public:
// A SdrObject always needs a SdrModel for lifetime (Pool, ...)
SdrObject(SdrModel& rSdrModel);
+ // Copy constructor
+ SdrObject(SdrModel& rSdrModel, SdrObject const & rSource);
// SdrModel/SdrPage access on SdrObject level
SdrPage* getSdrPageFromSdrObject() const;
@@ -441,13 +443,12 @@ public:
// means no change of the rotation point (only centered) and no shear allowed
virtual bool HasLimitedRotation() const;
- // Returns a copy of the object. Every inherited class must reimplement this (in class Foo
- // it should be sufficient to do "virtual Foo* CloneSdrObject(...) const { return CloneHelper< Foo >(); }".
- // Note that this function uses operator= internally.
+ // Returns a copy of the object. Every inherited class must reimplement this.
virtual SdrObject* CloneSdrObject(SdrModel& rTargetModel) const;
- // implemented mainly for the purposes of CloneSdrObject()
- SdrObject& operator=(const SdrObject& rObj);
+ // Overwriting this object makes no sense, it is too complicated for that
+ SdrObject& operator=(const SdrObject& rObj) = delete;
+ SdrObject& operator=(SdrObject&& rObj) = delete;
// TakeObjName...() is for the display in the UI, e.g. "3 frames selected"
virtual OUString TakeObjNameSingul() const;
@@ -944,9 +945,6 @@ protected:
/// class (preferably as the first step)!
virtual void impl_setUnoShape( const css::uno::Reference< css::uno::XInterface >& _rxUnoShape );
- // helper function for reimplementing Clone().
- template< typename T > T* CloneHelper(SdrModel& rTargetModel) const;
-
const SfxItemSet* getBackgroundFillSet() const;
private:
@@ -1030,22 +1028,4 @@ private:
SdrObjFactory() = delete;
};
-template< typename T > T* SdrObject::CloneHelper(SdrModel& rTargetModel) const
-{
- OSL_ASSERT( typeid( T ) == typeid( *this ));
- T* pObj = dynamic_cast< T* >(
- SdrObjFactory::MakeNewObject(
- rTargetModel,
- GetObjInventor(),
- GetObjIdentifier()));
-
- if(nullptr != pObj)
- {
- // use ::operator=()
- *pObj = *static_cast< const T* >( this );
- }
-
- return pObj;
-}
-
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/svx/svdocapt.hxx b/include/svx/svdocapt.hxx
index ee856c32364a..0b2563878384 100644
--- a/include/svx/svdocapt.hxx
+++ b/include/svx/svdocapt.hxx
@@ -74,6 +74,8 @@ private:
public:
SdrCaptionObj(SdrModel& rSdrModel);
+ // Copy constructor
+ SdrCaptionObj(SdrModel& rSdrModel, SdrCaptionObj const & rSource);
SdrCaptionObj(
SdrModel& rSdrModel,
const tools::Rectangle& rRect,
@@ -86,9 +88,6 @@ public:
virtual SdrObjKind GetObjIdentifier() const override;
virtual SdrCaptionObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- // implemented mainly for the purposes of Clone()
- SdrCaptionObj& operator=(const SdrCaptionObj& rObj);
-
// for calc: special shadow only for text box
void SetSpecialTextBoxShadow() { mbSpecialTextBoxShadow = true; }
bool GetSpecialTextBoxShadow() const { return mbSpecialTextBoxShadow; }
diff --git a/include/svx/svdocirc.hxx b/include/svx/svdocirc.hxx
index cd573323a94d..81687cc0bfe2 100644
--- a/include/svx/svdocirc.hxx
+++ b/include/svx/svdocirc.hxx
@@ -77,6 +77,8 @@ public:
SdrModel& rSdrModel,
SdrCircKind eNewKind,
const tools::Rectangle& rRect);
+ // Copy constructor
+ SdrCircObj(SdrModel& rSdrModel, SdrCircObj const & rSource);
// 0=0.00Deg=3h 9000=90.00Deg=12h 18000=180.00Deg=9h 27000=270.00Deg=6h
// The circle is build up from StartAngle to EndWink anti-clockwise.
@@ -100,9 +102,6 @@ public:
virtual SdrCircObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- // implemented mainly for the purposes of Clone()
- SdrCircObj& operator=(const SdrCircObj& rObj);
-
virtual void RecalcSnapRect() override;
virtual void NbcSetSnapRect(const tools::Rectangle& rRect) override;
virtual basegfx::B2DPolyPolygon TakeXorPoly() const override;
diff --git a/include/svx/svdoedge.hxx b/include/svx/svdoedge.hxx
index b19c5514429b..18842c0620e5 100644
--- a/include/svx/svdoedge.hxx
+++ b/include/svx/svdoedge.hxx
@@ -190,6 +190,8 @@ protected:
public:
SdrEdgeObj(SdrModel& rSdrModel);
+ // Copy constructor
+ SdrEdgeObj(SdrModel& rSdrModel, SdrEdgeObj const & rSource);
// react on model/page change
virtual void handlePageChange(SdrPage* pOldPage, SdrPage* pNewPage) override;
@@ -217,7 +219,6 @@ public:
virtual void RecalcSnapRect() override;
virtual void TakeUnrotatedSnapRect(tools::Rectangle& rRect) const override;
virtual SdrEdgeObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- SdrEdgeObj& operator=(const SdrEdgeObj& rObj);
virtual OUString TakeObjNameSingul() const override;
virtual OUString TakeObjNamePlural() const override;
diff --git a/include/svx/svdograf.hxx b/include/svx/svdograf.hxx
index 9a6d06267aa5..88ebc776537b 100644
--- a/include/svx/svdograf.hxx
+++ b/include/svx/svdograf.hxx
@@ -125,6 +125,8 @@ protected:
public:
SdrGrafObj(SdrModel& rSdrModel);
+ // Copy constructor
+ SdrGrafObj(SdrModel& rSdrModel, SdrGrafObj const & rSource);
SdrGrafObj(
SdrModel& rSdrModel,
const Graphic& rGrf);
@@ -177,7 +179,6 @@ public:
virtual OUString TakeObjNamePlural() const override;
virtual SdrGrafObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- SdrGrafObj& operator=(const SdrGrafObj& rObj);
virtual sal_uInt32 GetHdlCount() const override;
virtual void AddToHdlList(SdrHdlList& rHdlList) const override;
diff --git a/include/svx/svdogrp.hxx b/include/svx/svdogrp.hxx
index 2083c8839438..3eef83bbd3ac 100644
--- a/include/svx/svdogrp.hxx
+++ b/include/svx/svdogrp.hxx
@@ -44,6 +44,8 @@ private:
public:
SdrObjGroup(SdrModel& rSdrModel);
+ // Copy constructor
+ SdrObjGroup(SdrModel& rSdrModel, SdrObjGroup const& rSource);
// derived from SdrObjList
virtual SdrPage* getSdrPageFromSdrObjList() const override;
@@ -67,7 +69,6 @@ public:
virtual const tools::Rectangle& GetSnapRect() const override;
virtual SdrObjGroup* CloneSdrObject(SdrModel& rTargetModel) const override;
- SdrObjGroup& operator=(const SdrObjGroup& rObj);
virtual OUString TakeObjNameSingul() const override;
virtual OUString TakeObjNamePlural() const override;
diff --git a/include/svx/svdomeas.hxx b/include/svx/svdomeas.hxx
index 599104e937b8..b3dc1cd56666 100644
--- a/include/svx/svdomeas.hxx
+++ b/include/svx/svdomeas.hxx
@@ -77,6 +77,8 @@ protected:
public:
SdrMeasureObj(SdrModel& rSdrModel);
+ // Copy constructor
+ SdrMeasureObj(SdrModel& rSdrModel, SdrMeasureObj const & rSource);
SdrMeasureObj(
SdrModel& rSdrModel,
const Point& rPt1,
@@ -87,9 +89,6 @@ public:
virtual void TakeUnrotatedSnapRect(tools::Rectangle& rRect) const override;
virtual SdrMeasureObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- // implemented mainly for the purposes of Clone()
- SdrMeasureObj& operator=(const SdrMeasureObj& rObj);
-
virtual OUString TakeObjNameSingul() const override;
virtual OUString TakeObjNamePlural() const override;
diff --git a/include/svx/svdomedia.hxx b/include/svx/svdomedia.hxx
index 9eab605e8ef4..bc80acfff76c 100644
--- a/include/svx/svdomedia.hxx
+++ b/include/svx/svdomedia.hxx
@@ -41,6 +41,8 @@ private:
public:
SdrMediaObj(SdrModel& rSdrModel);
+ // Copy constructor
+ SdrMediaObj(SdrModel& rSdrModel, SdrMediaObj const & rSource);
SdrMediaObj(
SdrModel& rSdrModel,
const tools::Rectangle& rRect);
@@ -54,7 +56,6 @@ public:
virtual OUString TakeObjNamePlural() const override;
virtual SdrMediaObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- SdrMediaObj& operator=(const SdrMediaObj& rObj);
virtual void AdjustToMaxRect( const tools::Rectangle& rMaxRect, bool bShrinkOnly = false ) override;
diff --git a/include/svx/svdoole2.hxx b/include/svx/svdoole2.hxx
index 8c209ce7f281..5b08652e3e40 100644
--- a/include/svx/svdoole2.hxx
+++ b/include/svx/svdoole2.hxx
@@ -74,6 +74,8 @@ public:
SdrOle2Obj(
SdrModel& rSdrModel,
bool bFrame_ = false);
+ // Copy constructor
+ SdrOle2Obj(SdrModel& rSdrModel, SdrOle2Obj const & rSource);
SdrOle2Obj(
SdrModel& rSdrModel,
const svt::EmbeddedObjectRef& rNewObjRef,
@@ -140,9 +142,6 @@ public:
virtual SdrOle2Obj* CloneSdrObject(SdrModel& rTargetModel) const override;
- SdrOle2Obj& assignFrom(const SdrOle2Obj& rObj);
- SdrOle2Obj& operator=(const SdrOle2Obj& rObj);
-
virtual void NbcMove(const Size& rSize) override;
virtual void NbcResize(const Point& rRef, const Fraction& xFact, const Fraction& yFact) override;
virtual void NbcSetSnapRect(const tools::Rectangle& rRect) override;
diff --git a/include/svx/svdopage.hxx b/include/svx/svdopage.hxx
index 601b86d5480c..c5e700ad9acd 100644
--- a/include/svx/svdopage.hxx
+++ b/include/svx/svdopage.hxx
@@ -46,6 +46,8 @@ public:
SdrPageObj(
SdrModel& rSdrModel,
SdrPage* pNewPage = nullptr);
+ // Copy constructor
+ SdrPageObj(SdrModel& rSdrModel, SdrPageObj const & rSource);
SdrPageObj(
SdrModel& rSdrModel,
const tools::Rectangle& rRect,
@@ -60,7 +62,6 @@ public:
virtual SdrObjKind GetObjIdentifier() const override;
virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const override;
virtual SdrPageObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- SdrPageObj& operator=(const SdrPageObj& rObj);
virtual OUString TakeObjNameSingul() const override;
virtual OUString TakeObjNamePlural() const override;
diff --git a/include/svx/svdopath.hxx b/include/svx/svdopath.hxx
index f8360d178f71..b825f1413630 100644
--- a/include/svx/svdopath.hxx
+++ b/include/svx/svdopath.hxx
@@ -67,6 +67,8 @@ public:
SdrPathObj(
SdrModel& rSdrModel,
SdrObjKind eNewKind);
+ // Copy constructor
+ SdrPathObj(SdrModel& rSdrModel, SdrPathObj const & rSource);
SdrPathObj(
SdrModel& rSdrModel,
SdrObjKind eNewKind,
@@ -76,7 +78,6 @@ public:
virtual SdrObjKind GetObjIdentifier() const override;
virtual void TakeUnrotatedSnapRect(tools::Rectangle& rRect) const override;
virtual SdrPathObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- SdrPathObj& operator=(const SdrPathObj& rObj);
virtual OUString TakeObjNameSingul() const override;
virtual OUString TakeObjNamePlural() const override;
diff --git a/include/svx/svdorect.hxx b/include/svx/svdorect.hxx
index 930fb01ff626..65671216da41 100644
--- a/include/svx/svdorect.hxx
+++ b/include/svx/svdorect.hxx
@@ -74,8 +74,6 @@ public:
SdrModel& rSdrModel,
const tools::Rectangle& rRect);
- SdrRectObj& operator=(const SdrRectObj& rCopy);
-
// Constructor of a text frame
SdrRectObj(
SdrModel& rSdrModel,
@@ -85,6 +83,9 @@ public:
SdrObjKind eNewTextKind,
const tools::Rectangle& rRect);
+ // Copy constructor
+ SdrRectObj(SdrModel& rSdrModel, SdrRectObj const & rSource);
+
virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const override;
virtual SdrObjKind GetObjIdentifier() const override;
virtual void TakeUnrotatedSnapRect(tools::Rectangle& rRect) const override;
diff --git a/include/svx/svdotable.hxx b/include/svx/svdotable.hxx
index 2f0b284d4394..ef52185b8116 100644
--- a/include/svx/svdotable.hxx
+++ b/include/svx/svdotable.hxx
@@ -101,6 +101,8 @@ class SVXCORE_DLLPUBLIC SdrTableObj final : public ::SdrTextObj
public:
SdrTableObj(SdrModel& rSdrModel);
+ // Copy constructor
+ SdrTableObj(SdrModel& rSdrModel, SdrTableObj const & rSource);
SdrTableObj(
SdrModel& rSdrModel,
const ::tools::Rectangle& rNewRect,
@@ -204,7 +206,6 @@ public:
virtual OUString TakeObjNameSingul() const override;
virtual OUString TakeObjNamePlural() const override;
virtual SdrTableObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- SdrTableObj& operator=(const SdrTableObj& rObj);
virtual void RecalcSnapRect() override;
virtual const tools::Rectangle& GetSnapRect() const override;
virtual void NbcSetSnapRect(const tools::Rectangle& rRect) override;
diff --git a/include/svx/svdotext.hxx b/include/svx/svdotext.hxx
index ed9cd61ad1f8..72ebffcbc5e3 100644
--- a/include/svx/svdotext.hxx
+++ b/include/svx/svdotext.hxx
@@ -315,6 +315,9 @@ protected:
SdrObjKind eNewTextKind,
const tools::Rectangle& rNewRect);
+ // copy constructor
+ SdrTextObj(SdrModel& rSdrModel, SdrTextObj const & rSource);
+
// protected destructor
virtual ~SdrTextObj() override;
@@ -447,7 +450,6 @@ public:
virtual OUString TakeObjNameSingul() const override;
virtual OUString TakeObjNamePlural() const override;
virtual SdrTextObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- SdrTextObj& operator=(const SdrTextObj& rObj);
virtual basegfx::B2DPolyPolygon TakeXorPoly() const override;
virtual basegfx::B2DPolyPolygon TakeContour() const override;
virtual void RecalcSnapRect() override;
diff --git a/include/svx/svdouno.hxx b/include/svx/svdouno.hxx
index 3796b086c8b9..c416439ecb5d 100644
--- a/include/svx/svdouno.hxx
+++ b/include/svx/svdouno.hxx
@@ -67,6 +67,8 @@ public:
explicit SdrUnoObj(
SdrModel& rSdrModel,
const OUString& rModelName);
+ // Copy constructor
+ SdrUnoObj(SdrModel& rSdrModel, SdrUnoObj const & rSource);
SdrUnoObj(
SdrModel& rSdrModel,
const OUString& rModelName,
@@ -76,7 +78,6 @@ public:
virtual SdrObjKind GetObjIdentifier() const override;
virtual SdrUnoObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- SdrUnoObj& operator= (const SdrUnoObj& rObj);
virtual void NbcResize(const Point& rRef, const Fraction& xFact, const Fraction& yFact) override;
virtual void NbcSetLayer(SdrLayerID nLayer) override;
@@ -122,6 +123,7 @@ public:
) const;
const OUString& GetUnoControlTypeName() const { return aUnoControlTypeName; }
+ const OUString& getUnoControlModelTypeName() const { return aUnoControlModelTypeName; }
virtual void SetUnoControlModel( const css::uno::Reference< css::awt::XControlModel >& xModel );
diff --git a/include/svx/svdovirt.hxx b/include/svx/svdovirt.hxx
index eade82c13c42..420fb6caed26 100644
--- a/include/svx/svdovirt.hxx
+++ b/include/svx/svdovirt.hxx
@@ -52,6 +52,8 @@ protected:
public:
SdrVirtObj(SdrModel& rSdrModel, SdrObject& rNewObj);
+ // Copy constructor
+ SdrVirtObj(SdrModel& rSdrModel, SdrVirtObj const& rSource);
SdrObject& ReferencedObj();
const SdrObject& GetReferencedObj() const;
@@ -66,7 +68,6 @@ public:
virtual const tools::Rectangle& GetLastBoundRect() const override;
virtual void RecalcBoundRect() override;
virtual SdrVirtObj* CloneSdrObject(SdrModel& rTargetModel) const override;
- SdrVirtObj& operator=(const SdrVirtObj& rObj);
virtual OUString TakeObjNameSingul() const override;
virtual OUString TakeObjNamePlural() const override;