diff options
author | Jan Holesovsky <kendy@suse.cz> | 2011-03-23 17:00:12 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@suse.cz> | 2011-03-23 17:00:12 +0100 |
commit | 5630cca2031eeeaa20c916ea9542ccef2327349f (patch) | |
tree | e62a262b1d9e1fcbaee23cfefd0ac2cefbc2beb0 /sw/inc/fmtmeta.hxx | |
parent | 0562ba185b5c4783b8f59aa3a3ae8d1ef68011d3 (diff) | |
parent | f6c764706cd411d3353666da91b334a899a12154 (diff) |
Merge commit 'ooo/DEV300_m103'
Conflicts:
sw/inc/calbck.hxx
sw/inc/crsrsh.hxx
sw/inc/dcontact.hxx
sw/inc/doc.hxx
sw/inc/docufld.hxx
sw/inc/editsh.hxx
sw/inc/expfld.hxx
sw/inc/fchrfmt.hxx
sw/inc/fmtcol.hxx
sw/inc/fmthdft.hxx
sw/inc/fmtpdsc.hxx
sw/inc/format.hxx
sw/inc/frmfmt.hxx
sw/inc/ndhints.hxx
sw/inc/ndtxt.hxx
sw/inc/node.hxx
sw/inc/numrule.hxx
sw/inc/paratr.hxx
sw/inc/swtable.hxx
sw/inc/unocrsr.hxx
sw/inc/unofield.hxx
sw/inc/unoframe.hxx
sw/inc/unoport.hxx
sw/inc/unostyle.hxx
sw/inc/usrfld.hxx
sw/inc/viewopt.hxx
sw/inc/viewsh.hxx
sw/source/core/access/accframebase.cxx
sw/source/core/access/accmap.cxx
sw/source/core/access/accnotextframe.cxx
sw/source/core/access/accpara.cxx
sw/source/core/access/accpara.hxx
sw/source/core/attr/calbck.cxx
sw/source/core/crsr/callnk.cxx
sw/source/core/crsr/crsrsh.cxx
sw/source/core/doc/acmplwrd.cxx
sw/source/core/doc/doc.cxx
sw/source/core/doc/docdesc.cxx
sw/source/core/doc/docdraw.cxx
sw/source/core/doc/docfly.cxx
sw/source/core/doc/docfmt.cxx
sw/source/core/doc/doclay.cxx
sw/source/core/doc/docnew.cxx
sw/source/core/doc/docnum.cxx
sw/source/core/doc/doctxm.cxx
sw/source/core/doc/fmtcol.cxx
sw/source/core/doc/htmltbl.cxx
sw/source/core/doc/number.cxx
sw/source/core/docnode/ndsect.cxx
sw/source/core/docnode/ndtbl.cxx
sw/source/core/docnode/node.cxx
sw/source/core/docnode/node2lay.cxx
sw/source/core/docnode/section.cxx
sw/source/core/docnode/swbaslnk.cxx
sw/source/core/draw/dcontact.cxx
sw/source/core/draw/dview.cxx
sw/source/core/edit/autofmt.cxx
sw/source/core/edit/editsh.cxx
sw/source/core/edit/edlingu.cxx
sw/source/core/fields/authfld.cxx
sw/source/core/fields/dbfld.cxx
sw/source/core/fields/docufld.cxx
sw/source/core/fields/expfld.cxx
sw/source/core/fields/reffld.cxx
sw/source/core/fields/tblcalc.cxx
sw/source/core/frmedt/fefly1.cxx
sw/source/core/frmedt/feshview.cxx
sw/source/core/frmedt/tblsel.cxx
sw/source/core/inc/flyfrm.hxx
sw/source/core/inc/prevwpage.hxx
sw/source/core/inc/rolbck.hxx
sw/source/core/inc/txtfrm.hxx
sw/source/core/layout/atrfrm.cxx
sw/source/core/layout/findfrm.cxx
sw/source/core/layout/flowfrm.cxx
sw/source/core/layout/fly.cxx
sw/source/core/layout/flycnt.cxx
sw/source/core/layout/flylay.cxx
sw/source/core/layout/frmtool.cxx
sw/source/core/layout/hffrm.cxx
sw/source/core/layout/pagechg.cxx
sw/source/core/layout/pagedesc.cxx
sw/source/core/layout/paintfrm.cxx
sw/source/core/layout/sectfrm.cxx
sw/source/core/layout/ssfrm.cxx
sw/source/core/layout/tabfrm.cxx
sw/source/core/layout/wsfrm.cxx
sw/source/core/objectpositioning/tocntntanchoredobjectposition.cxx
sw/source/core/table/swtable.cxx
sw/source/core/text/EnhancedPDFExportHelper.cxx
sw/source/core/text/inftxt.cxx
sw/source/core/text/porfld.cxx
sw/source/core/text/txtdrop.cxx
sw/source/core/text/txtfly.cxx
sw/source/core/text/txtfrm.cxx
sw/source/core/text/txtio.cxx
sw/source/core/text/txttab.cxx
sw/source/core/tox/tox.cxx
sw/source/core/txtnode/atrflyin.cxx
sw/source/core/txtnode/fmtatr2.cxx
sw/source/core/txtnode/ndtxt.cxx
sw/source/core/undo/SwUndoPageDesc.cxx
sw/source/core/undo/undraw.cxx
sw/source/core/unocore/unochart.cxx
sw/source/core/unocore/unocoll.cxx
sw/source/core/unocore/unodraw.cxx
sw/source/core/unocore/unofield.cxx
sw/source/core/unocore/unoframe.cxx
sw/source/core/unocore/unoftn.cxx
sw/source/core/unocore/unoidx.cxx
sw/source/core/unocore/unoobj2.cxx
sw/source/core/unocore/unoparagraph.cxx
sw/source/core/unocore/unoport.cxx
sw/source/core/unocore/unoportenum.cxx
sw/source/core/unocore/unoredline.cxx
sw/source/core/unocore/unoredlines.cxx
sw/source/core/unocore/unorefmk.cxx
sw/source/core/unocore/unosect.cxx
sw/source/core/unocore/unosett.cxx
sw/source/core/unocore/unostyle.cxx
sw/source/core/unocore/unotbl.cxx
sw/source/core/unocore/unotext.cxx
sw/source/core/view/viewimp.cxx
sw/source/core/view/viewpg.cxx
sw/source/core/view/viewsh.cxx
sw/source/core/view/vnew.cxx
sw/source/core/view/vprint.cxx
sw/source/filter/ww8/rtfexport.cxx
sw/source/filter/ww8/rtfexport.hxx
sw/source/filter/ww8/wrtw8nds.cxx
sw/source/filter/ww8/wrtww8gr.cxx
sw/source/filter/xml/XMLRedlineImportHelper.cxx
sw/source/ui/app/apphdl.cxx
sw/source/ui/app/docsh.cxx
sw/source/ui/app/docsh2.cxx
sw/source/ui/app/swmodul1.cxx
sw/source/ui/config/viewopt.cxx
sw/source/ui/fldui/fldpage.cxx
sw/source/ui/uiview/srcview.cxx
sw/source/ui/uiview/view.cxx
sw/source/ui/uno/unotxdoc.cxx
sw/source/ui/vba/wordvbahelper.cxx
sw/source/ui/wrtsh/wrtsh1.cxx
Diffstat (limited to 'sw/inc/fmtmeta.hxx')
-rw-r--r-- | sw/inc/fmtmeta.hxx | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/sw/inc/fmtmeta.hxx b/sw/inc/fmtmeta.hxx index 459220c6007f..87f096d2d806 100644 --- a/sw/inc/fmtmeta.hxx +++ b/sw/inc/fmtmeta.hxx @@ -75,17 +75,13 @@ namespace com { namespace sun { namespace star { * <li>The pool item is cloned (because it is non-poolable); the clone * points to the same metadatable entity, but the metadatable entity's * reverse pointer is unchanged.</li> - * <li>A new text hint is created, taking over the new pool item. - * Unfortunately, this also makes the metadatable entity point at the - * cloned pool item.</li> - * <li>The text hint is inserted into the hints array of some text node.</li> - * <li>The DoCopy() method must be called at the new pool item: - * it will clone the metadatable entity (using RegisterAsCopyOf), - * and fix the reverse pointer of the original to point at the - * original pool item. + * <li>The DoCopy() method is called at the new pool item: + * it will clone the metadatable entity (using RegisterAsCopyOf). * This is necessary, because first, a metadatable entity may * only be inserted once into a document, and second, the copy may be * inserted into a different document than the source document!</li> + * <li>A new text hint is created, taking over the new pool item.</li> + * <li>The text hint is inserted into the hints array of some text node.</li> * </ol> */ @@ -100,7 +96,7 @@ class SwFmtMeta : public SfxPoolItem { private: - friend class SwTxtMeta; // needs SetTxtAttr + friend class SwTxtMeta; // needs SetTxtAttr, DoCopy friend class ::sw::Meta; // needs m_pTxtAttr ::boost::shared_ptr< ::sw::Meta > m_pMeta; @@ -109,6 +105,10 @@ private: SwTxtMeta * GetTxtAttr() { return m_pTxtAttr; } void SetTxtAttr(SwTxtMeta * const i_pTxtAttr); + /// this method <em>must</em> be called when the hint is actually copied + void DoCopy(::sw::MetaFieldManager & i_rTargetDocManager, + SwTxtNode & i_rTargetTxtNode); + explicit SwFmtMeta( const sal_uInt16 i_nWhich ); public: @@ -125,8 +125,6 @@ public: void NotifyChangeTxtNode(SwTxtNode *const pTxtNode); static SwFmtMeta * CreatePoolDefault( const sal_uInt16 i_nWhich ); ::sw::Meta * GetMeta() { return m_pMeta.get(); } - /// this method <em>must</em> be called when the hint is actually copied - void DoCopy( SwFmtMeta & rOriginalMeta ); }; @@ -146,6 +144,7 @@ protected: ::com::sun::star::rdf::XMetadatable> m_wXMeta; SwFmtMeta * m_pFmt; + SwTxtNode * m_pTxtNode; SwTxtMeta * GetTxtAttr() const; SwTxtNode * GetTxtNode() const; // returns 0 if not in document (undo) @@ -153,7 +152,8 @@ protected: SwFmtMeta * GetFmtMeta() const { return m_pFmt; } void SetFmtMeta( SwFmtMeta * const i_pFmt ) { m_pFmt = i_pFmt; }; - void NotifyChangeTxtNode(); + void NotifyChangeTxtNodeImpl(); + void NotifyChangeTxtNode(SwTxtNode *const pTxtNode); ::com::sun::star::uno::WeakReference< ::com::sun::star::rdf::XMetadatable> const& GetXMeta() const @@ -162,13 +162,13 @@ protected: ::com::sun::star::rdf::XMetadatable> const& xMeta) { m_wXMeta = xMeta; } + // SwClient + virtual void Modify( const SfxPoolItem* pOld, const SfxPoolItem *pNew ); + public: explicit Meta(SwFmtMeta * const i_pFmt = 0); virtual ~Meta(); - // SwClient - virtual void Modify( SfxPoolItem *pOld, SfxPoolItem *pNew ); - // sfx2::Metadatable virtual ::sfx2::IXmlIdRegistry& GetRegistry(); virtual bool IsInClipboard() const; |