diff options
author | Kurt Zenker <kz@openoffice.org> | 2009-06-03 11:26:39 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2009-06-03 11:26:39 +0000 |
commit | c1f8c3252a1a957049e9b5fdac708bde5bcd9817 (patch) | |
tree | 6184ff6eb0b4cd9dd0877d83b72dcd7cdbe94452 /svtools/inc | |
parent | d46d946139c30ce29b8eaee4fa735236e2a95a4c (diff) |
CWS-TOOLING: integrate CWS os128
2009-04-22 12:58:26 +0200 b_michaelsen r271093 : #i101084# using the frames enumeration for other SwXFrames-queries; also added a complex test to ensure the behavior to be the same
2009-04-20 14:53:03 +0200 mav r270987 : #i101219# adjust the testcases to test memory cache and temporary file cache
2009-04-20 14:52:09 +0200 mav r270986 : #i101219#,#i99077# use memory to cache data; no precopying on commit
2009-04-20 14:39:21 +0200 mav r270984 : #i101219# use memory to cache data
2009-04-20 14:39:08 +0200 mav r270983 : #i101219# use memory to cache data
2009-04-20 14:38:45 +0200 mav r270982 : #i101219# use memory to cache data
2009-04-17 07:37:52 +0200 os r270912 : CWS-TOOLING: rebase CWS os128 to trunk@270723 (milestone: DEV300:m46)
2009-04-15 14:54:18 +0200 b_michaelsen r270845 : #i101084# using frame enumerations for paragraph export for better performance
2009-04-15 14:52:54 +0200 b_michaelsen r270843 : #i101084# implemented XEnumerationAccess interface on framesets
2009-04-03 17:08:10 +0200 mav r270504 : #i100722# do not compress streams of known compressed types per default
2009-04-03 13:49:50 +0200 os r270484 : resync error fixed
2009-04-03 12:55:32 +0200 mav r270470 : #i100722# do not compress streams of known compressed types per default
2009-04-03 10:00:58 +0200 os r270463 : resync error fixed
2009-04-03 09:52:53 +0200 os r270462 : resync error fixed
2009-04-03 09:10:14 +0200 os r270449 : #i99568# string compare operator of hash_map changed
2009-04-03 09:03:49 +0200 os r270446 : #i100683# normalize file URLs
2009-04-02 11:09:27 +0200 os r270381 : #i100683# making URLs relative without file access
2009-04-02 09:04:42 +0200 os r270366 : CWS-TOOLING: rebase CWS os128 to trunk@270033 (milestone: DEV300:m45)
2009-03-31 08:08:37 +0200 os r270258 : #i100683# reducing calls to URIHelper::simpleNormalizeMakeRelative()
2009-03-19 17:06:22 +0100 os r269756 : #i99568# XTolerantMultiPropertySet activated
2009-03-16 11:46:14 +0100 os r269517 : wrong commit to #i97471# removed
2009-03-16 11:36:50 +0100 os r269514 : #i97471# SwDrawTextShell::Init(): mouse double click and key input in group objects at the same time: prevent crash
2009-03-13 11:08:54 +0100 os r269464 : #i99568# static SfxItemPropertySet
2009-03-13 11:03:22 +0100 os r269463 : #i99568# static SfxItemPropertySet
2009-03-11 12:59:27 +0100 os r269320 : #i99568# WhichId of properties handled from ScDocOptionsObj added
2009-03-06 09:09:58 +0100 os r268972 : #i99568# SfxItemPropertySet improvements
2009-03-05 20:54:43 +0100 os r268942 : #i99568# Sfx/SvxItemPropertySet improvements
2009-03-05 20:19:52 +0100 os r268941 : #i99568# SfxItemPropertySet improvements
2009-03-05 20:05:03 +0100 os r268940 : #i99568# SfxItemPropertySet improvements
2009-03-05 18:54:47 +0100 os r268936 : #i99568# Sfx/SvxItemPropertySet improvements
2009-03-05 17:51:38 +0100 os r268931 : #i99568# Sfx/SvxItemPropertySet improvements
2009-03-05 17:33:03 +0100 os r268930 : #i99568# Sfx/SvxItemPropertySet improvements
2009-03-05 15:53:00 +0100 os r268920 : #i99568# Sfx/SvxItemPropertySet improvements
2009-03-05 15:52:50 +0100 os r268919 : #i99568# Sfx/SvxItemPropertySet improvements
2009-03-05 15:50:41 +0100 os r268918 : #i99568# Sfx/SvxItemPropertySet improvements
2009-03-05 15:41:04 +0100 os r268916 : #i99568# Sfx/SvxItemPropertySet improvements
2009-03-05 15:40:40 +0100 os r268915 : #i99568# Sfx/SvxItemPropertySet improvements
2009-03-05 10:16:20 +0100 os r268881 : #i99568# Sfx/SvxItemPropertySet improvements
2009-03-05 10:15:55 +0100 os r268880 : #i99568# Sfx/SvxItemPropertySet improvements
2009-03-03 08:40:09 +0100 os r268704 : ScTableSheetObj::GetItemPropertyMap fixed
2009-03-03 07:50:00 +0100 os r268703 : SfxItemProperty set as pointer
2009-03-03 07:49:46 +0100 os r268702 : SfxItemProperty set as pointer
2009-03-02 08:15:37 +0100 os r268631 : minor fix
2009-03-02 07:58:38 +0100 os r268630 : minor fix
2009-02-27 13:03:25 +0100 os r268584 : exports
2009-02-27 11:17:04 +0100 os r268567 : debug code removed
2009-02-27 11:04:07 +0100 os r268565 : duplicate return removed
2009-02-27 10:17:37 +0100 os r268558 : syntax fixed
2009-02-27 09:56:14 +0100 os r268554 : #i99568# type mix fixed
2009-02-27 09:40:56 +0100 os r268553 : #i99568# exports changes reverted
2009-02-25 12:50:54 +0100 os r268433 : #i99568# SfxItemPropertySet rework
2009-02-25 12:13:39 +0100 os r268432 : #i99568# SfxItemPropertySet rework
2009-02-25 12:12:47 +0100 os r268431 : #i99568# SfxItemPropertySet rework
2009-02-25 12:10:27 +0100 os r268430 : #i99568# SfxItemPropertySet rework
2009-02-25 12:09:36 +0100 os r268429 : #i99568# SfxItemPropertySet rework
2009-02-25 12:07:39 +0100 os r268428 : #i99568# SfxItemPropertySet rework
2009-02-25 11:59:35 +0100 os r268427 : #i99568# SfxItemPropertySet rework
2009-02-25 11:52:52 +0100 os r268425 : #i99568# SfxItemPropertySet rework
2009-02-25 11:49:17 +0100 os r268424 : #i99568# SfxItemPropertySet rework
2009-02-25 11:45:17 +0100 os r268423 : #i99568# SfxItemPropertySet rework
2009-02-11 11:39:04 +0100 os r267587 : #i57008# use registration of index marks at SwUnoCallback
Diffstat (limited to 'svtools/inc')
-rw-r--r-- | svtools/inc/svtools/itemprop.hxx | 122 |
1 files changed, 87 insertions, 35 deletions
diff --git a/svtools/inc/svtools/itemprop.hxx b/svtools/inc/svtools/itemprop.hxx index 34064595753e..feab0eab004b 100644 --- a/svtools/inc/svtools/itemprop.hxx +++ b/svtools/inc/svtools/itemprop.hxx @@ -38,12 +38,13 @@ #include <com/sun/star/beans/XPropertySetInfo.hpp> #include <com/sun/star/beans/PropertyState.hpp> #include <com/sun/star/lang/IllegalArgumentException.hpp> - +#include <vector> /* -----------------------------21.02.00 11:03-------------------------------- UNO III - Implementation ---------------------------------------------------------------------------*/ #define MAP_CHAR_LEN(cchar) cchar, sizeof(cchar) - 1 -struct SfxItemPropertyMap + +struct SfxItemPropertyMapEntry { const char* pName; USHORT nNameLen; @@ -52,34 +53,83 @@ struct SfxItemPropertyMap long nFlags; BYTE nMemberId; - SVL_DLLPUBLIC static const SfxItemPropertyMap* GetByName( - const SfxItemPropertyMap *pMap, - const ::rtl::OUString &rName ); - SVL_DLLPUBLIC static const SfxItemPropertyMap* GetTolerantByName( - const SfxItemPropertyMap *pMap, - const ::rtl::OUString &rName ); +}; + +struct SfxItemPropertySimpleEntry +{ + USHORT nWID; + const com::sun::star::uno::Type* pType; + long nFlags; + BYTE nMemberId; + + SfxItemPropertySimpleEntry() : + nWID( 0 ), + pType( 0 ), + nFlags( 0 ), + nMemberId( 0 ){} + + SfxItemPropertySimpleEntry(USHORT _nWID, const com::sun::star::uno::Type* _pType, + long _nFlags, BYTE _nMemberId) : + nWID( _nWID ), + pType( _pType ), + nFlags( _nFlags ), + nMemberId( _nMemberId ){} + + SfxItemPropertySimpleEntry( const SfxItemPropertyMapEntry* pMapEntry ) : + nWID( pMapEntry->nWID ), + pType( pMapEntry->pType ), + nFlags( pMapEntry->nFlags ), + nMemberId( pMapEntry->nMemberId ){} + +}; +struct SfxItemPropertyNamedEntry : public SfxItemPropertySimpleEntry +{ + ::rtl::OUString sName; + SfxItemPropertyNamedEntry( const String& rName, const SfxItemPropertySimpleEntry& rSimpleEntry) : + SfxItemPropertySimpleEntry( rSimpleEntry ), + sName( rName ){} + +}; +typedef std::vector< SfxItemPropertyNamedEntry > PropertyEntryVector_t; +class SfxItemPropertyMap_Impl; +class SVL_DLLPUBLIC SfxItemPropertyMap +{ + SfxItemPropertyMap_Impl* m_pImpl; +public: + SfxItemPropertyMap( const SfxItemPropertyMapEntry* pEntries ); + SfxItemPropertyMap( const SfxItemPropertyMap* pSource ); + ~SfxItemPropertyMap(); + + const SfxItemPropertySimpleEntry* getByName( const ::rtl::OUString &rName ) const; + com::sun::star::uno::Sequence< com::sun::star::beans::Property > getProperties() const; + com::sun::star::beans::Property getPropertyByName( const ::rtl::OUString rName ) const + throw( ::com::sun::star::beans::UnknownPropertyException ); + sal_Bool hasPropertyByName( const ::rtl::OUString& rName ) const; + + void mergeProperties( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property >& rPropSeq ); + PropertyEntryVector_t getPropertyEntries() const; + sal_uInt32 getSize() const; + }; /* -----------------------------21.02.00 11:19-------------------------------- ---------------------------------------------------------------------------*/ class SVL_DLLPUBLIC SfxItemPropertySet { - const SfxItemPropertyMap* _pMap; + SfxItemPropertyMap m_aMap; + mutable com::sun::star::uno::Reference<com::sun::star::beans::XPropertySetInfo> m_xInfo; protected: virtual BOOL FillItem(SfxItemSet& rSet, USHORT nWhich, BOOL bGetProperty) const; public: - SfxItemPropertySet( const SfxItemPropertyMap *pMap ) : - _pMap(pMap) {} - - void getPropertyValue( const SfxItemPropertyMap& rMap, - const SfxItemSet& rSet, - com::sun::star::uno::Any& rAny) const - throw(::com::sun::star::uno::RuntimeException); - com::sun::star::uno::Any - getPropertyValue( const SfxItemPropertyMap& rMap, - const SfxItemSet& rSet ) const - throw(::com::sun::star::uno::RuntimeException); + SfxItemPropertySet( const SfxItemPropertyMapEntry *pMap ) : + m_aMap(pMap) {} + virtual ~SfxItemPropertySet(); + + void getPropertyValue( const SfxItemPropertySimpleEntry& rEntry, + const SfxItemSet& rSet, + com::sun::star::uno::Any& rAny) const + throw(::com::sun::star::uno::RuntimeException); void getPropertyValue( const ::rtl::OUString &rName, const SfxItemSet& rSet, com::sun::star::uno::Any& rAny) const @@ -90,11 +140,11 @@ public: const SfxItemSet& rSet ) const throw(::com::sun::star::uno::RuntimeException, ::com::sun::star::beans::UnknownPropertyException); - void setPropertyValue( const SfxItemPropertyMap& rMap, - const com::sun::star::uno::Any& aVal, - SfxItemSet& rSet ) const - throw(::com::sun::star::uno::RuntimeException, - com::sun::star::lang::IllegalArgumentException); + void setPropertyValue( const SfxItemPropertySimpleEntry& rEntry, + const com::sun::star::uno::Any& aVal, + SfxItemSet& rSet ) const + throw(::com::sun::star::uno::RuntimeException, + com::sun::star::lang::IllegalArgumentException); void setPropertyValue( const ::rtl::OUString& rPropertyName, const com::sun::star::uno::Any& aVal, SfxItemSet& rSet ) const @@ -103,29 +153,31 @@ public: ::com::sun::star::beans::UnknownPropertyException); com::sun::star::beans::PropertyState - getPropertyState(const ::rtl::OUString& rName, const SfxItemSet& rSet) + getPropertyState(const ::rtl::OUString& rName, const SfxItemSet& rSet)const throw(com::sun::star::beans::UnknownPropertyException); com::sun::star::beans::PropertyState - getPropertyState(const SfxItemPropertyMap& rMap, const SfxItemSet& rSet) + getPropertyState(const SfxItemPropertySimpleEntry& rEntry, const SfxItemSet& rSet) const throw(); com::sun::star::uno::Reference<com::sun::star::beans::XPropertySetInfo> getPropertySetInfo() const; const SfxItemPropertyMap* - getPropertyMap() const {return _pMap;} + getPropertyMap() const {return &m_aMap;} }; /* -----------------------------21.02.00 11:09-------------------------------- ---------------------------------------------------------------------------*/ +struct SfxItemPropertySetInfo_Impl; class SVL_DLLPUBLIC SfxItemPropertySetInfo : public cppu::WeakImplHelper1<com::sun::star::beans::XPropertySetInfo> { - const SfxItemPropertyMap* _pMap; + SfxItemPropertySetInfo_Impl* m_pImpl; public: - SfxItemPropertySetInfo(const SfxItemPropertyMap *pMap ) : - _pMap(pMap) {} + SfxItemPropertySetInfo(const SfxItemPropertyMap *pMap ); + SfxItemPropertySetInfo(const SfxItemPropertyMapEntry *pEntries ); + virtual ~SfxItemPropertySetInfo(); virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property > SAL_CALL getProperties( ) @@ -140,19 +192,19 @@ public: hasPropertyByName( const ::rtl::OUString& Name ) throw(::com::sun::star::uno::RuntimeException); - const SfxItemPropertyMap* getMap() const { return _pMap; } + const SfxItemPropertyMap* getMap() const; }; /* -----------------------------21.02.00 12:01-------------------------------- ---------------------------------------------------------------------------*/ class SVL_DLLPUBLIC SfxExtItemPropertySetInfo: public cppu::WeakImplHelper1<com::sun::star::beans::XPropertySetInfo > { - const SfxItemPropertyMap* _pExtMap; - com::sun::star::uno::Sequence<com::sun::star::beans::Property> aPropertySeq; + SfxItemPropertyMap aExtMap; public: SfxExtItemPropertySetInfo( - const SfxItemPropertyMap *pMap, + const SfxItemPropertyMapEntry *pMap, const com::sun::star::uno::Sequence<com::sun::star::beans::Property>& rPropSeq ); + virtual ~SfxExtItemPropertySetInfo(); virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property > SAL_CALL getProperties( ) |