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

Get rid of copy&paste in MarkManager

Change-Id: I4d0ec50ee2e2099630e88b0fd086abddafc5873d
üst 68deef11
......@@ -1135,29 +1135,27 @@ namespace sw { namespace mark
void MarkManager::dumpAsXml(xmlTextWriterPtr pWriter) const
{
xmlTextWriterStartElement(pWriter, BAD_CAST("markManager"));
if (!m_vBookmarks.empty())
struct
{
xmlTextWriterStartElement(pWriter, BAD_CAST("bookmarks"));
for (const_iterator_t it = m_vBookmarks.begin(); it != m_vBookmarks.end(); ++it)
(*it)->dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
}
if (!m_vFieldmarks.empty())
const char* pName;
const container_t& rContainer;
} aContainers[] =
{
xmlTextWriterStartElement(pWriter, BAD_CAST("fieldmarks"));
for (const_iterator_t it = m_vFieldmarks.begin(); it != m_vFieldmarks.end(); ++it)
(*it)->dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
}
{"bookmarks", m_vBookmarks},
{"fieldmarks", m_vFieldmarks},
{"annotationmarks", m_vAnnotationMarks}
};
if (!m_vAnnotationMarks.empty())
xmlTextWriterStartElement(pWriter, BAD_CAST("markManager"));
for (size_t i = 0; i < SAL_N_ELEMENTS(aContainers); ++i)
{
xmlTextWriterStartElement(pWriter, BAD_CAST("annotationmarks"));
for (const_iterator_t it = m_vAnnotationMarks.begin(); it != m_vAnnotationMarks.end(); ++it)
(*it)->dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
if (!aContainers[i].rContainer.empty())
{
xmlTextWriterStartElement(pWriter, BAD_CAST(aContainers[i].pName));
for (const_iterator_t it = aContainers[i].rContainer.begin(); it != aContainers[i].rContainer.end(); ++it)
(*it)->dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
}
}
xmlTextWriterEndElement(pWriter);
}
......
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