diff options
Diffstat (limited to 'sw/inc/fmtmeta.hxx')
-rwxr-xr-x[-rw-r--r--] | sw/inc/fmtmeta.hxx | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/sw/inc/fmtmeta.hxx b/sw/inc/fmtmeta.hxx index f676469b908f..616c4cddc1b9 100644..100755 --- a/sw/inc/fmtmeta.hxx +++ b/sw/inc/fmtmeta.hxx @@ -31,6 +31,8 @@ #ifndef SW_FMTMETA_HXX #define SW_FMTMETA_HXX +#include <cppuhelper/weakref.hxx> + #include <svl/poolitem.hxx> #include <sfx2/Metadatable.hxx> @@ -122,8 +124,8 @@ public: virtual SfxPoolItem * Clone( SfxItemPool *pPool = 0 ) const; // TYPEINFO(); - // notify clients registered at m_pMeta that this meta is being removed - void NotifyRemoval(); + /// notify clients registered at m_pMeta that this meta is being (re-)moved + void NotifyChangeTxtNode(SwTxtNode *const pTxtNode); static SwFmtMeta * CreatePoolDefault( const USHORT i_nWhich ); ::sw::Meta * GetMeta() { return m_pMeta.get(); } /// this method <em>must</em> be called when the hint is actually copied @@ -140,8 +142,11 @@ class Meta , public SwModify { protected: - friend class ::SwFmtMeta; // SetFmtMeta - friend class ::SwXMeta; // GetTxtNode, GetTxtAttr + friend class ::SwFmtMeta; // SetFmtMeta, NotifyChangeTxtNode + friend class ::SwXMeta; // GetTxtNode, GetTxtAttr, Get/SetXMeta + + ::com::sun::star::uno::WeakReference< + ::com::sun::star::rdf::XMetadatable> m_wXMeta; SwFmtMeta * m_pFmt; @@ -151,6 +156,15 @@ protected: SwFmtMeta * GetFmtMeta() const { return m_pFmt; } void SetFmtMeta( SwFmtMeta * const i_pFmt ) { m_pFmt = i_pFmt; }; + void NotifyChangeTxtNode(); + + ::com::sun::star::uno::WeakReference< + ::com::sun::star::rdf::XMetadatable> const& GetXMeta() const + { return m_wXMeta; } + void SetXMeta(::com::sun::star::uno::Reference< + ::com::sun::star::rdf::XMetadatable> const& xMeta) + { m_wXMeta = xMeta; } + public: explicit Meta(SwFmtMeta * const i_pFmt = 0); virtual ~Meta(); |