impress: extend dumpAsXml to table cell and styles

Change-Id: If11ca945cae4f5127394dcc3871f4b6a76c24fac
This commit is contained in:
Noel Grandin
2016-09-12 11:10:18 +02:00
parent ab6dcd326a
commit 1d7dd96e31
9 changed files with 55 additions and 3 deletions

View File

@@ -23,6 +23,7 @@
#include <svx/sdr/properties/properties.hxx> #include <svx/sdr/properties/properties.hxx>
#include <svx/svxdllapi.h> #include <svx/svxdllapi.h>
struct _xmlTextWriter;
namespace sdr namespace sdr
{ {
@@ -59,6 +60,8 @@ namespace sdr
// destructor // destructor
virtual ~DefaultProperties(); virtual ~DefaultProperties();
void dumpAsXml(struct _xmlTextWriter * pWriter) const;
// Clone() operator, normally just calls the local copy constructor // Clone() operator, normally just calls the local copy constructor
virtual BaseProperties& Clone(SdrObject& rObj) const override; virtual BaseProperties& Clone(SdrObject& rObj) const override;

View File

@@ -65,6 +65,8 @@ public:
/** returns the current OutlinerParaObject and removes it from this instance */ /** returns the current OutlinerParaObject and removes it from this instance */
OutlinerParaObject* RemoveOutlinerParaObject(); OutlinerParaObject* RemoveOutlinerParaObject();
void dumpAsXml(struct _xmlTextWriter * pWriter) const;
protected: protected:
virtual const SfxItemSet& GetObjectItemSet(); virtual const SfxItemSet& GetObjectItemSet();
virtual void SetObjectItem(const SfxPoolItem& rItem); virtual void SetObjectItem(const SfxPoolItem& rItem);

View File

@@ -28,6 +28,7 @@
#include <svx/svddef.hxx> #include <svx/svddef.hxx>
#include <svx/svdpool.hxx> #include <svx/svdpool.hxx>
#include <editeng/eeitem.hxx> #include <editeng/eeitem.hxx>
#include <libxml/xmlwriter.h>
namespace sdr namespace sdr
@@ -218,6 +219,13 @@ namespace sdr
ScaleItemSet(*mpItemSet, rScale); ScaleItemSet(*mpItemSet, rScale);
} }
} }
void DefaultProperties::dumpAsXml(struct _xmlTextWriter * pWriter) const
{
xmlTextWriterStartElement(pWriter, BAD_CAST("defaultProperties"));
mpItemSet->dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
}
} // end of namespace properties } // end of namespace properties
} // end of namespace sdr } // end of namespace sdr

View File

@@ -25,6 +25,7 @@
#include "editeng/fhgtitem.hxx" #include "editeng/fhgtitem.hxx"
#include <editeng/eeitem.hxx> #include <editeng/eeitem.hxx>
#include <svl/itemset.hxx> #include <svl/itemset.hxx>
#include <libxml/xmlwriter.h>
#include <memory> #include <memory>
SdrText::SdrText( SdrTextObj& rObject, OutlinerParaObject* pOutlinerParaObject /* = 0 */ ) SdrText::SdrText( SdrTextObj& rObject, OutlinerParaObject* pOutlinerParaObject /* = 0 */ )
@@ -201,4 +202,11 @@ SfxStyleSheet* SdrText::GetStyleSheet() const
return mrObject.GetStyleSheet(); return mrObject.GetStyleSheet();
} }
void SdrText::dumpAsXml(struct _xmlTextWriter * pWriter) const
{
xmlTextWriterStartElement(pWriter, BAD_CAST("sdrText"));
mpOutlinerParaObject->dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -34,6 +34,7 @@
#include <osl/mutex.hxx> #include <osl/mutex.hxx>
#include <vcl/svapp.hxx> #include <vcl/svapp.hxx>
#include <libxml/xmlwriter.h>
#include "sdr/properties/textproperties.hxx" #include "sdr/properties/textproperties.hxx"
#include "editeng/outlobj.hxx" #include "editeng/outlobj.hxx"
@@ -1671,6 +1672,18 @@ void SAL_CALL Cell::disposing( const EventObject& /*Source*/ ) throw (RuntimeExc
dispose(); dispose();
} }
void Cell::dumpAsXml(struct _xmlTextWriter * pWriter, sal_Int32 nRow, sal_Int32 nCol) const
{
xmlTextWriterStartElement(pWriter, BAD_CAST("cell"));
xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("row"), "%" SAL_PRIdINT32, nRow);
xmlTextWriterWriteFormatAttribute(pWriter, BAD_CAST("col"), "%" SAL_PRIdINT32, nCol);
SdrText::dumpAsXml(pWriter);
//SvxUnoTextBase::dumpAsXml(pWriter);
//mpPropSet->dumpAsXml(pWriter);
mpProperties->dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter);
}
} } } }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -194,6 +194,8 @@ public:
SVX_DLLPRIVATE void notifyModified(); SVX_DLLPRIVATE void notifyModified();
void dumpAsXml(struct _xmlTextWriter * pWriter, sal_Int32 nRow, sal_Int32 nCol) const;
protected: protected:
SVX_DLLPRIVATE virtual const SfxItemSet& GetObjectItemSet() override; SVX_DLLPRIVATE virtual const SfxItemSet& GetObjectItemSet() override;
SVX_DLLPRIVATE virtual void SetObjectItem(const SfxPoolItem& rItem) override; SVX_DLLPRIVATE virtual void SetObjectItem(const SfxPoolItem& rItem) override;
@@ -213,14 +215,14 @@ private:
css::table::CellContentType mnCellContentType; css::table::CellContentType mnCellContentType;
OUString msFormula; OUString msFormula;
double mfValue; double mfValue;
::sal_Int32 mnError; ::sal_Int32 mnError;
bool mbMerged; bool mbMerged;
::sal_Int32 mnRowSpan; ::sal_Int32 mnRowSpan;
::sal_Int32 mnColSpan; ::sal_Int32 mnColSpan;
Rectangle maCellRect; Rectangle maCellRect;
css::uno::Reference< css::table::XTable > mxTable; css::uno::Reference< css::table::XTable > mxTable;
}; };

View File

@@ -635,6 +635,7 @@ void SdrTableObjImpl::dumpAsXml(xmlTextWriterPtr pWriter) const
xmlTextWriterStartElement(pWriter, BAD_CAST("sdrTableObjImpl")); xmlTextWriterStartElement(pWriter, BAD_CAST("sdrTableObjImpl"));
if (mpLayouter) if (mpLayouter)
mpLayouter->dumpAsXml(pWriter); mpLayouter->dumpAsXml(pWriter);
mxTable->dumpAsXml(pWriter);
xmlTextWriterEndElement(pWriter); xmlTextWriterEndElement(pWriter);
} }

View File

@@ -24,6 +24,7 @@
#include <vcl/svapp.hxx> #include <vcl/svapp.hxx>
#include <osl/mutex.hxx> #include <osl/mutex.hxx>
#include <libxml/xmlwriter.h>
#include "cell.hxx" #include "cell.hxx"
#include "cellcursor.hxx" #include "cellcursor.hxx"
@@ -1123,6 +1124,17 @@ void TableModel::updateColumns()
} }
} }
void TableModel::dumpAsXml(struct _xmlTextWriter * pWriter) const
{
xmlTextWriterStartElement(pWriter, BAD_CAST("tableModel"));
for (sal_Int32 nRow = 0; nRow < getRowCountImpl(); ++nRow)
for (sal_Int32 nCol = 0; nCol < getColumnCountImpl(); ++nCol)
{
maRows[nRow]->maCells[nCol]->dumpAsXml(pWriter, nRow, nCol);
}
xmlTextWriterEndElement(pWriter);
}
} } } }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -30,6 +30,7 @@
#include <comphelper/listenernotification.hxx> #include <comphelper/listenernotification.hxx>
#include "celltypes.hxx" #include "celltypes.hxx"
struct _xmlTextWriter;
namespace sdr { namespace table { namespace sdr { namespace table {
@@ -84,6 +85,8 @@ public:
/// Get the width of all columns in this table. /// Get the width of all columns in this table.
std::vector<sal_Int32> getColumnWidths(); std::vector<sal_Int32> getColumnWidths();
void dumpAsXml(struct _xmlTextWriter * pWriter) const;
// ICellRange // ICellRange
virtual sal_Int32 getLeft() override; virtual sal_Int32 getLeft() override;
virtual sal_Int32 getTop() override; virtual sal_Int32 getTop() override;