summaryrefslogtreecommitdiff
path: root/sw/inc/IDocumentMarkAccess.hxx
diff options
context:
space:
mode:
authorOliver-Rainer Wittmann <orw@apache.org>2013-12-19 18:50:58 +0000
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-01-08 15:58:35 +0100
commit0761f81643a6890457e9ef7d913ab5c88c2593a4 (patch)
tree91bf122795dfac3f9263942ab3c5dee2b4ecea26 /sw/inc/IDocumentMarkAccess.hxx
parentdf002e39f7518036ae1c1d2afec7a525ef902327 (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.hxx31
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);