diff options
author | Oliver-Rainer Wittmann <orw@apache.org> | 2013-12-19 18:50:58 +0000 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-01-08 15:58:35 +0100 |
commit | 0761f81643a6890457e9ef7d913ab5c88c2593a4 (patch) | |
tree | 91bf122795dfac3f9263942ab3c5dee2b4ecea26 /sw/inc/IDocumentMarkAccess.hxx | |
parent | df002e39f7518036ae1c1d2afec7a525ef902327 (diff) |
123792: complete annotations on text ranges feature
- rely annotations on text ranges on new annotation marks
- support arbitrary text ranges for annotations
- fix undo/redo regarding annotations an text ranges
- support annotations on overlapping text ranges
- fix *.docx import for annotations on overlapping text ranges
- fix ODF import of annotations on text ranges
cherry-picked from branch ooxml-osba
(cherry picked from commit ebd2922ebd3cf2d3899fb80780d38f367197aadf)
Conflicts:
sw/Library_sw.mk
sw/inc/IDocumentMarkAccess.hxx
sw/inc/SidebarWin.hxx
sw/inc/doc.hxx
sw/inc/docufld.hxx
sw/inc/hintids.hxx
sw/inc/ndhints.hxx
sw/inc/txatbase.hxx
sw/inc/unobookmark.hxx
sw/inc/unofield.hxx
sw/inc/unoport.hxx
sw/source/core/access/accpara.cxx
sw/source/core/bastyp/init.cxx
sw/source/core/crsr/bookmrk.cxx
sw/source/core/crsr/findtxt.cxx
sw/source/core/doc/dbgoutsw.cxx
sw/source/core/doc/docbm.cxx
sw/source/core/doc/doccorr.cxx
sw/source/core/doc/docdde.cxx
sw/source/core/doc/docedt.cxx
sw/source/core/doc/docfld.cxx
sw/source/core/doc/doclay.cxx
sw/source/core/doc/tblrwcl.cxx
sw/source/core/docnode/ndcopy.cxx
sw/source/core/docnode/nodes.cxx
sw/source/core/docnode/section.cxx
sw/source/core/edit/edfld.cxx
sw/source/core/fields/docufld.cxx
sw/source/core/fields/postithelper.cxx
sw/source/core/fields/reffld.cxx
sw/source/core/inc/MarkManager.hxx
sw/source/core/inc/crossrefbookmark.hxx
sw/source/core/text/inftxt.cxx
sw/source/core/text/itratr.cxx
sw/source/core/text/txtfrm.cxx
sw/source/core/txtnode/atrfld.cxx
sw/source/core/txtnode/ndtxt.cxx
sw/source/core/txtnode/thints.cxx
sw/source/core/undo/undel.cxx
sw/source/core/undo/undobj.cxx
sw/source/core/unocore/unofield.cxx
sw/source/core/unocore/unoport.cxx
sw/source/core/unocore/unoportenum.cxx
sw/source/filter/html/htmlatr.cxx
sw/source/filter/html/htmlgrin.cxx
sw/source/filter/html/wrthtml.cxx
sw/source/filter/writer/writer.cxx
sw/source/filter/ww1/fltshell.cxx
sw/source/filter/ww8/wrtw8nds.cxx
sw/source/filter/ww8/ww8par.cxx
sw/source/ui/dialog/uiregionsw.cxx
sw/source/ui/dochdl/swdtflvr.cxx
sw/source/ui/docvw/PostItMgr.cxx
sw/source/ui/docvw/SidebarWin.cxx
sw/source/ui/fldui/fldmgr.cxx
sw/source/ui/fldui/fldref.cxx
sw/source/ui/inc/fldmgr.hxx
sw/source/ui/inc/wrtsh.hxx
sw/source/ui/shells/textfld.cxx
sw/source/ui/uiview/view2.cxx
sw/source/ui/utlui/navipi.cxx
sw/source/ui/wrtsh/wrtsh2.cxx
writerfilter/source/dmapper/DomainMapper_Impl.cxx
writerfilter/source/dmapper/DomainMapper_Impl.hxx
writerfilter/source/dmapper/PropertyMap.cxx
xmloff/inc/txtfldi.hxx
xmloff/source/text/txtfldi.cxx
xmloff/source/text/txtparae.cxx
Change-Id: Ie4cc467dbb837054c73742262ee20f35c151ff3f
Diffstat (limited to 'sw/inc/IDocumentMarkAccess.hxx')
-rw-r--r-- | sw/inc/IDocumentMarkAccess.hxx | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/sw/inc/IDocumentMarkAccess.hxx b/sw/inc/IDocumentMarkAccess.hxx index 739bc4f6a7f9..917a57f892d4 100644 --- a/sw/inc/IDocumentMarkAccess.hxx +++ b/sw/inc/IDocumentMarkAccess.hxx @@ -45,6 +45,7 @@ class IDocumentMarkAccess BOOKMARK, CROSSREF_HEADING_BOOKMARK, CROSSREF_NUMITEM_BOOKMARK, + ANNOTATIONMARK, TEXT_FIELDMARK, CHECKBOX_FIELDMARK, NAVIGATOR_REMINDER @@ -86,6 +87,10 @@ class IDocumentMarkAccess const OUString& rName, const OUString& rType) = 0; + virtual sw::mark::IMark* makeAnnotationMark( + const SwPaM& rPaM, + const ::rtl::OUString& rName ) = 0; + /** Returns a mark in the document for a paragraph. If there is none, a mark will be created. @@ -159,6 +164,9 @@ class IDocumentMarkAccess const xub_StrLen nOffset) =0; /** Deletes marks in a range + + Note: navigator reminders are excluded + */ virtual void deleteMarks( const SwNodeIndex& rStt, @@ -188,15 +196,17 @@ class IDocumentMarkAccess /** returns a STL-like random access iterator to the begin of the sequence of marks. */ - virtual const_iterator_t getMarksBegin() const =0; + virtual const_iterator_t getAllMarksBegin() const =0; /** returns a STL-like random access iterator to the end of the sequence of marks. */ - virtual const_iterator_t getMarksEnd() const =0; + virtual const_iterator_t getAllMarksEnd() const =0; /** returns the number of marks. + + Note: annotation marks are excluded */ - virtual sal_Int32 getMarksCount() const =0; + virtual sal_Int32 getAllMarksCount() const =0; /** Finds a mark by name. @@ -204,12 +214,12 @@ class IDocumentMarkAccess [in] the name of the mark to find. @returns - an iterator pointing to the mark, or pointing to getMarksEnd() if nothing was found. + an iterator pointing to the mark, or pointing to getAllMarksEnd() if nothing was found. */ virtual const_iterator_t findMark(const OUString& rMark) const =0; - // interface IBookmarks (BOOKMARK, CROSSREF_NUMITEM_BOOKMARK, CROSSREF_HEADING_BOOKMARK) + // interface IBookmarks (BOOKMARK, CROSSREF_NUMITEM_BOOKMARK, CROSSREF_HEADING_BOOKMARK ) /** returns a STL-like random access iterator to the begin of the sequence the IBookmarks. */ @@ -239,6 +249,17 @@ class IDocumentMarkAccess virtual ::sw::mark::IFieldmark* getFieldmarkBefore(const SwPosition& pos) const =0; virtual ::sw::mark::IFieldmark* getFieldmarkAfter(const SwPosition& pos) const =0; + // Marks exclusive annotation marks + virtual const_iterator_t getCommonMarksBegin() const = 0; + virtual const_iterator_t getCommonMarksEnd() const = 0; + virtual sal_Int32 getCommonMarksCount() const = 0; + + // Annotation Marks + virtual const_iterator_t getAnnotationMarksBegin() const = 0; + virtual const_iterator_t getAnnotationMarksEnd() const = 0; + virtual sal_Int32 getAnnotationMarksCount() const = 0; + virtual const_iterator_t findAnnotationMark( const ::rtl::OUString& rName ) const = 0; + /** Returns the MarkType used to create the mark */ static MarkType SAL_DLLPUBLIC_EXPORT GetType(const ::sw::mark::IMark& rMark); |