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 SvStream & Store(SvStream & rStream, sal_uInt16) const SAL_OVERRIDE;
|
||||||
|
|
||||||
virtual SfxPoolItem * Clone(SfxItemPool * = 0) const SAL_OVERRIDE;
|
virtual SfxPoolItem * Clone(SfxItemPool * = 0) const SAL_OVERRIDE;
|
||||||
|
|
||||||
|
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INCLUDED_SVL_STRITEM_HXX
|
#endif // INCLUDED_SVL_STRITEM_HXX
|
||||||
|
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#include <svl/stritem.hxx>
|
#include <svl/stritem.hxx>
|
||||||
#include <stringio.hxx>
|
#include <stringio.hxx>
|
||||||
|
#include <libxml/xmlwriter.h>
|
||||||
|
|
||||||
// class SfxStringItem
|
// class SfxStringItem
|
||||||
|
|
||||||
@@ -53,4 +53,12 @@ SfxPoolItem * SfxStringItem::Clone(SfxItemPool *) const
|
|||||||
return new SfxStringItem(*this);
|
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: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -502,6 +502,10 @@ void lcl_dumpSfxItemSet(WriterHelper& writer, const SfxItemSet* pSet)
|
|||||||
case RES_PAGEDESC:
|
case RES_PAGEDESC:
|
||||||
static_cast<const SwFmtPageDesc*>(pItem)->dumpAsXml(writer);
|
static_cast<const SwFmtPageDesc*>(pItem)->dumpAsXml(writer);
|
||||||
break;
|
break;
|
||||||
|
case RES_FRMATR_CONDITIONAL_STYLE_NAME:
|
||||||
|
case RES_FRMATR_STYLE_NAME:
|
||||||
|
static_cast<const SfxStringItem*>(pItem)->dumpAsXml(writer);
|
||||||
|
break;
|
||||||
default: bDone = false; break;
|
default: bDone = false; break;
|
||||||
}
|
}
|
||||||
if (bDone)
|
if (bDone)
|
||||||
@@ -512,31 +516,8 @@ void lcl_dumpSfxItemSet(WriterHelper& writer, const SfxItemSet* pSet)
|
|||||||
|
|
||||||
writer.startElement("item");
|
writer.startElement("item");
|
||||||
writer.writeFormatAttribute("whichId", TMP_FORMAT, pItem->Which());
|
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();
|
writer.endElement();
|
||||||
|
pItem = aIter.NextItem();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user