diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-04-02 11:22:51 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-04-02 11:30:15 +0200 |
commit | b0606fa6f8ab8bc3ee8b90eaedb34019c4d6657d (patch) | |
tree | a7e338c9b8ed44d9bc66faad3166f8b508d40373 | |
parent | 67c6ea0c426c2796fc1b80cbe2cb0347686db90d (diff) |
sw doc model dump: include contents of draw page
Change-Id: I8f1687ba7aacfff47695fd43062c92d2eb034a29
-rw-r--r-- | sw/source/core/docnode/nodedump.cxx | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/sw/source/core/docnode/nodedump.cxx b/sw/source/core/docnode/nodedump.cxx index d6e120720b3f..aee1ca285f16 100644 --- a/sw/source/core/docnode/nodedump.cxx +++ b/sw/source/core/docnode/nodedump.cxx @@ -26,6 +26,8 @@ #include <editeng/rsiditem.hxx> #include <editeng/fontitem.hxx> #include <editeng/fhgtitem.hxx> +#include <svx/svdpage.hxx> +#include <svx/svdmodel.hxx> #include <tools/datetimeutils.hxx> #include <libxml/encoding.h> @@ -109,6 +111,38 @@ static const char* TMP_FORMAT_I32 = "%" SAL_PRIdINT32; } +void lcl_dumpSdrModel(WriterHelper& writer, const SdrModel* pModel) +{ + writer.startElement("sdrModel"); + writer.writeFormatAttribute("ptr", "%p", pModel); + if (pModel) + { + const SdrPage* pPage = pModel->GetPage(0); + writer.startElement("sdrPage"); + writer.writeFormatAttribute("ptr", "%p", pPage); + if (pPage) + { + sal_Int32 nObjCount = pPage->GetObjCount(); + for (sal_Int32 i = 0; i < nObjCount; ++i) + { + SdrObject* pObject = pPage->GetObj(i); + writer.startElement("sdrObject"); + writer.writeFormatAttribute("ptr", "%p", pObject); + if (pObject) + { + writer.writeFormatAttribute("symbol", "%s", BAD_CAST(typeid(*pObject).name())); + writer.writeFormatAttribute("name", "%s", BAD_CAST(OUStringToOString(pObject->GetName(), RTL_TEXTENCODING_UTF8).getStr())); + writer.writeFormatAttribute("title", "%s", BAD_CAST(OUStringToOString(pObject->GetTitle(), RTL_TEXTENCODING_UTF8).getStr())); + writer.writeFormatAttribute("description", "%s", BAD_CAST(OUStringToOString(pObject->GetDescription(), RTL_TEXTENCODING_UTF8).getStr())); + } + writer.endElement(); + } + } + writer.endElement(); + } + writer.endElement(); +} + void SwDoc::dumpAsXml( xmlTextWriterPtr w ) { WriterHelper writer( w ); @@ -122,6 +156,7 @@ void SwDoc::dumpAsXml( xmlTextWriterPtr w ) mpNumRuleTbl->dumpAsXml( writer ); mpRedlineTbl->dumpAsXml( writer ); mpExtraRedlineTbl->dumpAsXml( writer ); + lcl_dumpSdrModel( writer, mpDrawModel ); writer.endElement(); } |