pImplize XMLPropertyHandlerFactory.
Change-Id: Iff524c9065e9374b39db998e3860704555130995
This commit is contained in:
@@ -20,13 +20,12 @@
|
|||||||
#ifndef INCLUDED_XMLOFF_PRHDLFAC_HXX
|
#ifndef INCLUDED_XMLOFF_PRHDLFAC_HXX
|
||||||
#define INCLUDED_XMLOFF_PRHDLFAC_HXX
|
#define INCLUDED_XMLOFF_PRHDLFAC_HXX
|
||||||
|
|
||||||
#include <sal/config.h>
|
|
||||||
#include <xmloff/dllapi.h>
|
#include <xmloff/dllapi.h>
|
||||||
#include <sal/types.h>
|
#include <sal/types.h>
|
||||||
|
|
||||||
#include <map>
|
|
||||||
#include <salhelper/simplereferenceobject.hxx>
|
#include <salhelper/simplereferenceobject.hxx>
|
||||||
#include <xmloff/xmlprhdl.hxx>
|
|
||||||
|
class XMLPropertyHandler;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This class is a base-class to create XMLPropertyHandler.
|
This class is a base-class to create XMLPropertyHandler.
|
||||||
@@ -39,7 +38,14 @@
|
|||||||
*/
|
*/
|
||||||
class XMLOFF_DLLPUBLIC XMLPropertyHandlerFactory : public salhelper::SimpleReferenceObject
|
class XMLOFF_DLLPUBLIC XMLPropertyHandlerFactory : public salhelper::SimpleReferenceObject
|
||||||
{
|
{
|
||||||
|
struct Impl;
|
||||||
|
Impl* mpImpl;
|
||||||
|
|
||||||
|
XMLPropertyHandlerFactory( const XMLPropertyHandlerFactory& ); // disabled
|
||||||
|
XMLPropertyHandlerFactory& operator= ( const XMLPropertyHandlerFactory& ); // disabled
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
XMLPropertyHandlerFactory();
|
||||||
virtual ~XMLPropertyHandlerFactory();
|
virtual ~XMLPropertyHandlerFactory();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -91,11 +97,7 @@ protected:
|
|||||||
private:
|
private:
|
||||||
/** Retrieves ( creates if necessary ) PropertyHandler for
|
/** Retrieves ( creates if necessary ) PropertyHandler for
|
||||||
basic XML-types */
|
basic XML-types */
|
||||||
SAL_DLLPRIVATE const XMLPropertyHandler* GetBasicHandler( sal_Int32 nType )
|
SAL_DLLPRIVATE const XMLPropertyHandler* GetBasicHandler( sal_Int32 nType ) const;
|
||||||
const;
|
|
||||||
|
|
||||||
typedef ::std::map<sal_Int32, const XMLPropertyHandler*> CacheMap;
|
|
||||||
mutable CacheMap maHandlerCache;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // INCLUDED_XMLOFF_PRHDLFAC_HXX
|
#endif // INCLUDED_XMLOFF_PRHDLFAC_HXX
|
||||||
|
@@ -28,6 +28,7 @@
|
|||||||
#include <xmloff/styleexp.hxx>
|
#include <xmloff/styleexp.hxx>
|
||||||
#include <xmloff/xmlexppr.hxx>
|
#include <xmloff/xmlexppr.hxx>
|
||||||
#include <xmloff/contextid.hxx>
|
#include <xmloff/contextid.hxx>
|
||||||
|
#include <xmloff/xmlprhdl.hxx>
|
||||||
|
|
||||||
extern const XMLPropertyMapEntry aXMLScCellStylesProperties[];
|
extern const XMLPropertyMapEntry aXMLScCellStylesProperties[];
|
||||||
extern const XMLPropertyMapEntry aXMLScColumnStylesProperties[];
|
extern const XMLPropertyMapEntry aXMLScColumnStylesProperties[];
|
||||||
|
@@ -32,6 +32,7 @@
|
|||||||
#include <xmloff/xmltypes.hxx>
|
#include <xmloff/xmltypes.hxx>
|
||||||
#include <editeng/xmlcnitm.hxx>
|
#include <editeng/xmlcnitm.hxx>
|
||||||
#include <xmloff/xmlexp.hxx>
|
#include <xmloff/xmlexp.hxx>
|
||||||
|
#include <xmloff/xmlprhdl.hxx>
|
||||||
#include <editeng/memberids.hrc>
|
#include <editeng/memberids.hrc>
|
||||||
#include "hintids.hxx"
|
#include "hintids.hxx"
|
||||||
#include "unomid.h"
|
#include "unomid.h"
|
||||||
|
@@ -47,6 +47,7 @@
|
|||||||
#include "fmtlsplt.hxx"
|
#include "fmtlsplt.hxx"
|
||||||
#include <xmloff/prhdlfac.hxx>
|
#include <xmloff/prhdlfac.hxx>
|
||||||
#include <xmloff/xmltypes.hxx>
|
#include <xmloff/xmltypes.hxx>
|
||||||
|
#include <xmloff/xmlprhdl.hxx>
|
||||||
#include "xmlithlp.hxx"
|
#include "xmlithlp.hxx"
|
||||||
#include <com/sun/star/uno/Any.hxx>
|
#include <com/sun/star/uno/Any.hxx>
|
||||||
|
|
||||||
|
@@ -63,6 +63,7 @@
|
|||||||
#include <xmloff/xmlement.hxx>
|
#include <xmloff/xmlement.hxx>
|
||||||
#include <xmloff/nmspmap.hxx>
|
#include <xmloff/nmspmap.hxx>
|
||||||
#include <xmloff/shapeexport.hxx>
|
#include <xmloff/shapeexport.hxx>
|
||||||
|
#include <xmloff/xmlprhdl.hxx>
|
||||||
|
|
||||||
#include "animations.hxx"
|
#include "animations.hxx"
|
||||||
#include <xmloff/animationexport.hxx>
|
#include <xmloff/animationexport.hxx>
|
||||||
|
@@ -61,6 +61,7 @@
|
|||||||
#include <xmloff/xmluconv.hxx>
|
#include <xmloff/xmluconv.hxx>
|
||||||
#include <osl/mutex.hxx>
|
#include <osl/mutex.hxx>
|
||||||
#include <xmloff/nmspmap.hxx>
|
#include <xmloff/nmspmap.hxx>
|
||||||
|
#include <xmloff/xmlprhdl.hxx>
|
||||||
#include "anim.hxx"
|
#include "anim.hxx"
|
||||||
#include "facreg.hxx"
|
#include "facreg.hxx"
|
||||||
|
|
||||||
|
@@ -17,15 +17,17 @@
|
|||||||
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <xmloff/prhdlfac.hxx>
|
||||||
|
|
||||||
#include <com/sun/star/drawing/ColorMode.hpp>
|
#include <com/sun/star/drawing/ColorMode.hpp>
|
||||||
#include <com/sun/star/text/HorizontalAdjust.hpp>
|
#include <com/sun/star/text/HorizontalAdjust.hpp>
|
||||||
#include <com/sun/star/text/WritingMode2.hpp>
|
#include <com/sun/star/text/WritingMode2.hpp>
|
||||||
|
|
||||||
#include <tools/debug.hxx>
|
#include <tools/debug.hxx>
|
||||||
|
|
||||||
#include <xmloff/prhdlfac.hxx>
|
|
||||||
#include <xmloff/xmltypes.hxx>
|
#include <xmloff/xmltypes.hxx>
|
||||||
#include <xmloff/xmltoken.hxx>
|
#include <xmloff/xmltoken.hxx>
|
||||||
|
#include <xmloff/xmlprhdl.hxx>
|
||||||
#include "xmlbahdl.hxx"
|
#include "xmlbahdl.hxx"
|
||||||
#include <xmloff/NamedBoolPropertyHdl.hxx>
|
#include <xmloff/NamedBoolPropertyHdl.hxx>
|
||||||
#include <xmloff/XMLConstantsPropertyHandler.hxx>
|
#include <xmloff/XMLConstantsPropertyHandler.hxx>
|
||||||
@@ -52,6 +54,8 @@
|
|||||||
#include "XMLRectangleMembersHandler.hxx"
|
#include "XMLRectangleMembersHandler.hxx"
|
||||||
#include "DrawAspectHdl.hxx"
|
#include "DrawAspectHdl.hxx"
|
||||||
|
|
||||||
|
#include <map>
|
||||||
|
|
||||||
using namespace ::com::sun::star;
|
using namespace ::com::sun::star;
|
||||||
using namespace ::xmloff::token;
|
using namespace ::xmloff::token;
|
||||||
|
|
||||||
@@ -94,11 +98,22 @@ static SvXMLEnumMapEntry const aXML_WritingDirection_Enum[] =
|
|||||||
{ XML_TOKEN_INVALID, 0 }
|
{ XML_TOKEN_INVALID, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
// Dtor
|
typedef std::map<sal_Int32, const XMLPropertyHandler*> CacheMap;
|
||||||
|
|
||||||
|
struct XMLPropertyHandlerFactory::Impl
|
||||||
|
{
|
||||||
|
mutable CacheMap maHandlerCache;
|
||||||
|
};
|
||||||
|
|
||||||
|
XMLPropertyHandlerFactory::XMLPropertyHandlerFactory() :
|
||||||
|
mpImpl(new Impl) {}
|
||||||
|
|
||||||
XMLPropertyHandlerFactory::~XMLPropertyHandlerFactory()
|
XMLPropertyHandlerFactory::~XMLPropertyHandlerFactory()
|
||||||
{
|
{
|
||||||
for( CacheMap::iterator pPos = maHandlerCache.begin(); pPos != maHandlerCache.end(); ++pPos )
|
for( CacheMap::iterator pPos = mpImpl->maHandlerCache.begin(); pPos != mpImpl->maHandlerCache.end(); ++pPos )
|
||||||
delete pPos->second;
|
delete pPos->second;
|
||||||
|
|
||||||
|
delete mpImpl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Interface
|
// Interface
|
||||||
@@ -114,15 +129,15 @@ const XMLPropertyHandler* XMLPropertyHandlerFactory::GetHdlCache( sal_Int32 nTyp
|
|||||||
{
|
{
|
||||||
const XMLPropertyHandler* pRet = NULL;
|
const XMLPropertyHandler* pRet = NULL;
|
||||||
|
|
||||||
if( maHandlerCache.find( nType ) != maHandlerCache.end() )
|
if( mpImpl->maHandlerCache.find( nType ) != mpImpl->maHandlerCache.end() )
|
||||||
pRet = maHandlerCache.find( nType )->second;
|
pRet = mpImpl->maHandlerCache.find( nType )->second;
|
||||||
|
|
||||||
return pRet;
|
return pRet;
|
||||||
}
|
}
|
||||||
|
|
||||||
void XMLPropertyHandlerFactory::PutHdlCache( sal_Int32 nType, const XMLPropertyHandler* pHdl ) const
|
void XMLPropertyHandlerFactory::PutHdlCache( sal_Int32 nType, const XMLPropertyHandler* pHdl ) const
|
||||||
{
|
{
|
||||||
maHandlerCache[nType] = pHdl;
|
mpImpl->maHandlerCache[nType] = pHdl;
|
||||||
}
|
}
|
||||||
|
|
||||||
const XMLPropertyHandler* XMLPropertyHandlerFactory::GetBasicHandler( sal_Int32 nType ) const
|
const XMLPropertyHandler* XMLPropertyHandlerFactory::GetBasicHandler( sal_Int32 nType ) const
|
||||||
|
Reference in New Issue
Block a user