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

Factor out SfxPoolItem::dumpAsXml() from sw

The primary benefit of this is that it's no longer necessary to manually
downcast to each and every subclass in sw.

Change-Id: I5742d5744836eef192eef2d4f7ad180da67eb914
üst 5d47b83c
......@@ -128,7 +128,7 @@ public:
static WallpaperStyle GraphicPos2WallpaperStyle( SvxGraphicPosition ePos );
static sal_Int8 TransparencyToPercent(sal_Int32 nTrans);
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
#endif // INCLUDED_EDITENG_BRUSHITEM_HXX
......
......@@ -75,7 +75,7 @@ public:
bool IsFitToLine() const { return bFitToLine; }
void SetFitToLine( bool b ) { bFitToLine = b; }
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
#endif
......
......@@ -92,7 +92,7 @@ public:
SfxMapUnit GetPropUnit() const { return ePropUnit; } // Percent, Twip, ...
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
#endif
......
......@@ -87,7 +87,7 @@ public:
static void EnableStoreUnicodeNames( bool bEnable );
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
EDITENG_DLLPUBLIC void GetDefaultFonts( SvxFontItem& rLatin, SvxFontItem& rAsian,
......
......@@ -126,7 +126,7 @@ public:
{ return nPropFirstLineOfst; }
inline void SetTxtFirstLineOfstValue( const short nValue )
{ nFirstLineOfst = nValue; }
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline SvxLRSpaceItem &SvxLRSpaceItem::operator=( const SvxLRSpaceItem &rCpy )
......
......@@ -70,7 +70,7 @@ public:
void SetPosture( FontItalic eNew )
{ SetValue( (sal_uInt16)eNew ); }
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
#endif // INCLUDED_EDITENG_POSTITEM_HXX
......
......@@ -66,7 +66,7 @@ public:
virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const SAL_OVERRIDE;
virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) SAL_OVERRIDE;
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline SvxProtectItem::SvxProtectItem( const sal_uInt16 nId )
......
......@@ -30,7 +30,7 @@ public:
virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) const SAL_OVERRIDE;
virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId = 0 ) SAL_OVERRIDE;
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
#endif // INCLUDED_EDITENG_RSIDITEM_HXX
......@@ -83,7 +83,7 @@ public:
virtual OUString GetValueTextByPos( sal_uInt16 nPos ) const SAL_OVERRIDE;
virtual sal_uInt16 GetEnumValue() const SAL_OVERRIDE;
virtual void SetEnumValue( sal_uInt16 nNewVal ) SAL_OVERRIDE;
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline SvxShadowItem &SvxShadowItem::operator=( const SvxShadowItem& rFmtShadow )
......
......@@ -78,7 +78,7 @@ public:
bool GetContext() const { return bContext; }
sal_uInt16 GetPropUpper() const { return nPropUpper; }
sal_uInt16 GetPropLower() const { return nPropLower; }
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline SvxULSpaceItem &SvxULSpaceItem::operator=( const SvxULSpaceItem &rCpy )
......
......@@ -70,7 +70,7 @@ public:
void SetWeight( FontWeight eNew )
{ SetValue( (sal_uInt16)eNew ); }
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
#endif // INCLUDED_EDITENG_WGHTITEM_HXX
......
......@@ -115,7 +115,7 @@ public:
virtual SfxPoolItem * Clone(SfxItemPool * = 0) const SAL_OVERRIDE
{ return new SfxUInt16Item(*this); }
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
......
......@@ -194,6 +194,7 @@ public:
sal_uLong GetRefCount() const { return m_nRefCount; }
inline SfxItemKind GetKind() const { return m_nKind; }
virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const;
private:
SfxPoolItem& operator=( const SfxPoolItem& ); // not implemented!!
......
......@@ -42,7 +42,7 @@ public:
virtual SfxPoolItem * Clone(SfxItemPool * = 0) const SAL_OVERRIDE;
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
#endif // INCLUDED_SVL_STRITEM_HXX
......
......@@ -51,7 +51,7 @@ public:
virtual sal_uInt16 GetValueCount() const SAL_OVERRIDE;
css::drawing::FillStyle GetValue() const { return (css::drawing::FillStyle) SfxEnumItem::GetValue(); }
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
#endif
......
......@@ -41,7 +41,7 @@ public:
SVX_DLLPRIVATE virtual sal_uInt16 GetValueCount() const SAL_OVERRIDE;
SVX_DLLPRIVATE RECT_POINT GetValue() const { return (RECT_POINT) SfxEnumItem::GetValue(); }
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
......
......@@ -37,7 +37,7 @@ public:
SfxMapUnit eCoreMetric,
SfxMapUnit ePresMetric,
OUString &rText, const IntlWrapper * = 0 ) const SAL_OVERRIDE;
virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
#endif
......
......@@ -37,7 +37,7 @@ public:
SfxMapUnit eCoreMetric,
SfxMapUnit ePresMetric,
OUString &rText, const IntlWrapper * = 0 ) const SAL_OVERRIDE;
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
#endif
......
......@@ -41,7 +41,7 @@ public:
SfxMapUnit eCoreMetric,
SfxMapUnit ePresMetric,
OUString &rText, const IntlWrapper * = 0 ) const SAL_OVERRIDE;
virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
#endif
......
......@@ -70,7 +70,7 @@ public:
*/
static OUString CheckNamedItem( const NameOrIndex* pCheckItem, const sal_uInt16 nWhich, const SfxItemPool* pPool1, const SfxItemPool* pPool2, SvxCompareValueFunc pCompareValueFunc, sal_uInt16 nPrefixResId, const XPropertyListRef &pDefaults );
virtual void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
#endif
......
......@@ -21,6 +21,7 @@
#include <svl/poolitem.hxx>
#include <tools/stream.hxx>
#include <osl/diagnose.h>
#include <libxml/xmlwriter.h>
TYPEINIT0(SfxPoolItem);
TYPEINIT1(SfxVoidItem, SfxPoolItem);
......@@ -207,6 +208,13 @@ bool SfxPoolItem::GetPresentation
return false;
}
void SfxPoolItem::dumpAsXml(xmlTextWriterPtr pWriter) const
{
xmlTextWriterStartElement(pWriter, BAD_CAST("sfxPoolItem"));
xmlTextWriterWriteAttribute(pWriter, BAD_CAST("whichId"), BAD_CAST(OString::number(Which()).getStr()));
xmlTextWriterEndElement(pWriter);
}
SfxVoidItem::SfxVoidItem( sal_uInt16 which ):
SfxPoolItem(which)
{
......
......@@ -72,7 +72,7 @@ public:
void SetPageNum( sal_uInt16 nNew ) { nPageNum = nNew; }
void SetAnchor( const SwPosition *pPos );
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline const SwFmtAnchor &SwAttrSet::GetAnchor(bool bInP) const
......
......@@ -33,7 +33,7 @@ public:
/// "pure virtual methods" of SfxPoolItem
virtual SfxPoolItem* Clone( SfxItemPool *pPool = 0 ) const SAL_OVERRIDE;
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline const SwFmtNoBalancedColumns &SwAttrSet::GetBalancedColumns(bool bInP) const
......
......@@ -163,7 +163,7 @@ public:
that corresponds to what constitutes the column for the user. */
sal_uInt16 CalcPrtColWidth( sal_uInt16 nCol, sal_uInt16 nAct ) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline const SwFmtCol &SwAttrSet::GetCol(bool bInP) const
......
......@@ -45,7 +45,7 @@ public:
const SwNodeIndex *GetCntntIdx() const { return pStartNode; }
void SetNewCntntIdx( const SwNodeIndex *pIdx );
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline const SwFmtCntnt &SwAttrSet::GetCntnt(bool bInP) const
......
......@@ -39,7 +39,7 @@ public:
SfxMapUnit ePresMetric,
OUString &rText,
const IntlWrapper* pIntl = 0 ) const SAL_OVERRIDE;
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline const SwFmtEditInReadonly &SwAttrSet::GetEditInReadonly(bool bInP) const
......
......@@ -42,7 +42,7 @@ public:
OUString &rText,
const IntlWrapper* pIntl = 0 ) const SAL_OVERRIDE;
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline const SwFmtFollowTextFlow &SwAttrSet::GetFollowTextFlow(bool bInP) const
......
......@@ -98,7 +98,7 @@ public:
void SetWidthPercent ( sal_uInt8 n ) { m_nWidthPercent = n; }
void SetWidthPercentRelation ( sal_Int16 n ) { m_eWidthPercentRelation = n; }
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline const SwFmtFrmSize &SwAttrSet::GetFrmSize(bool bInP) const
......
......@@ -63,7 +63,7 @@ public:
SwTwips GetPos() const { return m_nYPos; }
void SetPos( SwTwips nNew ) { m_nYPos = nNew; }
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
class SW_DLLPUBLIC SwFmtHoriOrient: public SfxPoolItem
......@@ -100,7 +100,7 @@ public:
bool IsPosToggle() const { return bPosToggle; }
void SetPosToggle( bool bNew ) { bPosToggle = bNew; }
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline SwFmtVertOrient &SwFmtVertOrient::operator=( const SwFmtVertOrient &rCpy )
......
......@@ -81,7 +81,7 @@ public:
void RegisterToEndNotInfo( SwEndNoteInfo& );
void RegisterToPageDesc( SwPageDesc& );
bool KnowsPageDesc() const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline const SwFmtPageDesc &SwAttrSet::GetPageDesc(bool bInP) const
......
......@@ -59,7 +59,7 @@ public:
void SetContour( bool bNew ) { bContour = bNew; }
void SetOutside( bool bNew ) { bOutside = bNew; }
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline SwFmtSurround &SwFmtSurround::operator=( const SwFmtSurround &rCpy )
......
......@@ -57,7 +57,7 @@ public:
sal_Int16 GetWrapInfluenceOnObjPos(
const bool _bIterativeAsOnceConcurrent = false ) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
inline const SwFmtWrapInfluenceOnObjPos& SwAttrSet::GetWrapInfluenceOnObjPos(bool bInP) const
......
......@@ -169,7 +169,7 @@ public:
virtual bool QueryValue( com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) const SAL_OVERRIDE;
virtual bool PutValue( const com::sun::star::uno::Any& rVal, sal_uInt8 nMemberId ) SAL_OVERRIDE;
void dumpAsXml(struct _xmlTextWriter* pWriter) const;
void dumpAsXml(struct _xmlTextWriter* pWriter) const SAL_OVERRIDE;
};
class SwParaConnectBorderItem : public SfxBoolItem
......
......@@ -10,63 +10,20 @@
#include "doc.hxx"
#include "drawdoc.hxx"
#include <IDocumentDrawModelAccess.hxx>
#include <IDocumentRedlineAccess.hxx>
#include <IDocumentFieldsAccess.hxx>
#include <IDocumentState.hxx>
#include <UndoManager.hxx>
#include "ndtxt.hxx"
#include "MarkManager.hxx"
#include "docary.hxx"
#include "switerator.hxx"
#include "fmtfld.hxx"
#include "docufld.hxx"
#include "txatbase.hxx"
#include "fmtautofmt.hxx"
#include "fmtcntnt.hxx"
#include "fmtornt.hxx"
#include "fmtfsize.hxx"
#include "fmtclbl.hxx"
#include "fmteiro.hxx"
#include "charfmt.hxx"
#include "frmfmt.hxx"
#include "fmtanchr.hxx"
#include "fmtsrnd.hxx"
#include "paratr.hxx"
#include "redline.hxx"
#include "section.hxx"
#include "fmtclds.hxx"
#include "fmtpdsc.hxx"
#include "pagedesc.hxx"
#include "fchrfmt.hxx"
#include "fmtfollowtextflow.hxx"
#include "fmtwrapinfluenceonobjpos.hxx"
#include <swmodule.hxx>
#include <svl/itemiter.hxx>
#include <svl/intitem.hxx>
#include <editeng/charrotateitem.hxx>
#include <editeng/rsiditem.hxx>
#include <editeng/fontitem.hxx>
#include <editeng/fhgtitem.hxx>
#include <editeng/editobj.hxx>
#include <editeng/outlobj.hxx>
#include <editeng/postitem.hxx>
#include <editeng/wghtitem.hxx>
#include <svx/xdef.hxx>
#include <svx/svdpage.hxx>
#include <svx/svdmodel.hxx>
#include <svx/xfillit0.hxx>
#include <svx/xflclit.hxx>
#include <svx/xbtmpit.hxx>
#include <svx/xfltrit.hxx>
#include <svx/xflbmtit.hxx>
#include <svx/xflbmpit.hxx>
#include <svx/xflbstit.hxx>
#include <tools/datetimeutils.hxx>
#include <libxml/encoding.h>
#include <libxml/xmlwriter.h>
#include <boost/optional.hpp>
#include <rtl/strbuf.hxx>
#include <comphelper/anytostring.hxx>
using namespace com::sun::star;
......@@ -398,125 +355,7 @@ void lcl_dumpSfxItemSet(WriterHelper& writer, const SfxItemSet* pSet)
const SfxPoolItem* pItem = aIter.FirstItem();
while (pItem)
{
bool bDone = true;
switch (pItem->Which())
{
case RES_CHRATR_POSTURE:
case RES_CHRATR_CJK_POSTURE:
case RES_CHRATR_CTL_POSTURE:
static_cast<const SvxPostureItem*>(pItem)->dumpAsXml(writer);
break;
case RES_CHRATR_WEIGHT:
case RES_CHRATR_CJK_WEIGHT:
case RES_CHRATR_CTL_WEIGHT:
static_cast<const SvxWeightItem*>(pItem)->dumpAsXml(writer);
break;
case RES_CHRATR_RSID:
static_cast<const SvxRsidItem*>(pItem)->dumpAsXml(writer);
break;
case RES_CHRATR_ROTATE:
static_cast<const SvxCharRotateItem*>(pItem)->dumpAsXml(writer);
break;
case RES_PARATR_OUTLINELEVEL:
static_cast<const SfxUInt16Item*>(pItem)->dumpAsXml(writer);
break;
case RES_PARATR_NUMRULE:
static_cast<const SwNumRuleItem*>(pItem)->dumpAsXml(writer);
break;
case RES_CHRATR_FONT:
case RES_CHRATR_CTL_FONT:
static_cast<const SvxFontItem*>(pItem)->dumpAsXml(writer);
break;
case RES_CHRATR_BACKGROUND:
static_cast<const SvxBrushItem*>(pItem)->dumpAsXml(writer);
break;
case RES_CHRATR_FONTSIZE:
static_cast<const SvxFontHeightItem*>(pItem)->dumpAsXml(writer);
break;
case RES_CNTNT:
static_cast<const SwFmtCntnt*>(pItem)->dumpAsXml(writer);
break;
case RES_FRM_SIZE:
static_cast<const SwFmtFrmSize*>(pItem)->dumpAsXml(writer);
break;
case RES_VERT_ORIENT:
static_cast<const SwFmtVertOrient*>(pItem)->dumpAsXml(writer);
break;
case RES_HORI_ORIENT:
static_cast<const SwFmtHoriOrient*>(pItem)->dumpAsXml(writer);
break;
case RES_ANCHOR:
static_cast<const SwFmtAnchor*>(pItem)->dumpAsXml(writer);
break;
case RES_SURROUND:
static_cast<const SwFmtSurround*>(pItem)->dumpAsXml(writer);
break;
case RES_FOLLOW_TEXT_FLOW:
static_cast<const SwFmtFollowTextFlow*>(pItem)->dumpAsXml(writer);
break;
case RES_WRAP_INFLUENCE_ON_OBJPOS:
static_cast<const SwFmtWrapInfluenceOnObjPos*>(pItem)->dumpAsXml(writer);
break;
case RES_COL:
static_cast<const SwFmtCol*>(pItem)->dumpAsXml(writer);
break;
case XATTR_FILLSTYLE:
static_cast<const XFillStyleItem*>(pItem)->dumpAsXml(writer);
break;
case XATTR_FILLCOLOR:
static_cast<const XFillColorItem*>(pItem)->dumpAsXml(writer);
break;
case XATTR_FILLBITMAP:
static_cast<const XFillBitmapItem*>(pItem)->dumpAsXml(writer);
break;
case XATTR_FILLTRANSPARENCE:
static_cast<const XFillTransparenceItem*>(pItem)->dumpAsXml(writer);
break;
case XATTR_FILLBMP_TILE:
static_cast<const XFillBmpTileItem*>(pItem)->dumpAsXml(writer);
break;
case XATTR_FILLBMP_POS:
static_cast<const XFillBmpPosItem*>(pItem)->dumpAsXml(writer);
break;
case XATTR_FILLBMP_STRETCH:
static_cast<const XFillBmpStretchItem*>(pItem)->dumpAsXml(writer);
break;
case RES_PROTECT:
static_cast<const SvxProtectItem*>(pItem)->dumpAsXml(writer);
break;
case RES_EDIT_IN_READONLY:
static_cast<const SwFmtEditInReadonly*>(pItem)->dumpAsXml(writer);
break;
case RES_COLUMNBALANCE:
static_cast<const SwFmtNoBalancedColumns*>(pItem)->dumpAsXml(writer);
break;
case RES_LR_SPACE:
static_cast<const SvxLRSpaceItem*>(pItem)->dumpAsXml(writer);
break;
case RES_UL_SPACE:
static_cast<const SvxULSpaceItem*>(pItem)->dumpAsXml(writer);
break;
case RES_SHADOW:
static_cast<const SvxShadowItem*>(pItem)->dumpAsXml(writer);
break;
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)
{
pItem = aIter.NextItem();
continue;
}
writer.startElement("item");
writer.writeFormatAttribute("whichId", TMP_FORMAT, pItem->Which());
writer.endElement();
pItem->dumpAsXml(writer);
pItem = aIter.NextItem();
}
}
......
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