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

Add SwPaM::dumpAsXml()

To avoid code duplication in SwRangeRedline::dumpAsXml() and
SwFrm::dumpAsXml().

Change-Id: Ic473cd77e960041b035b147dd31c16b141cc7cbe
üst b09c594f
......@@ -315,6 +315,8 @@ public:
{ return GetPrevInRing(); }
bool IsMultiSelection() const
{ return !unique(); }
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
};
std::ostream &operator <<(std::ostream& s, const SwPaM& pam);
......
......@@ -1098,6 +1098,24 @@ void SwPaM::InvalidatePaM()
}
}
void SwPaM::dumpAsXml(xmlTextWriterPtr pWriter) const
{
xmlTextWriterStartElement(pWriter, BAD_CAST("swPaM"));
xmlTextWriterStartElement(pWriter, BAD_CAST("point"));
GetPoint()->dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
if (HasMark())
{
xmlTextWriterStartElement(pWriter, BAD_CAST("mark"));
GetMark()->dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
}
xmlTextWriterEndElement(pWriter);
}
std::ostream &operator <<(std::ostream& s, const SwPaM& pam)
{
if( pam.HasMark())
......
......@@ -1640,12 +1640,7 @@ void SwRangeRedline::dumpAsXml(xmlTextWriterPtr pWriter) const
}
xmlTextWriterWriteAttribute(pWriter, BAD_CAST("type"), BAD_CAST(sRedlineType.getStr()));
xmlTextWriterStartElement(pWriter, BAD_CAST("point"));
GetPoint()->dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
xmlTextWriterStartElement(pWriter, BAD_CAST("mark"));
GetMark()->dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
SwPaM::dumpAsXml(pWriter);
const SwRedlineExtraData* pExtraRedlineData = GetExtraData();
xmlTextWriterStartElement(pWriter, BAD_CAST("swRedlineExtraData"));
......
......@@ -299,16 +299,8 @@ void SwFrm::dumpAsXml( xmlTextWriterPtr writer ) const
const SwRootFrm* const pRootFrm = static_cast<const SwRootFrm* const>(this);
SwEditShell* pEditShell = pRootFrm->GetCurrShell()->GetDoc()->GetEditShell();
xmlTextWriterStartElement(writer, BAD_CAST("shellCrsr"));
for(SwPaM& rPaM : pEditShell->getShellCrsr(false)->GetRingContainer())
{
xmlTextWriterStartElement(writer, BAD_CAST("swpam"));
xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("pointNodeIndex"), "%ld", rPaM.GetPoint()->nNode.GetIndex());
xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("pointContentIndex"), "%" SAL_PRIdINT32, rPaM.GetPoint()->nContent.GetIndex());
xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("markNodeIndex"), "%ld", rPaM.GetMark()->nNode.GetIndex());
xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("markContentIndex"), "%" SAL_PRIdINT32, rPaM.GetMark()->nContent.GetIndex());
xmlTextWriterEndElement(writer);
}
for (SwPaM& rPaM : pEditShell->getShellCrsr(false)->GetRingContainer())
rPaM.dumpAsXml(writer);
xmlTextWriterEndElement(writer);
}
......
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