summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2014-04-02 11:22:51 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-04-02 11:30:15 +0200
commitb0606fa6f8ab8bc3ee8b90eaedb34019c4d6657d (patch)
treea7e338c9b8ed44d9bc66faad3166f8b508d40373
parent67c6ea0c426c2796fc1b80cbe2cb0347686db90d (diff)
sw doc model dump: include contents of draw page
Change-Id: I8f1687ba7aacfff47695fd43062c92d2eb034a29
-rw-r--r--sw/source/core/docnode/nodedump.cxx35
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();
}