summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2014-12-01 09:09:43 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-12-01 09:10:04 +0100
commit97d9e5297b563cddb19f9df2682cb3ef23c99229 (patch)
tree09fa1281b33354b49b877518af50805d9bdd7cd7
parentea25c799ea6d16a15390f9edcd69fa9e8ec5b2b5 (diff)
Factor out SdrPage::dumpAsXml() from SwDoc::dumpAsXml()
Change-Id: Ida16087b1d954454c672ddeec78b8dfe0e5a45fe
-rw-r--r--include/svx/svdpage.hxx2
-rw-r--r--svx/source/svdraw/svdpage.cxx15
-rw-r--r--sw/source/core/docnode/nodedump.cxx15
3 files changed, 19 insertions, 13 deletions
diff --git a/include/svx/svdpage.hxx b/include/svx/svdpage.hxx
index 712079df259e..c73718618f71 100644
--- a/include/svx/svdpage.hxx
+++ b/include/svx/svdpage.hxx
@@ -562,6 +562,8 @@ public:
const sdr::contact::ViewObjectContact& rOriginal,
const sdr::contact::DisplayInfo& rDisplayInfo,
bool bEdit );
+
+ void dumpAsXml(struct _xmlTextWriter* pWriter) const;
};
typedef tools::WeakReference< SdrPage > SdrPageWeakRef;
diff --git a/svx/source/svdraw/svdpage.cxx b/svx/source/svdraw/svdpage.cxx
index 46ed346d149c..94139448bcb3 100644
--- a/svx/source/svdraw/svdpage.cxx
+++ b/svx/source/svdraw/svdpage.cxx
@@ -55,6 +55,7 @@
#include <algorithm>
#include <svl/smplhint.hxx>
#include <rtl/strbuf.hxx>
+#include <libxml/xmlwriter.h>
using namespace ::com::sun::star;
@@ -1822,6 +1823,20 @@ void SdrPage::ActionChanged() const
}
}
+void SdrPage::dumpAsXml(xmlTextWriterPtr pWriter) const
+{
+ xmlTextWriterStartElement(pWriter, BAD_CAST("sdrPage"));
+ xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("ptr"), "%p", this);
+
+ size_t nObjCount = GetObjCount();
+ for (size_t i = 0; i < nObjCount; ++i)
+ {
+ if (const SdrObject* pObject = pPage->GetObj(i))
+ pObject->dumpAsXml(pWriter);
+ }
+
+ xmlTextWriterEndElement(pWriter);
+}
// sdr::Comment interface
diff --git a/sw/source/core/docnode/nodedump.cxx b/sw/source/core/docnode/nodedump.cxx
index 7e7795cc7834..97352e9ee9de 100644
--- a/sw/source/core/docnode/nodedump.cxx
+++ b/sw/source/core/docnode/nodedump.cxx
@@ -139,19 +139,8 @@ void lcl_dumpSdrModel(WriterHelper& writer, const SdrModel* pModel)
writer.writeFormatAttribute("ptr", "%p", pModel);
if (pModel)
{
- const SdrPage* pPage = pModel->GetPage(0);
- writer.startElement("sdrPage");
- writer.writeFormatAttribute("ptr", "%p", pPage);
- if (pPage)
- {
- const size_t nObjCount = pPage->GetObjCount();
- for (size_t i = 0; i < nObjCount; ++i)
- {
- if (const SdrObject* pObject = pPage->GetObj(i))
- pObject->dumpAsXml(writer);
- }
- }
- writer.endElement();
+ if (const SdrPage* pPage = pModel->GetPage(0))
+ pPage->dumpAsXml(writer);
}
writer.endElement();
}