Kaydet (Commit) 607ad597 authored tarafından Miklos Vajna's avatar Miklos Vajna

Extract MarkBase::dumpAsXml() from MarkManager

Change-Id: I85589d304dad05581bb2013166bb22f6b46cc793
üst 69d7bdfb
...@@ -68,6 +68,7 @@ namespace sw { namespace mark ...@@ -68,6 +68,7 @@ namespace sw { namespace mark
{ return GetMarkEnd() > rPos; } { return GetMarkEnd() > rPos; }
virtual OUString ToString( ) const =0; virtual OUString ToString( ) const =0;
virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const = 0;
}; };
class SW_DLLPUBLIC IBookmark class SW_DLLPUBLIC IBookmark
......
...@@ -32,6 +32,7 @@ ...@@ -32,6 +32,7 @@
#include <unobookmark.hxx> #include <unobookmark.hxx>
#include <rtl/random.h> #include <rtl/random.h>
#include <xmloff/odffields.hxx> #include <xmloff/odffields.hxx>
#include <libxml/xmlwriter.h>
using namespace ::sw::mark; using namespace ::sw::mark;
using namespace ::com::sun::star; using namespace ::com::sun::star;
...@@ -173,6 +174,19 @@ namespace sw { namespace mark ...@@ -173,6 +174,19 @@ namespace sw { namespace mark
+ OUString::number( GetMarkPos().nContent.GetIndex( ) ) + " ] )"; + 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() MarkBase::~MarkBase()
{ } { }
......
...@@ -1146,18 +1146,7 @@ void MarkManager::dumpAsXml(xmlTextWriterPtr pWriter) const ...@@ -1146,18 +1146,7 @@ void MarkManager::dumpAsXml(xmlTextWriterPtr pWriter) const
{ {
xmlTextWriterStartElement(pWriter, BAD_CAST("bookmarks")); xmlTextWriterStartElement(pWriter, BAD_CAST("bookmarks"));
for (const_iterator_t it = m_vBookmarks.begin(); it != m_vBookmarks.end(); ++it) for (const_iterator_t it = m_vBookmarks.begin(); it != m_vBookmarks.end(); ++it)
{ (*it)->dumpAsXml(pWriter);
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);
}
xmlTextWriterEndElement(pWriter); xmlTextWriterEndElement(pWriter);
} }
...@@ -1168,13 +1157,7 @@ void MarkManager::dumpAsXml(xmlTextWriterPtr pWriter) const ...@@ -1168,13 +1157,7 @@ void MarkManager::dumpAsXml(xmlTextWriterPtr pWriter) const
{ {
pMark_t pMark = *it; pMark_t pMark = *it;
xmlTextWriterStartElement(pWriter, BAD_CAST("fieldmark")); xmlTextWriterStartElement(pWriter, BAD_CAST("fieldmark"));
xmlTextWriterWriteAttribute(pWriter, BAD_CAST("name"), BAD_CAST(pMark->GetName().toUtf8().getStr())); pMark->dumpAsXml(pWriter);
xmlTextWriterStartElement(pWriter, BAD_CAST("markPos"));
pMark->GetMarkPos().dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
xmlTextWriterStartElement(pWriter, BAD_CAST("otherMarkPos"));
pMark->GetOtherMarkPos().dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
if (sw::mark::IFieldmark* pFieldmark = dynamic_cast<sw::mark::IFieldmark*>(pMark.get())) if (sw::mark::IFieldmark* pFieldmark = dynamic_cast<sw::mark::IFieldmark*>(pMark.get()))
{ {
sw::mark::IFieldmark::parameter_map_t* pParameters = pFieldmark->GetParameters(); sw::mark::IFieldmark::parameter_map_t* pParameters = pFieldmark->GetParameters();
...@@ -1200,18 +1183,7 @@ void MarkManager::dumpAsXml(xmlTextWriterPtr pWriter) const ...@@ -1200,18 +1183,7 @@ void MarkManager::dumpAsXml(xmlTextWriterPtr pWriter) const
{ {
xmlTextWriterStartElement(pWriter, BAD_CAST("annotationmarks")); xmlTextWriterStartElement(pWriter, BAD_CAST("annotationmarks"));
for (const_iterator_t it = m_vAnnotationMarks.begin(); it != m_vAnnotationMarks.end(); ++it) for (const_iterator_t it = m_vAnnotationMarks.begin(); it != m_vAnnotationMarks.end(); ++it)
{ (*it)->dumpAsXml(pWriter);
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);
}
xmlTextWriterEndElement(pWriter); xmlTextWriterEndElement(pWriter);
} }
xmlTextWriterEndElement(pWriter); xmlTextWriterEndElement(pWriter);
......
...@@ -88,6 +88,7 @@ namespace sw { ...@@ -88,6 +88,7 @@ namespace sw {
{ m_pPos2.reset(); } { m_pPos2.reset(); }
virtual OUString ToString( ) const SAL_OVERRIDE; virtual OUString ToString( ) const SAL_OVERRIDE;
virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
void Swap() void Swap()
{ {
......
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