[Libreoffice-commits] core.git: include/svx svx/Library_svxcore.mk svx/source

Kohei Yoshida kohei.yoshida at collabora.com
Wed Nov 19 09:35:24 PST 2014


 include/svx/svdobj.hxx                   |   25 -------
 svx/Library_svxcore.mk                   |    2 
 svx/source/inc/svdobjplusdata.hxx        |   47 +++++++++++++++
 svx/source/inc/svdobjuserdatalist.hxx    |   36 +++++++++++
 svx/source/svdraw/svdoashp.cxx           |    1 
 svx/source/svdraw/svdobj.cxx             |   97 -------------------------------
 svx/source/svdraw/svdobjplusdata.cxx     |   67 +++++++++++++++++++++
 svx/source/svdraw/svdobjuserdatalist.cxx |   35 +++++++++++
 8 files changed, 192 insertions(+), 118 deletions(-)

New commits:
commit 64ce79ff5eab8fe686c13c0ad676ad7f941a346f
Author: Kohei Yoshida <kohei.yoshida at collabora.com>
Date:   Wed Nov 19 10:57:27 2014 -0500

    Move SdrObjPlusData out of SdrObject's header.
    
    It is only used locally within svx.
    
    Change-Id: Iae53de3d1cb2b1f5f2ba5cede2794f08dfef972c

diff --git a/include/svx/svdobj.hxx b/include/svx/svdobj.hxx
index 9768b9c..5a5ab9b 100644
--- a/include/svx/svdobj.hxx
+++ b/include/svx/svdobj.hxx
@@ -73,6 +73,7 @@ class SfxPoolItem;
 class SdrVirtObj;
 class SdrDragView;
 class SdrObjUserDataList;
+class SdrObjPlusData;
 
 namespace sdr
 {
@@ -227,30 +228,6 @@ public:
     virtual ~SdrObjGeoData();
 };
 
-// Bitsack for DrawObjects
-class SdrObjPlusData
-{
-    friend class                SdrObject;
-
-    SfxBroadcaster*             pBroadcast;    // broadcaster, if this object is referenced (bVirtObj=true). Also for connectors etc.
-    SdrObjUserDataList*         pUserDataList; // application specific data
-    SdrGluePointList*           pGluePoints;   // glue points for glueing object connectors
-
-    // #i68101#
-    // object name, title and description
-    OUString aObjName;
-    OUString aObjTitle;
-    OUString aObjDescription;
-
-public:
-    TYPEINFO();
-    SdrObjPlusData();
-    virtual ~SdrObjPlusData();
-    virtual SdrObjPlusData* Clone(SdrObject* pObj1) const;
-
-    void SetGluePoints(const SdrGluePointList& rPts);
-};
-
 // provides information about various ZObject properties
 class SVX_DLLPUBLIC SdrObjTransformInfoRec
 {
diff --git a/svx/Library_svxcore.mk b/svx/Library_svxcore.mk
index 23cb969..420a6b8 100644
--- a/svx/Library_svxcore.mk
+++ b/svx/Library_svxcore.mk
@@ -303,6 +303,8 @@ $(eval $(call gb_Library_add_exception_objects,svxcore,\
     svx/source/svdraw/svdoashp \
     svx/source/svdraw/svdoattr \
     svx/source/svdraw/svdobj \
+    svx/source/svdraw/svdobjplusdata \
+    svx/source/svdraw/svdobjuserdatalist \
     svx/source/svdraw/svdocapt \
     svx/source/svdraw/svdocirc \
     svx/source/svdraw/svdoedge \
diff --git a/svx/source/inc/svdobjplusdata.hxx b/svx/source/inc/svdobjplusdata.hxx
new file mode 100644
index 0000000..289f64b
--- /dev/null
+++ b/svx/source/inc/svdobjplusdata.hxx
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#ifndef INCLUDED_SVX_SVDOBJPLUSDATA_HXX
+#define INCLUDED_SVX_SVDOBJPLUSDATA_HXX
+
+#include <tools/rtti.hxx>
+#include <rtl/ustring.hxx>
+
+class SdrObject;
+class SfxBroadcaster;
+class SdrObjUserDataList;
+class SdrGluePointList;
+
+// Bitsack for DrawObjects
+class SdrObjPlusData
+{
+    friend class                SdrObject;
+
+    SfxBroadcaster*             pBroadcast;    // broadcaster, if this object is referenced (bVirtObj=true). Also for connectors etc.
+    SdrObjUserDataList*         pUserDataList; // application specific data
+    SdrGluePointList*           pGluePoints;   // glue points for glueing object connectors
+
+    // #i68101#
+    // object name, title and description
+    OUString aObjName;
+    OUString aObjTitle;
+    OUString aObjDescription;
+
+public:
+    TYPEINFO();
+    SdrObjPlusData();
+    virtual ~SdrObjPlusData();
+    virtual SdrObjPlusData* Clone(SdrObject* pObj1) const;
+
+    void SetGluePoints(const SdrGluePointList& rPts);
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/inc/svdobjuserdatalist.hxx b/svx/source/inc/svdobjuserdatalist.hxx
new file mode 100644
index 0000000..b13b640
--- /dev/null
+++ b/svx/source/inc/svdobjuserdatalist.hxx
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#ifndef INCLUDED_SVX_SVDOBJUSERDATALIST_HXX
+#define INCLUDED_SVX_SVDOBJUSERDATALIST_HXX
+
+#include <svx/svdobj.hxx>
+
+#include <boost/ptr_container/ptr_vector.hpp>
+
+class SdrObjUserData;
+
+class SdrObjUserDataList
+{
+    typedef boost::ptr_vector<SdrObjUserData> ListType;
+    ListType maList;
+
+public:
+    SdrObjUserDataList();
+    ~SdrObjUserDataList();
+
+    size_t GetUserDataCount() const;
+    SdrObjUserData* GetUserData(size_t nNum);
+    void AppendUserData(SdrObjUserData* pData);
+    void DeleteUserData(size_t nNum);
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/svdraw/svdoashp.cxx b/svx/source/svdraw/svdoashp.cxx
index d7efb5de..60910e1 100644
--- a/svx/source/svdraw/svdoashp.cxx
+++ b/svx/source/svdraw/svdoashp.cxx
@@ -80,6 +80,7 @@
 #include <basegfx/matrix/b2dhommatrixtools.hxx>
 #include <basegfx/tools/unotools.hxx>
 #include "svdconv.hxx"
+#include <svdobjplusdata.hxx>
 
 using namespace ::com::sun::star;
 using namespace ::com::sun::star::uno;
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index d5f0c6e..a683ab2 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -129,8 +129,10 @@
 #include <svx/xpoly.hxx>
 #include <rtl/strbuf.hxx>
 #include <svdoopengl.hxx>
+#include <svdobjplusdata.hxx>
+#include <svdobjuserdatalist.hxx>
+
 #include <boost/scoped_ptr.hpp>
-#include <boost/ptr_container/ptr_vector.hpp>
 
 using namespace ::com::sun::star;
 
@@ -225,47 +227,6 @@ OUString SdrObjUserData::GetMacroPopupComment(const SdrObjMacroHitRec& /*rRec*/,
     return OUString();
 }
 
-class SdrObjUserDataList
-{
-    typedef boost::ptr_vector<SdrObjUserData> ListType;
-    ListType maList;
-
-public:
-    SdrObjUserDataList();
-    ~SdrObjUserDataList();
-
-    size_t GetUserDataCount() const;
-    SdrObjUserData* GetUserData(size_t nNum);
-    void AppendUserData(SdrObjUserData* pData);
-    void DeleteUserData(size_t nNum);
-};
-
-SdrObjUserDataList::SdrObjUserDataList() {}
-SdrObjUserDataList::~SdrObjUserDataList() {}
-
-size_t SdrObjUserDataList::GetUserDataCount() const
-{
-    return static_cast<sal_uInt16>(maList.size());
-}
-
-SdrObjUserData* SdrObjUserDataList::GetUserData(size_t nNum)
-{
-    return &maList.at(nNum);
-}
-
-void SdrObjUserDataList::AppendUserData(SdrObjUserData* pData)
-{
-    maList.push_back(pData);
-}
-
-void SdrObjUserDataList::DeleteUserData(size_t nNum)
-{
-    maList.erase(maList.begin()+nNum);
-}
-
-
-
-
 SdrObjGeoData::SdrObjGeoData():
     pGPL(NULL),
     bMovProt(false),
@@ -282,58 +243,6 @@ SdrObjGeoData::~SdrObjGeoData()
     delete pGPL;
 }
 
-
-
-TYPEINIT0(SdrObjPlusData);
-
-SdrObjPlusData::SdrObjPlusData():
-    pBroadcast(NULL),
-    pUserDataList(NULL),
-    pGluePoints(NULL)
-{
-}
-
-SdrObjPlusData::~SdrObjPlusData()
-{
-    delete pBroadcast;
-    delete pUserDataList;
-    delete pGluePoints;
-}
-
-SdrObjPlusData* SdrObjPlusData::Clone(SdrObject* pObj1) const
-{
-    SdrObjPlusData* pNeuPlusData=new SdrObjPlusData;
-    if (pUserDataList!=NULL) {
-        sal_uInt16 nAnz=pUserDataList->GetUserDataCount();
-        if (nAnz!=0) {
-            pNeuPlusData->pUserDataList=new SdrObjUserDataList;
-            for (sal_uInt16 i=0; i<nAnz; i++) {
-                SdrObjUserData* pNeuUserData=pUserDataList->GetUserData(i)->Clone(pObj1);
-                if (pNeuUserData!=NULL) {
-                    pNeuPlusData->pUserDataList->AppendUserData(pNeuUserData);
-                } else {
-                    OSL_FAIL("SdrObjPlusData::Clone(): UserData.Clone() returns NULL.");
-                }
-            }
-        }
-    }
-    if (pGluePoints!=NULL) pNeuPlusData->pGluePoints=new SdrGluePointList(*pGluePoints);
-    // MtfAnimator isn't copied either
-
-    // #i68101#
-    // copy object name, title and description
-    pNeuPlusData->aObjName = aObjName;
-    pNeuPlusData->aObjTitle = aObjTitle;
-    pNeuPlusData->aObjDescription = aObjDescription;
-
-    return pNeuPlusData;
-}
-
-void SdrObjPlusData::SetGluePoints(const SdrGluePointList& rPts)
-{
-    return *pGluePoints = rPts;
-}
-
 SdrObjTransformInfoRec::SdrObjTransformInfoRec() :
     bSelectAllowed(true),
     bMoveAllowed(true),
diff --git a/svx/source/svdraw/svdobjplusdata.cxx b/svx/source/svdraw/svdobjplusdata.cxx
new file mode 100644
index 0000000..b9d7da8
--- /dev/null
+++ b/svx/source/svdraw/svdobjplusdata.cxx
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#include <svdobjplusdata.hxx>
+#include <svdobjuserdatalist.hxx>
+
+#include <svx/svdglue.hxx>
+
+#include <svl/SfxBroadcaster.hxx>
+
+TYPEINIT0(SdrObjPlusData);
+
+SdrObjPlusData::SdrObjPlusData():
+    pBroadcast(NULL),
+    pUserDataList(NULL),
+    pGluePoints(NULL)
+{
+}
+
+SdrObjPlusData::~SdrObjPlusData()
+{
+    delete pBroadcast;
+    delete pUserDataList;
+    delete pGluePoints;
+}
+
+SdrObjPlusData* SdrObjPlusData::Clone(SdrObject* pObj1) const
+{
+    SdrObjPlusData* pNeuPlusData=new SdrObjPlusData;
+    if (pUserDataList!=NULL) {
+        sal_uInt16 nAnz=pUserDataList->GetUserDataCount();
+        if (nAnz!=0) {
+            pNeuPlusData->pUserDataList=new SdrObjUserDataList;
+            for (sal_uInt16 i=0; i<nAnz; i++) {
+                SdrObjUserData* pNeuUserData=pUserDataList->GetUserData(i)->Clone(pObj1);
+                if (pNeuUserData!=NULL) {
+                    pNeuPlusData->pUserDataList->AppendUserData(pNeuUserData);
+                } else {
+                    OSL_FAIL("SdrObjPlusData::Clone(): UserData.Clone() returns NULL.");
+                }
+            }
+        }
+    }
+    if (pGluePoints!=NULL) pNeuPlusData->pGluePoints=new SdrGluePointList(*pGluePoints);
+    // MtfAnimator isn't copied either
+
+    // #i68101#
+    // copy object name, title and description
+    pNeuPlusData->aObjName = aObjName;
+    pNeuPlusData->aObjTitle = aObjTitle;
+    pNeuPlusData->aObjDescription = aObjDescription;
+
+    return pNeuPlusData;
+}
+
+void SdrObjPlusData::SetGluePoints(const SdrGluePointList& rPts)
+{
+    return *pGluePoints = rPts;
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/svdraw/svdobjuserdatalist.cxx b/svx/source/svdraw/svdobjuserdatalist.cxx
new file mode 100644
index 0000000..c7d24dd
--- /dev/null
+++ b/svx/source/svdraw/svdobjuserdatalist.cxx
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#include <svdobjuserdatalist.hxx>
+
+SdrObjUserDataList::SdrObjUserDataList() {}
+SdrObjUserDataList::~SdrObjUserDataList() {}
+
+size_t SdrObjUserDataList::GetUserDataCount() const
+{
+    return maList.size();
+}
+
+SdrObjUserData* SdrObjUserDataList::GetUserData(size_t nNum)
+{
+    return &maList.at(nNum);
+}
+
+void SdrObjUserDataList::AppendUserData(SdrObjUserData* pData)
+{
+    maList.push_back(pData);
+}
+
+void SdrObjUserDataList::DeleteUserData(size_t nNum)
+{
+    maList.erase(maList.begin()+nNum);
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */


More information about the Libreoffice-commits mailing list