[Libreoffice-commits] core.git: include/svx svx/source sw/source
Miklos Vajna
vmiklos at collabora.co.uk
Wed Dec 3 00:08:28 PST 2014
include/svx/svdmodel.hxx | 2 ++
svx/source/svdraw/svdmodel.cxx | 16 ++++++++++++++++
sw/source/core/docnode/nodedump.cxx | 15 ++-------------
3 files changed, 20 insertions(+), 13 deletions(-)
New commits:
commit 1801b559e1234cf1f43a414df38bb47fe81f087a
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Wed Dec 3 09:07:41 2014 +0100
Factor out SdrModel::dumpAsXml() from SwDoc::dumpAsXml()
Change-Id: Ic2cc6507390edfd0bc5a38b655a3b652fd5ec33e
diff --git a/include/svx/svdmodel.hxx b/include/svx/svdmodel.hxx
index 3e4b31e..037cf60 100644
--- a/include/svx/svdmodel.hxx
+++ b/include/svx/svdmodel.hxx
@@ -666,6 +666,8 @@ public:
This returns false if undo was disabled using EnableUndo( false ) and
also during the runtime of the Undo() and Redo() methods. */
bool IsUndoEnabled() const;
+
+ void dumpAsXml(struct _xmlTextWriter* pWriter) const;
};
typedef tools::WeakReference< SdrModel > SdrModelWeakRef;
diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx
index fe81f4f..f2c0f9e 100644
--- a/svx/source/svdraw/svdmodel.cxx
+++ b/svx/source/svdraw/svdmodel.cxx
@@ -87,6 +87,7 @@
#include <vcl/settings.hxx>
#include <vcl/svapp.hxx>
#include <boost/scoped_array.hpp>
+#include <libxml/xmlwriter.h>
using namespace ::com::sun::star;
using namespace ::com::sun::star::uno;
@@ -2014,6 +2015,21 @@ void SdrModel::SetSdrUndoFactory( SdrUndoFactory* pUndoFactory )
}
}
+void SdrModel::dumpAsXml(xmlTextWriterPtr pWriter) const
+{
+ xmlTextWriterStartElement(pWriter, BAD_CAST("sdrModel"));
+ xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("ptr"), "%p", this);
+
+ sal_uInt16 nPageCount = GetPageCount();
+ for (sal_uInt16 i = 0; i < nPageCount; ++i)
+ {
+ if (const SdrPage* pPage = GetPage(i))
+ pPage->dumpAsXml(pWriter);
+ }
+
+ xmlTextWriterEndElement(pWriter);
+}
+
namespace
{
class theSdrModelUnoTunnelImplementationId : public rtl::Static< UnoTunnelIdInit, theSdrModelUnoTunnelImplementationId > {};
diff --git a/sw/source/core/docnode/nodedump.cxx b/sw/source/core/docnode/nodedump.cxx
index 97352e9..190f753 100644
--- a/sw/source/core/docnode/nodedump.cxx
+++ b/sw/source/core/docnode/nodedump.cxx
@@ -133,18 +133,6 @@ static const char* TMP_FORMAT_I32 = "%" SAL_PRIdINT32;
void lcl_dumpSfxItemSet(WriterHelper& writer, const SfxItemSet* pSet);
-void lcl_dumpSdrModel(WriterHelper& writer, const SdrModel* pModel)
-{
- writer.startElement("sdrModel");
- writer.writeFormatAttribute("ptr", "%p", pModel);
- if (pModel)
- {
- if (const SdrPage* pPage = pModel->GetPage(0))
- pPage->dumpAsXml(writer);
- }
- writer.endElement();
-}
-
void SwDoc::dumpAsXml( xmlTextWriterPtr w ) const
{
WriterHelper writer( w );
@@ -162,7 +150,8 @@ void SwDoc::dumpAsXml( xmlTextWriterPtr w ) const
mpNumRuleTbl->dumpAsXml( writer );
getIDocumentRedlineAccess().GetRedlineTbl().dumpAsXml( writer );
getIDocumentRedlineAccess().GetExtraRedlineTbl().dumpAsXml( writer );
- lcl_dumpSdrModel( writer, getIDocumentDrawModelAccess().GetDrawModel() );
+ if (const SdrModel* pModel = getIDocumentDrawModelAccess().GetDrawModel())
+ pModel->dumpAsXml(writer);
writer.startElement("mbModified");
writer.writeFormatAttribute("value", TMP_FORMAT, static_cast<int>(getIDocumentState().IsModified()));
More information about the Libreoffice-commits
mailing list