diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-01-29 14:35:06 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-01-29 21:55:02 +0100 |
commit | 0dcadc274ba81be6f233e559059b7e3f6cc3c0de (patch) | |
tree | 3ba6005a1b62c35f8f19c2ea2edbbc7201a26f38 /sw | |
parent | e7cbf852a9889c625bc54e68c7eb5b8e62e9acd7 (diff) |
Extract Fieldmark::dumpAsXml() from MarkManager
Change-Id: I1e3b1d4b7d596630ea9b804ded911a2e48b970c9
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/crsr/bookmrk.cxx | 19 | ||||
-rw-r--r-- | sw/source/core/doc/docbm.cxx | 24 | ||||
-rw-r--r-- | sw/source/core/inc/bookmrk.hxx | 1 |
3 files changed, 21 insertions, 23 deletions
diff --git a/sw/source/core/crsr/bookmrk.cxx b/sw/source/core/crsr/bookmrk.cxx index 994aefc48185..055cee8ac7dc 100644 --- a/sw/source/core/crsr/bookmrk.cxx +++ b/sw/source/core/crsr/bookmrk.cxx @@ -33,6 +33,7 @@ #include <rtl/random.h> #include <xmloff/odffields.hxx> #include <libxml/xmlwriter.h> +#include <comphelper/anytostring.hxx> using namespace ::sw::mark; using namespace ::com::sun::star; @@ -373,6 +374,24 @@ namespace sw { namespace mark aPaM.InvalidatePaM(); } + void Fieldmark::dumpAsXml(xmlTextWriterPtr pWriter) const + { + xmlTextWriterStartElement(pWriter, BAD_CAST("fieldmark")); + xmlTextWriterWriteAttribute(pWriter, BAD_CAST("fieldname"), BAD_CAST(m_aFieldname.toUtf8().getStr())); + xmlTextWriterWriteAttribute(pWriter, BAD_CAST("fieldHelptext"), BAD_CAST(m_aFieldHelptext.toUtf8().getStr())); + MarkBase::dumpAsXml(pWriter); + xmlTextWriterStartElement(pWriter, BAD_CAST("parameters")); + for (auto& rParam : m_vParams) + { + xmlTextWriterStartElement(pWriter, BAD_CAST("parameter")); + xmlTextWriterWriteAttribute(pWriter, BAD_CAST("name"), BAD_CAST(rParam.first.toUtf8().getStr())); + xmlTextWriterWriteAttribute(pWriter, BAD_CAST("value"), BAD_CAST(comphelper::anyToString(rParam.second).toUtf8().getStr())); + xmlTextWriterEndElement(pWriter); + } + xmlTextWriterEndElement(pWriter); + xmlTextWriterEndElement(pWriter); + } + TextFieldmark::TextFieldmark(const SwPaM& rPaM) : Fieldmark(rPaM) { } diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx index d0f71e93a36e..e4e8138ad408 100644 --- a/sw/source/core/doc/docbm.cxx +++ b/sw/source/core/doc/docbm.cxx @@ -55,7 +55,6 @@ #include <edimp.hxx> #include <stdio.h> #include <tools/datetimeutils.hxx> -#include <comphelper/anytostring.hxx> using namespace ::boost; using namespace ::sw::mark; @@ -1154,28 +1153,7 @@ void MarkManager::dumpAsXml(xmlTextWriterPtr pWriter) const { xmlTextWriterStartElement(pWriter, BAD_CAST("fieldmarks")); for (const_iterator_t it = m_vFieldmarks.begin(); it != m_vFieldmarks.end(); ++it) - { - pMark_t pMark = *it; - xmlTextWriterStartElement(pWriter, BAD_CAST("fieldmark")); - pMark->dumpAsXml(pWriter); - if (sw::mark::IFieldmark* pFieldmark = dynamic_cast<sw::mark::IFieldmark*>(pMark.get())) - { - sw::mark::IFieldmark::parameter_map_t* pParameters = pFieldmark->GetParameters(); - if (pParameters) - { - xmlTextWriterStartElement(pWriter, BAD_CAST("parameters")); - for (sw::mark::IFieldmark::parameter_map_t::iterator parameter = pParameters->begin(); parameter != pParameters->end(); ++parameter) - { - xmlTextWriterStartElement(pWriter, BAD_CAST("parameter")); - xmlTextWriterWriteAttribute(pWriter, BAD_CAST("name"), BAD_CAST(parameter->first.toUtf8().getStr())); - xmlTextWriterWriteAttribute(pWriter, BAD_CAST("value"), BAD_CAST(comphelper::anyToString(parameter->second).toUtf8().getStr())); - xmlTextWriterEndElement(pWriter); - } - xmlTextWriterEndElement(pWriter); - } - } - xmlTextWriterEndElement(pWriter); - } + (*it)->dumpAsXml(pWriter); xmlTextWriterEndElement(pWriter); } diff --git a/sw/source/core/inc/bookmrk.hxx b/sw/source/core/inc/bookmrk.hxx index 676bf8105802..ebdfbdf23240 100644 --- a/sw/source/core/inc/bookmrk.hxx +++ b/sw/source/core/inc/bookmrk.hxx @@ -226,6 +226,7 @@ namespace sw { virtual void Invalidate() SAL_OVERRIDE; virtual OUString ToString() const SAL_OVERRIDE; + virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE; private: OUString m_aFieldname; |