diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-01-28 09:05:56 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-01-28 09:07:07 +0100 |
commit | 607ad59737919167047eb2ed713a5999a22c18e0 (patch) | |
tree | 3d662c2e9213cc11edaddb21eb3cf6e268ca85f3 | |
parent | 69d7bdfb83e1073d676a0223fa0915a13a0e8fd6 (diff) |
Extract MarkBase::dumpAsXml() from MarkManager
Change-Id: I85589d304dad05581bb2013166bb22f6b46cc793
-rw-r--r-- | sw/inc/IMark.hxx | 1 | ||||
-rw-r--r-- | sw/source/core/crsr/bookmrk.cxx | 14 | ||||
-rw-r--r-- | sw/source/core/doc/docbm.cxx | 34 | ||||
-rw-r--r-- | sw/source/core/inc/bookmrk.hxx | 1 |
4 files changed, 19 insertions, 31 deletions
diff --git a/sw/inc/IMark.hxx b/sw/inc/IMark.hxx index 255a5bd33597..ad2b75c62ee7 100644 --- a/sw/inc/IMark.hxx +++ b/sw/inc/IMark.hxx @@ -68,6 +68,7 @@ namespace sw { namespace mark { return GetMarkEnd() > rPos; } virtual OUString ToString( ) const =0; + virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const = 0; }; class SW_DLLPUBLIC IBookmark diff --git a/sw/source/core/crsr/bookmrk.cxx b/sw/source/core/crsr/bookmrk.cxx index 666a1189fc5e..994aefc48185 100644 --- a/sw/source/core/crsr/bookmrk.cxx +++ b/sw/source/core/crsr/bookmrk.cxx @@ -32,6 +32,7 @@ #include <unobookmark.hxx> #include <rtl/random.h> #include <xmloff/odffields.hxx> +#include <libxml/xmlwriter.h> using namespace ::sw::mark; using namespace ::com::sun::star; @@ -173,6 +174,19 @@ namespace sw { namespace mark + OUString::number( GetMarkPos().nContent.GetIndex( ) ) + " ] )"; } + void MarkBase::dumpAsXml(xmlTextWriterPtr pWriter) const + { + xmlTextWriterStartElement(pWriter, BAD_CAST("markBase")); + xmlTextWriterWriteAttribute(pWriter, BAD_CAST("name"), BAD_CAST(m_aName.toUtf8().getStr())); + xmlTextWriterStartElement(pWriter, BAD_CAST("markPos")); + GetMarkPos().dumpAsXml(pWriter); + xmlTextWriterEndElement(pWriter); + xmlTextWriterStartElement(pWriter, BAD_CAST("otherMarkPos")); + GetOtherMarkPos().dumpAsXml(pWriter); + xmlTextWriterEndElement(pWriter); + xmlTextWriterEndElement(pWriter); + } + MarkBase::~MarkBase() { } diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx index 95e29564a6cd..024fbd55b24e 100644 --- a/sw/source/core/doc/docbm.cxx +++ b/sw/source/core/doc/docbm.cxx @@ -1146,18 +1146,7 @@ void MarkManager::dumpAsXml(xmlTextWriterPtr pWriter) const { xmlTextWriterStartElement(pWriter, BAD_CAST("bookmarks")); for (const_iterator_t it = m_vBookmarks.begin(); it != m_vBookmarks.end(); ++it) - { - pMark_t pMark = *it; - xmlTextWriterStartElement(pWriter, BAD_CAST("bookmark")); - xmlTextWriterWriteAttribute(pWriter, BAD_CAST("name"), BAD_CAST(pMark->GetName().toUtf8().getStr())); - xmlTextWriterStartElement(pWriter, BAD_CAST("markPos")); - pMark->GetMarkPos().dumpAsXml(pWriter); - xmlTextWriterEndElement(pWriter); - xmlTextWriterStartElement(pWriter, BAD_CAST("otherMarkPos")); - pMark->GetOtherMarkPos().dumpAsXml(pWriter); - xmlTextWriterEndElement(pWriter); - xmlTextWriterEndElement(pWriter); - } + (*it)->dumpAsXml(pWriter); xmlTextWriterEndElement(pWriter); } @@ -1168,13 +1157,7 @@ void MarkManager::dumpAsXml(xmlTextWriterPtr pWriter) const { pMark_t pMark = *it; xmlTextWriterStartElement(pWriter, BAD_CAST("fieldmark")); - xmlTextWriterWriteAttribute(pWriter, BAD_CAST("name"), BAD_CAST(pMark->GetName().toUtf8().getStr())); - xmlTextWriterStartElement(pWriter, BAD_CAST("markPos")); - pMark->GetMarkPos().dumpAsXml(pWriter); - xmlTextWriterEndElement(pWriter); - xmlTextWriterStartElement(pWriter, BAD_CAST("otherMarkPos")); - pMark->GetOtherMarkPos().dumpAsXml(pWriter); - xmlTextWriterEndElement(pWriter); + pMark->dumpAsXml(pWriter); if (sw::mark::IFieldmark* pFieldmark = dynamic_cast<sw::mark::IFieldmark*>(pMark.get())) { sw::mark::IFieldmark::parameter_map_t* pParameters = pFieldmark->GetParameters(); @@ -1200,18 +1183,7 @@ void MarkManager::dumpAsXml(xmlTextWriterPtr pWriter) const { xmlTextWriterStartElement(pWriter, BAD_CAST("annotationmarks")); for (const_iterator_t it = m_vAnnotationMarks.begin(); it != m_vAnnotationMarks.end(); ++it) - { - pMark_t pMark = *it; - xmlTextWriterStartElement(pWriter, BAD_CAST("annotationmark")); - xmlTextWriterWriteAttribute(pWriter, BAD_CAST("name"), BAD_CAST(pMark->GetName().toUtf8().getStr())); - xmlTextWriterStartElement(pWriter, BAD_CAST("markPos")); - pMark->GetMarkPos().dumpAsXml(pWriter); - xmlTextWriterEndElement(pWriter); - xmlTextWriterStartElement(pWriter, BAD_CAST("otherMarkPos")); - pMark->GetOtherMarkPos().dumpAsXml(pWriter); - xmlTextWriterEndElement(pWriter); - xmlTextWriterEndElement(pWriter); - } + (*it)->dumpAsXml(pWriter); xmlTextWriterEndElement(pWriter); } xmlTextWriterEndElement(pWriter); diff --git a/sw/source/core/inc/bookmrk.hxx b/sw/source/core/inc/bookmrk.hxx index f2891f4defab..676bf8105802 100644 --- a/sw/source/core/inc/bookmrk.hxx +++ b/sw/source/core/inc/bookmrk.hxx @@ -88,6 +88,7 @@ namespace sw { { m_pPos2.reset(); } virtual OUString ToString( ) const SAL_OVERRIDE; + virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE; void Swap() { |