include/svl/itemset.hxx | 1 + svl/source/items/itemset.cxx | 10 ++++++++++ sw/source/core/docnode/nodedump.cxx | 30 +++++++----------------------- 3 files changed, 18 insertions(+), 23 deletions(-)
New commits: commit b42d7e4f5d496da81e7e86f437ee275729201907 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Sun Feb 8 11:46:35 2015 +0100 Extract SfxItemSet::dumpAsXml() from sw Change-Id: I30cb1a3c99ad5116cc2d014a7bbb1048fe8cb9f8 diff --git a/include/svl/itemset.hxx b/include/svl/itemset.hxx index 55c2664..af85023 100644 --- a/include/svl/itemset.hxx +++ b/include/svl/itemset.hxx @@ -136,6 +136,7 @@ public: bool operator==(const SfxItemSet &) const; sal_Int32 getHash() const; OString stringify() const; + void dumpAsXml(struct _xmlTextWriter* pWriter) const; }; inline void SfxItemSet::SetParent( const SfxItemSet* pNew ) diff --git a/svl/source/items/itemset.cxx b/svl/source/items/itemset.cxx index 22105af..c69cbb4 100644 --- a/svl/source/items/itemset.cxx +++ b/svl/source/items/itemset.cxx @@ -21,6 +21,7 @@ #include <string.h> #include <cstdarg> +#include <libxml/xmlwriter.h> #include <svl/itemset.hxx> #include <svl/itempool.hxx> @@ -1920,4 +1921,13 @@ OString SfxItemSet::stringify() const static_cast<char const *>(aStream.GetData()), aStream.GetEndOfData()); } +void SfxItemSet::dumpAsXml(xmlTextWriterPtr pWriter) const +{ + xmlTextWriterStartElement(pWriter, BAD_CAST("sfxItemSet")); + SfxItemIter aIter(*this); + for (const SfxPoolItem* pItem = aIter.FirstItem(); pItem; pItem = aIter.NextItem()) + pItem->dumpAsXml(pWriter); + xmlTextWriterEndElement(pWriter); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/core/docnode/nodedump.cxx b/sw/source/core/docnode/nodedump.cxx index ec2eef0..127701b 100644 --- a/sw/source/core/docnode/nodedump.cxx +++ b/sw/source/core/docnode/nodedump.cxx @@ -99,8 +99,6 @@ static const char* TMP_FORMAT_I32 = "%" SAL_PRIdINT32; } -void lcl_dumpSfxItemSet(WriterHelper& writer, const SfxItemSet* pSet); - void SwDoc::dumpAsXml( xmlTextWriterPtr w ) const { WriterHelper writer( w ); @@ -256,25 +254,13 @@ void SwStartNode::dumpAsXml( xmlTextWriterPtr w ) const if (IsTableNode()) { writer.startElement("attrset"); - const SwAttrSet& rAttrSet = GetTableNode()->GetTable().GetFrmFmt()->GetAttrSet(); - lcl_dumpSfxItemSet(writer, &rAttrSet); + GetTableNode()->GetTable().GetFrmFmt()->GetAttrSet().dumpAsXml(writer); writer.endElement(); } // writer.endElement(); - it is a start node, so don't end, will make xml better nested } -void lcl_dumpSfxItemSet(WriterHelper& writer, const SfxItemSet* pSet) -{ - SfxItemIter aIter(*pSet); - const SfxPoolItem* pItem = aIter.FirstItem(); - while (pItem) - { - pItem->dumpAsXml(writer); - pItem = aIter.NextItem(); - } -} - void SwFrmFmts::dumpAsXml(xmlTextWriterPtr w, const char* pName) const { WriterHelper writer(w); @@ -310,8 +296,7 @@ void SwFrmFmt::dumpAsXml(xmlTextWriterPtr pWriter) const if (pWhich) xmlTextWriterWriteAttribute(pWriter, BAD_CAST("which"), BAD_CAST(pWhich)); - WriterHelper w(pWriter); - lcl_dumpSfxItemSet(w, &GetAttrSet()); + GetAttrSet().dumpAsXml(pWriter); xmlTextWriterEndElement(pWriter); } @@ -329,7 +314,7 @@ void SwCharFmts::dumpAsXml(xmlTextWriterPtr w) const OString aName = OUStringToOString(pFmt->GetName(), RTL_TEXTENCODING_UTF8); writer.writeFormatAttribute("name", "%s", BAD_CAST(aName.getStr())); - lcl_dumpSfxItemSet(writer, &pFmt->GetAttrSet()); + pFmt->GetAttrSet().dumpAsXml(w); writer.endElement(); } writer.endElement(); @@ -346,7 +331,7 @@ void SwSectionFmts::dumpAsXml(xmlTextWriterPtr w) const { const SwSectionFmt* pFmt = GetFmt(i); writer.startElement("swsectionfmt"); - lcl_dumpSfxItemSet(writer, &pFmt->GetAttrSet()); + pFmt->GetAttrSet().dumpAsXml(w); writer.endElement(); } writer.endElement(); @@ -366,7 +351,7 @@ void SwTxtFmtColls::dumpAsXml(xmlTextWriterPtr w) const OString aName = OUStringToOString(pColl->GetName(), RTL_TEXTENCODING_UTF8); writer.writeFormatAttribute("name", "%s", BAD_CAST(aName.getStr())); - lcl_dumpSfxItemSet(writer, &pColl->GetAttrSet()); + pColl->GetAttrSet().dumpAsXml(w); writer.endElement(); } writer.endElement(); @@ -399,8 +384,7 @@ void SwTxtNode::dumpAsXml( xmlTextWriterPtr w ) const if (HasSwAttrSet()) { writer.startElement("attrset"); - const SwAttrSet& rAttrSet = GetSwAttrSet(); - lcl_dumpSfxItemSet(writer, &rAttrSet); + GetSwAttrSet().dumpAsXml(writer); writer.endElement(); } @@ -451,7 +435,7 @@ void SwTxtNode::dumpAsXml( xmlTextWriterPtr w ) const { boost::shared_ptr<SfxItemSet> const pSet(pHint->GetAutoFmt().GetStyleHandle()); writer.startElement("autofmt"); - lcl_dumpSfxItemSet(writer, pSet.get()); + pSet->dumpAsXml(writer); writer.endElement(); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits