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

sw doc model xml dump: show comment text

(cherry picked from commit 9b504ad3)

Conflicts:
	sw/inc/docufld.hxx

Change-Id: If15ca89f2b7c54441f076eb233c4e1414dac25c0
üst a3afe96c
...@@ -487,6 +487,7 @@ public: ...@@ -487,6 +487,7 @@ public:
virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt16 nWhich ) const SAL_OVERRIDE; virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt16 nWhich ) const SAL_OVERRIDE;
virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt16 nWhich ) SAL_OVERRIDE; virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt16 nWhich ) SAL_OVERRIDE;
virtual OUString GetDescription() const SAL_OVERRIDE; virtual OUString GetDescription() const SAL_OVERRIDE;
virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
}; };
class SwDocInfoFieldType : public SwValueFieldType class SwDocInfoFieldType : public SwValueFieldType
......
...@@ -365,6 +365,7 @@ public: ...@@ -365,6 +365,7 @@ public:
virtual OUString GetDescription() const; virtual OUString GetDescription() const;
/// Is this field clickable? /// Is this field clickable?
bool IsClickable() const; bool IsClickable() const;
virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const;
}; };
inline SwFieldType* SwField::GetTyp() const inline SwFieldType* SwField::GetTyp() const
......
...@@ -115,6 +115,7 @@ public: ...@@ -115,6 +115,7 @@ public:
SAL_DLLPRIVATE void SetXTextField(::com::sun::star::uno::Reference< SAL_DLLPRIVATE void SetXTextField(::com::sun::star::uno::Reference<
::com::sun::star::text::XTextField> const& xTextField) ::com::sun::star::text::XTextField> const& xTextField)
{ m_wXTextField = xTextField; } { m_wXTextField = xTextField; }
void dumpAsXml(struct _xmlTextWriter* pWriter) const override;
}; };
enum class SwFormatFieldHintWhich enum class SwFormatFieldHintWhich
......
...@@ -1833,6 +1833,21 @@ bool SwPostItField::PutValue( const uno::Any& rAny, sal_uInt16 nWhichId ) ...@@ -1833,6 +1833,21 @@ bool SwPostItField::PutValue( const uno::Any& rAny, sal_uInt16 nWhichId )
return true; return true;
} }
void SwPostItField::dumpAsXml(xmlTextWriterPtr pWriter) const
{
xmlTextWriterStartElement(pWriter, BAD_CAST("swPostItField"));
xmlTextWriterWriteAttribute(pWriter, BAD_CAST("name"), BAD_CAST(GetName().toUtf8().getStr()));
SwField::dumpAsXml(pWriter);
xmlTextWriterStartElement(pWriter, BAD_CAST("mpText"));
OutlinerParaObject aParaObject(*mpText);
aParaObject.dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
xmlTextWriterEndElement(pWriter);
}
// extended user information field type // extended user information field type
SwExtUserFieldType::SwExtUserFieldType() SwExtUserFieldType::SwExtUserFieldType()
......
...@@ -162,24 +162,8 @@ void SwFieldTypes::dumpAsXml(xmlTextWriterPtr pWriter) const ...@@ -162,24 +162,8 @@ void SwFieldTypes::dumpAsXml(xmlTextWriterPtr pWriter) const
{ {
const SwFieldType *pCurType = (*this)[nType]; const SwFieldType *pCurType = (*this)[nType];
SwIterator<SwFormatField, SwFieldType> aIter(*pCurType); SwIterator<SwFormatField, SwFieldType> aIter(*pCurType);
for (const SwFormatField* pCurFieldFormat = aIter.First(); pCurFieldFormat; pCurFieldFormat = aIter.Next()) for (const SwFormatField* pFormatField = aIter.First(); pFormatField; pFormatField = aIter.Next())
{ pFormatField->dumpAsXml(pWriter);
xmlTextWriterStartElement(pWriter, BAD_CAST("swFormatField"));
xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("ptr"), "%p", pCurFieldFormat);
xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("txtField"), "%p", pCurFieldFormat->GetTextField());
xmlTextWriterStartElement(pWriter, BAD_CAST("swField"));
xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("symbol"), "%s", BAD_CAST(typeid(*pCurFieldFormat->GetField()).name()));
xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("ptr"), "%p", pCurFieldFormat->GetField());
if (pCurFieldFormat->GetField()->GetTyp()->Which() == RES_POSTITFLD)
{
const SwPostItField* pField = static_cast<const SwPostItField*>(pCurFieldFormat->GetField());
xmlTextWriterWriteAttribute(pWriter, BAD_CAST("name"), BAD_CAST(pField->GetName().toUtf8().getStr()));
}
xmlTextWriterEndElement(pWriter);
xmlTextWriterEndElement(pWriter);
}
} }
xmlTextWriterEndElement(pWriter); xmlTextWriterEndElement(pWriter);
} }
...@@ -774,4 +758,13 @@ bool SwField::IsClickable() const ...@@ -774,4 +758,13 @@ bool SwField::IsClickable() const
return false; return false;
} }
void SwField::dumpAsXml(xmlTextWriterPtr pWriter) const
{
xmlTextWriterStartElement(pWriter, BAD_CAST("swField"));
xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("symbol"), "%s", BAD_CAST(typeid(*this).name()));
xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("ptr"), "%p", this);
xmlTextWriterEndElement(pWriter);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -17,8 +17,11 @@ ...@@ -17,8 +17,11 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 . * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/ */
#include "fldbas.hxx"
#include <fmtfld.hxx> #include <fmtfld.hxx>
#include <libxml/xmlwriter.h>
#include "fldbas.hxx"
#include <txtfld.hxx> #include <txtfld.hxx>
#include <txtannotationfld.hxx> #include <txtannotationfld.hxx>
#include <docfld.hxx> #include <docfld.hxx>
...@@ -330,6 +333,18 @@ bool SwFormatField::IsProtect() const ...@@ -330,6 +333,18 @@ bool SwFormatField::IsProtect() const
&& mpTextField->GetpTextNode()->IsProtect(); && mpTextField->GetpTextNode()->IsProtect();
} }
void SwFormatField::dumpAsXml(xmlTextWriterPtr pWriter) const
{
xmlTextWriterStartElement(pWriter, BAD_CAST("swFormatField"));
xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("ptr"), "%p", this);
xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("mpTextField"), "%p", mpTextField);
SfxPoolItem::dumpAsXml(pWriter);
GetField()->dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
}
// class SwTextField //////////////////////////////////////////////////// // class SwTextField ////////////////////////////////////////////////////
SwTextField::SwTextField( SwTextField::SwTextField(
......
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