Factor out SfxStringItem::dumpAsXml() from sw
Change-Id: If218d83297bfdd39471d5502c0639248c96af9c6
This commit is contained in:
@@ -41,6 +41,8 @@ public:
|
||||
virtual SvStream & Store(SvStream & rStream, sal_uInt16) const SAL_OVERRIDE;
|
||||
|
||||
virtual SfxPoolItem * Clone(SfxItemPool * = 0) const SAL_OVERRIDE;
|
||||
|
||||
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
|
||||
};
|
||||
|
||||
#endif // INCLUDED_SVL_STRITEM_HXX
|
||||
|
@@ -19,7 +19,7 @@
|
||||
|
||||
#include <svl/stritem.hxx>
|
||||
#include <stringio.hxx>
|
||||
|
||||
#include <libxml/xmlwriter.h>
|
||||
|
||||
// class SfxStringItem
|
||||
|
||||
@@ -53,4 +53,12 @@ SfxPoolItem * SfxStringItem::Clone(SfxItemPool *) const
|
||||
return new SfxStringItem(*this);
|
||||
}
|
||||
|
||||
void SfxStringItem::dumpAsXml(xmlTextWriterPtr pWriter) const
|
||||
{
|
||||
xmlTextWriterStartElement(pWriter, BAD_CAST("sfxStringItem"));
|
||||
xmlTextWriterWriteAttribute(pWriter, BAD_CAST("whichId"), BAD_CAST(OString::number(Which()).getStr()));
|
||||
xmlTextWriterWriteAttribute(pWriter, BAD_CAST("value"), BAD_CAST(GetValue().toUtf8().getStr()));
|
||||
xmlTextWriterEndElement(pWriter);
|
||||
}
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||
|
@@ -502,6 +502,10 @@ void lcl_dumpSfxItemSet(WriterHelper& writer, const SfxItemSet* pSet)
|
||||
case RES_PAGEDESC:
|
||||
static_cast<const SwFmtPageDesc*>(pItem)->dumpAsXml(writer);
|
||||
break;
|
||||
case RES_FRMATR_CONDITIONAL_STYLE_NAME:
|
||||
case RES_FRMATR_STYLE_NAME:
|
||||
static_cast<const SfxStringItem*>(pItem)->dumpAsXml(writer);
|
||||
break;
|
||||
default: bDone = false; break;
|
||||
}
|
||||
if (bDone)
|
||||
@@ -512,31 +516,8 @@ void lcl_dumpSfxItemSet(WriterHelper& writer, const SfxItemSet* pSet)
|
||||
|
||||
writer.startElement("item");
|
||||
writer.writeFormatAttribute("whichId", TMP_FORMAT, pItem->Which());
|
||||
const char* pWhich = 0;
|
||||
boost::optional<OString> oValue;
|
||||
switch (pItem->Which())
|
||||
{
|
||||
case RES_FRMATR_STYLE_NAME:
|
||||
{
|
||||
pWhich = "frame style name";
|
||||
const SfxStringItem* pStringItem = static_cast<const SfxStringItem*>(pItem);
|
||||
oValue = "name: " + OUStringToOString(pStringItem->GetValue(), RTL_TEXTENCODING_UTF8);
|
||||
break;
|
||||
}
|
||||
case RES_FRMATR_CONDITIONAL_STYLE_NAME:
|
||||
{
|
||||
pWhich = "frame conditional style name";
|
||||
const SfxStringItem* pStringItem = static_cast<const SfxStringItem*>(pItem);
|
||||
oValue = "name: " + OUStringToOString(pStringItem->GetValue(), RTL_TEXTENCODING_UTF8);
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (pWhich)
|
||||
writer.writeFormatAttribute("which", "%s", BAD_CAST(pWhich));
|
||||
if (oValue)
|
||||
writer.writeFormatAttribute("value", "%s", BAD_CAST(oValue->getStr()));
|
||||
pItem = aIter.NextItem();
|
||||
writer.endElement();
|
||||
pItem = aIter.NextItem();
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user