summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2013-10-03 14:58:14 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2013-10-03 16:15:00 +0200
commit5a1e73615e5fe0c1737afdc184444f971d80ab20 (patch)
treea0ed002d714991a35726307e1ed43e913e1cf4ae /sw
parent087a8cb10058acdd1bd5071ca3d4725fe585dd7d (diff)
sw: include names of character and paragraph styles in doc model dump
Change-Id: Ib766fa7753e52ad81f5fe976d0e6c3e1f688a826
Diffstat (limited to 'sw')
-rw-r--r--sw/inc/docary.hxx2
-rw-r--r--sw/source/core/docnode/nodedump.cxx39
2 files changed, 41 insertions, 0 deletions
diff --git a/sw/inc/docary.hxx b/sw/inc/docary.hxx
index 6b9636ee27fd..db4a419df3b5 100644
--- a/sw/inc/docary.hxx
+++ b/sw/inc/docary.hxx
@@ -88,6 +88,7 @@ public:
virtual SwFmt* GetFmt(size_t idx) const { return (SwFmt*)operator[](idx); }
sal_uInt16 GetPos(const SwCharFmt* pFmt) const;
bool Contains(const SwCharFmt* pFmt) const;
+ void dumpAsXml(xmlTextWriterPtr w);
/// free's any remaining child objects
virtual ~SwCharFmts();
};
@@ -98,6 +99,7 @@ public:
virtual size_t GetFmtCount() const { return size(); }
virtual SwFmt* GetFmt(size_t idx) const { return (SwFmt*)operator[](idx); }
sal_uInt16 GetPos(const SwTxtFmtColl* pFmt) const;
+ void dumpAsXml(xmlTextWriterPtr w);
virtual ~SwTxtFmtColls() {}
};
diff --git a/sw/source/core/docnode/nodedump.cxx b/sw/source/core/docnode/nodedump.cxx
index 0600ebc57798..6fbe63e6d0cd 100644
--- a/sw/source/core/docnode/nodedump.cxx
+++ b/sw/source/core/docnode/nodedump.cxx
@@ -16,6 +16,7 @@
#include "docufld.hxx"
#include "txatbase.hxx"
#include "fmtautofmt.hxx"
+#include "charfmt.hxx"
#include <svl/itemiter.hxx>
#include <libxml/encoding.h>
@@ -110,6 +111,8 @@ void SwDoc::dumpAsXml( xmlTextWriterPtr w )
m_pNodes->dumpAsXml( writer );
mpMarkManager->dumpAsXml( writer );
mpFldTypes->dumpAsXml( writer );
+ mpTxtFmtCollTbl->dumpAsXml( writer );
+ mpCharFmtTbl->dumpAsXml( writer );
writer.endElement();
}
@@ -261,6 +264,42 @@ void SwStartNode::dumpAsXml( xmlTextWriterPtr w )
// writer.endElement(); - it is a start node, so don't end, will make xml better nested
}
+void SwCharFmts::dumpAsXml(xmlTextWriterPtr w)
+{
+ WriterHelper writer(w);
+ if (size())
+ {
+ writer.startElement("swcharfmts");
+ for (size_t i = 0; i < size(); ++i)
+ {
+ SwCharFmt* pFmt = static_cast<SwCharFmt*>(GetFmt(i));
+ writer.startElement("swcharfmt");
+ OString aName = OUStringToOString(pFmt->GetName(), RTL_TEXTENCODING_UTF8);
+ writer.writeFormatAttribute("name", "%s", BAD_CAST(aName.getStr()));
+ writer.endElement();
+ }
+ writer.endElement();
+ }
+}
+
+void SwTxtFmtColls::dumpAsXml(xmlTextWriterPtr w)
+{
+ WriterHelper writer(w);
+ if (size())
+ {
+ writer.startElement("swtxtfmtcolls");
+ for (size_t i = 0; i < size(); ++i)
+ {
+ SwTxtFmtColl* pColl = static_cast<SwTxtFmtColl*>(GetFmt(i));
+ writer.startElement("swtxtfmtcoll");
+ OString aName = OUStringToOString(pColl->GetName(), RTL_TEXTENCODING_UTF8);
+ writer.writeFormatAttribute("name", "%s", BAD_CAST(aName.getStr()));
+ writer.endElement();
+ }
+ writer.endElement();
+ }
+}
+
void SwTxtNode::dumpAsXml( xmlTextWriterPtr w )
{
WriterHelper writer( w );