diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2013-10-03 14:58:14 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2013-10-03 16:15:00 +0200 |
commit | 5a1e73615e5fe0c1737afdc184444f971d80ab20 (patch) | |
tree | a0ed002d714991a35726307e1ed43e913e1cf4ae /sw | |
parent | 087a8cb10058acdd1bd5071ca3d4725fe585dd7d (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.hxx | 2 | ||||
-rw-r--r-- | sw/source/core/docnode/nodedump.cxx | 39 |
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 ); |