Kaydet (Commit) 0dcadc27 authored tarafından Miklos Vajna's avatar Miklos Vajna

Extract Fieldmark::dumpAsXml() from MarkManager

Change-Id: I1e3b1d4b7d596630ea9b804ded911a2e48b970c9
üst e7cbf852
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <rtl/random.h> #include <rtl/random.h>
#include <xmloff/odffields.hxx> #include <xmloff/odffields.hxx>
#include <libxml/xmlwriter.h> #include <libxml/xmlwriter.h>
#include <comphelper/anytostring.hxx>
using namespace ::sw::mark; using namespace ::sw::mark;
using namespace ::com::sun::star; using namespace ::com::sun::star;
...@@ -373,6 +374,24 @@ namespace sw { namespace mark ...@@ -373,6 +374,24 @@ namespace sw { namespace mark
aPaM.InvalidatePaM(); 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) TextFieldmark::TextFieldmark(const SwPaM& rPaM)
: Fieldmark(rPaM) : Fieldmark(rPaM)
{ } { }
......
...@@ -55,7 +55,6 @@ ...@@ -55,7 +55,6 @@
#include <edimp.hxx> #include <edimp.hxx>
#include <stdio.h> #include <stdio.h>
#include <tools/datetimeutils.hxx> #include <tools/datetimeutils.hxx>
#include <comphelper/anytostring.hxx>
using namespace ::boost; using namespace ::boost;
using namespace ::sw::mark; using namespace ::sw::mark;
...@@ -1154,28 +1153,7 @@ void MarkManager::dumpAsXml(xmlTextWriterPtr pWriter) const ...@@ -1154,28 +1153,7 @@ void MarkManager::dumpAsXml(xmlTextWriterPtr pWriter) const
{ {
xmlTextWriterStartElement(pWriter, BAD_CAST("fieldmarks")); xmlTextWriterStartElement(pWriter, BAD_CAST("fieldmarks"));
for (const_iterator_t it = m_vFieldmarks.begin(); it != m_vFieldmarks.end(); ++it) for (const_iterator_t it = m_vFieldmarks.begin(); it != m_vFieldmarks.end(); ++it)
{ (*it)->dumpAsXml(pWriter);
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);
}
xmlTextWriterEndElement(pWriter); xmlTextWriterEndElement(pWriter);
} }
......
...@@ -226,6 +226,7 @@ namespace sw { ...@@ -226,6 +226,7 @@ namespace sw {
virtual void Invalidate() SAL_OVERRIDE; virtual void Invalidate() SAL_OVERRIDE;
virtual OUString ToString() const SAL_OVERRIDE; virtual OUString ToString() const SAL_OVERRIDE;
virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
private: private:
OUString m_aFieldname; OUString m_aFieldname;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment