summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2024-08-04 16:42:30 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2024-08-04 22:40:48 +0200
commitf7197e574cdbd7410fcadab1632bcce2626dca5a (patch)
treed7d2f9563037bc647db25aa0704b5a6ced1cca8c
parent59471bb949e8d8d64023b17136921f59e0bf705e (diff)
simplify IMark hierarchy (6)
merge IMark into MarkBase Change-Id: I5d3c648c950f97497c96912c25081906de434056 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171464 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
-rw-r--r--sw/inc/IDocumentMarkAccess.hxx32
-rw-r--r--sw/inc/IMark.hxx52
-rw-r--r--sw/inc/contentindex.hxx8
-rw-r--r--sw/inc/crsrsh.hxx8
-rw-r--r--sw/inc/pam.hxx2
-rw-r--r--sw/inc/postithelper.hxx4
-rw-r--r--sw/inc/shellio.hxx4
-rw-r--r--sw/inc/swserv.hxx8
-rw-r--r--sw/inc/txtannotationfld.hxx4
-rw-r--r--sw/inc/unocrsrhelper.hxx4
-rw-r--r--sw/inc/unotextrange.hxx4
-rw-r--r--sw/qa/core/macros-test.cxx4
-rw-r--r--sw/qa/core/uwriter.cxx6
-rw-r--r--sw/qa/extras/uiwriter/uiwriter4.cxx14
-rw-r--r--sw/qa/extras/uiwriter/uiwriter5.cxx2
-rw-r--r--sw/qa/extras/uiwriter/uiwriter7.cxx4
-rw-r--r--sw/qa/uibase/shells/shells.cxx2
-rw-r--r--sw/source/core/bastyp/index.cxx2
-rw-r--r--sw/source/core/crsr/crbm.cxx26
-rw-r--r--sw/source/core/crsr/swcrsr.cxx2
-rw-r--r--sw/source/core/doc/CntntIdxStore.cxx4
-rw-r--r--sw/source/core/doc/DocumentContentOperationsManager.cxx14
-rw-r--r--sw/source/core/doc/docbm.cxx73
-rw-r--r--sw/source/core/doc/docnew.cxx6
-rw-r--r--sw/source/core/doc/docredln.cxx2
-rw-r--r--sw/source/core/doc/swserv.cxx2
-rw-r--r--sw/source/core/fields/postithelper.cxx6
-rw-r--r--sw/source/core/fields/reffld.cxx2
-rw-r--r--sw/source/core/inc/MarkManager.hxx18
-rw-r--r--sw/source/core/inc/UndoBookmark.hxx6
-rw-r--r--sw/source/core/inc/mvsave.hxx4
-rw-r--r--sw/source/core/inc/rolbck.hxx6
-rw-r--r--sw/source/core/inc/txtfrm.hxx4
-rw-r--r--sw/source/core/inc/unobookmark.hxx12
-rw-r--r--sw/source/core/layout/ssfrm.cxx2
-rw-r--r--sw/source/core/text/EnhancedPDFExportHelper.cxx2
-rw-r--r--sw/source/core/text/inftxt.cxx2
-rw-r--r--sw/source/core/text/porlay.cxx4
-rw-r--r--sw/source/core/text/porrst.cxx2
-rw-r--r--sw/source/core/tox/txmsrt.cxx2
-rw-r--r--sw/source/core/txtnode/atrfld.cxx2
-rw-r--r--sw/source/core/txtnode/ndtxt.cxx4
-rw-r--r--sw/source/core/undo/rolbck.cxx8
-rw-r--r--sw/source/core/undo/unbkmk.cxx6
-rw-r--r--sw/source/core/undo/undobj.cxx2
-rw-r--r--sw/source/core/unocore/unobkm.cxx41
-rw-r--r--sw/source/core/unocore/unocrsrhelper.cxx4
-rw-r--r--sw/source/core/unocore/unoobj2.cxx10
-rw-r--r--sw/source/core/unocore/unoportenum.cxx8
-rw-r--r--sw/source/filter/html/htmlgrin.cxx4
-rw-r--r--sw/source/filter/html/swhtml.cxx2
-rw-r--r--sw/source/filter/html/wrthtml.cxx2
-rw-r--r--sw/source/filter/writer/writer.cxx10
-rw-r--r--sw/source/filter/ww8/docxexport.cxx6
-rw-r--r--sw/source/filter/ww8/wrtw8nds.cxx18
-rw-r--r--sw/source/filter/ww8/wrtww8.cxx8
-rw-r--r--sw/source/filter/ww8/wrtww8.hxx2
-rw-r--r--sw/source/filter/ww8/ww8par.cxx2
-rw-r--r--sw/source/ui/dbui/dbinsdlg.cxx2
-rw-r--r--sw/source/ui/dialog/uiregionsw.cxx2
-rw-r--r--sw/source/ui/fldui/fldref.cxx6
-rw-r--r--sw/source/ui/inc/bookmark.hxx6
-rw-r--r--sw/source/ui/misc/bookmark.cxx37
-rw-r--r--sw/source/uibase/dochdl/swdtflvr.cxx14
-rw-r--r--sw/source/uibase/docvw/PostItMgr.cxx2
-rw-r--r--sw/source/uibase/inc/mmconfigitem.hxx4
-rw-r--r--sw/source/uibase/inc/wrtsh.hxx6
-rw-r--r--sw/source/uibase/shells/textfld.cxx2
-rw-r--r--sw/source/uibase/shells/textsh1.cxx2
-rw-r--r--sw/source/uibase/uno/loktxdoc.cxx4
-rw-r--r--sw/source/uibase/uno/unotxvw.cxx2
-rw-r--r--sw/source/uibase/utlui/content.cxx6
-rw-r--r--sw/source/uibase/wrtsh/move.cxx2
-rw-r--r--sw/source/uibase/wrtsh/wrtsh3.cxx4
74 files changed, 283 insertions, 322 deletions
diff --git a/sw/inc/IDocumentMarkAccess.hxx b/sw/inc/IDocumentMarkAccess.hxx
index 438c94a6b704..e170f5a19eb3 100644
--- a/sw/inc/IDocumentMarkAccess.hxx
+++ b/sw/inc/IDocumentMarkAccess.hxx
@@ -55,7 +55,7 @@ class IDocumentMarkAccess
};
/** wrapper iterator: wraps iterator of implementation while hiding
- MarkBase class; only IMark instances can be retrieved directly.
+ MarkBase class; only MarkBase instances can be retrieved directly.
*/
class SW_DLLPUBLIC iterator
{
@@ -67,9 +67,9 @@ class IDocumentMarkAccess
std::vector<::sw::mark::MarkBase*>::const_iterator const& get() const;
typedef std::ptrdiff_t difference_type;
- typedef ::sw::mark::IMark* value_type;
- typedef ::sw::mark::IMark* const* pointer;
- typedef ::sw::mark::IMark* const& reference;
+ typedef ::sw::mark::MarkBase* value_type;
+ typedef ::sw::mark::MarkBase* const* pointer;
+ typedef ::sw::mark::MarkBase* const& reference;
typedef std::random_access_iterator_tag iterator_category;
iterator();
@@ -84,9 +84,9 @@ class IDocumentMarkAccess
// possible because we have to return a temp value;
// let's try value_type instead, perhaps it's sufficient,
// for a const_iterator...
- ::sw::mark::IMark* /*const&*/ operator*() const;
+ ::sw::mark::MarkBase* /*const&*/ operator*() const;
// nope can't do that :(
- //::sw::mark::IMark* /* const* */ operator->() const;
+ //::sw::mark::MarkBase* /* const* */ operator->() const;
iterator& operator++();
iterator operator++(int);
bool operator==(iterator const& rOther) const;
@@ -129,7 +129,7 @@ class IDocumentMarkAccess
@returns
a pointer to the new mark (name might have changed).
*/
- virtual ::sw::mark::IMark* makeMark(const SwPaM& rPaM,
+ virtual ::sw::mark::MarkBase* makeMark(const SwPaM& rPaM,
const OUString& rProposedName,
MarkType eMark, ::sw::mark::InsertMode eMode,
SwPosition const* pSepPos = nullptr) = 0;
@@ -142,7 +142,7 @@ class IDocumentMarkAccess
const OUString& rName,
const OUString& rType) = 0;
- virtual sw::mark::IMark* makeAnnotationMark(
+ virtual sw::mark::MarkBase* makeAnnotationMark(
const SwPaM& rPaM,
const OUString& rName ) = 0;
@@ -158,7 +158,7 @@ class IDocumentMarkAccess
@returns
a pointer to the new mark (name might have changed).
*/
- virtual ::sw::mark::IMark* getMarkForTextNode(const SwTextNode& rTextNode,
+ virtual ::sw::mark::MarkBase* getMarkForTextNode(const SwTextNode& rTextNode,
MarkType eMark) =0;
/** Moves an existing mark to a new selection and performs needed updates.
@@ -169,7 +169,7 @@ class IDocumentMarkAccess
[in] new selection to be marked
*/
- virtual void repositionMark(::sw::mark::IMark* io_pMark,
+ virtual void repositionMark(::sw::mark::MarkBase* io_pMark,
const SwPaM& rPaM) =0;
/** Renames an existing Mark, if possible.
@@ -181,7 +181,7 @@ class IDocumentMarkAccess
@returns false, if renaming failed (because the name is already in use)
*/
- virtual bool renameMark(::sw::mark::IMark* io_pMark,
+ virtual bool renameMark(::sw::mark::MarkBase* io_pMark,
const OUString& rNewName) =0;
/** Corrects marks (absolute)
@@ -247,7 +247,7 @@ class IDocumentMarkAccess
@param ppMark
[in] the name of the mark to be deleted.
*/
- virtual void deleteMark(const ::sw::mark::IMark* const pMark) =0;
+ virtual void deleteMark(const ::sw::mark::MarkBase* const pMark) =0;
/** Clear (deletes) all marks.
*/
@@ -321,7 +321,7 @@ class IDocumentMarkAccess
virtual const_iterator_t findFirstBookmarkStartsAfter(const SwPosition& rPos) const =0;
/// Get the innermost bookmark that contains rPos.
- virtual sw::mark::IMark* getOneInnermostBookmarkFor(const SwPosition& rPos) const = 0;
+ virtual sw::mark::MarkBase* getOneInnermostBookmarkFor(const SwPosition& rPos) const = 0;
// Fieldmarks
/** returns a STL-like random access iterator to the begin of the sequence of fieldmarks.
@@ -355,10 +355,10 @@ class IDocumentMarkAccess
virtual const_iterator_t getAnnotationMarksEnd() const = 0;
virtual sal_Int32 getAnnotationMarksCount() const = 0;
virtual const_iterator_t findAnnotationMark( const OUString& rName ) const = 0;
- virtual sw::mark::IMark* getAnnotationMarkFor(const SwPosition& rPosition) const = 0;
+ virtual sw::mark::MarkBase* getAnnotationMarkFor(const SwPosition& rPosition) const = 0;
// handle and restore text ranges of annotations of tracked deletions
// based on the helper bookmarks (which can survive I/O and hiding redlines)
- virtual ::sw::mark::IMark* makeAnnotationBookmark(const SwPaM& rPaM,
+ virtual ::sw::mark::MarkBase* makeAnnotationBookmark(const SwPaM& rPaM,
const OUString& rProposedName,
MarkType eMark, ::sw::mark::InsertMode eMode,
SwPosition const* pSepPos = nullptr) = 0;
@@ -373,7 +373,7 @@ class IDocumentMarkAccess
/** Returns the MarkType used to create the mark
*/
- static SW_DLLPUBLIC MarkType GetType(const ::sw::mark::IMark& rMark);
+ static SW_DLLPUBLIC MarkType GetType(const ::sw::mark::MarkBase& rMark);
static SW_DLLPUBLIC OUString GetCrossRefHeadingBookmarkNamePrefix();
static SW_DLLPUBLIC bool IsLegalPaMForCrossRefHeadingBookmark( const SwPaM& rPaM );
diff --git a/sw/inc/IMark.hxx b/sw/inc/IMark.hxx
index 2fba11ead502..8aea5ea991f0 100644
--- a/sw/inc/IMark.hxx
+++ b/sw/inc/IMark.hxx
@@ -51,51 +51,23 @@ namespace sw::mark
CopyText,
};
- class SW_DLLPUBLIC IMark
- : virtual public sw::BroadcastingModify // inherited as interface
- {
- protected:
- IMark() = default;
-
- public:
- //getters
- virtual const SwPosition& GetMarkPos() const =0;
- // GetOtherMarkPos() is only guaranteed to return a valid
- // reference if IsExpanded() returned true
- virtual const SwPosition& GetOtherMarkPos() const =0;
- virtual const SwPosition& GetMarkStart() const =0;
- virtual const SwPosition& GetMarkEnd() const =0;
- virtual const OUString& GetName() const =0;
- virtual bool IsExpanded() const =0;
- virtual bool IsCoveringPosition(const SwPosition& rPos) const =0;
-
- //setters
- // not available in IMark
- // inside core, you can cast to MarkBase and use its setters,
- // make sure to update the sorting in Markmanager in this case
-
- virtual OUString ToString( ) const =0;
- virtual void dumpAsXml(xmlTextWriterPtr pWriter) const = 0;
- private:
- IMark(IMark const &) = delete;
- IMark &operator =(IMark const&) = delete;
- };
-
class SW_DLLPUBLIC MarkBase
- : virtual public IMark
+ : virtual public sw::BroadcastingModify // inherited as interface
{
public:
//getters
- SwPosition& GetMarkPos() const override
+ SwPosition& GetMarkPos() const
{ return const_cast<SwPosition&>(*m_oPos1); }
- const OUString& GetName() const override
+ const OUString& GetName() const
{ return m_aName; }
- SwPosition& GetOtherMarkPos() const override
+ // GetOtherMarkPos() is only guaranteed to return a valid
+ // reference if IsExpanded() returned true
+ virtual SwPosition& GetOtherMarkPos() const
{
OSL_PRECOND(IsExpanded(), "<SwPosition::GetOtherMarkPos(..)> - I have no other Pos set." );
return const_cast<SwPosition&>(*m_oPos2);
}
- SwPosition& GetMarkStart() const override
+ virtual SwPosition& GetMarkStart() const
{
if( !IsExpanded() ) return GetMarkPos( );
if ( GetMarkPos( ) < GetOtherMarkPos( ) )
@@ -103,7 +75,7 @@ namespace sw::mark
else
return GetOtherMarkPos( );
}
- SwPosition& GetMarkEnd() const override
+ virtual SwPosition& GetMarkEnd() const
{
if( !IsExpanded() ) return GetMarkPos();
if ( GetMarkPos( ) >= GetOtherMarkPos( ) )
@@ -112,8 +84,8 @@ namespace sw::mark
return GetOtherMarkPos( );
}
- bool IsCoveringPosition(const SwPosition& rPos) const override;
- bool IsExpanded() const override
+ bool IsCoveringPosition(const SwPosition& rPos) const;
+ virtual bool IsExpanded() const
{ return m_oPos2.has_value(); }
void SetName(const OUString& rName)
@@ -125,8 +97,8 @@ namespace sw::mark
virtual auto InvalidateFrames() -> void;
- OUString ToString( ) const override;
- void dumpAsXml(xmlTextWriterPtr pWriter) const override;
+ virtual OUString ToString( ) const;
+ virtual void dumpAsXml(xmlTextWriterPtr pWriter) const;
void Swap()
{
diff --git a/sw/inc/contentindex.hxx b/sw/inc/contentindex.hxx
index ea54b1c052a2..c433782d7e38 100644
--- a/sw/inc/contentindex.hxx
+++ b/sw/inc/contentindex.hxx
@@ -30,7 +30,7 @@ class SwContentIndexReg;
struct SwPosition;
class SwRangeRedline;
-namespace sw::mark { class IMark; }
+namespace sw::mark { class MarkBase; }
/// Marks a character position inside a document model content node (SwContentNode)
class SAL_WARN_UNUSED SW_DLLPUBLIC SwContentIndex
@@ -48,7 +48,7 @@ private:
SwRangeRedline * m_pRangeRedline = nullptr;
/// Pointer to a mark that owns this position to allow fast lookup of marks of an SwContentIndexReg.
- const sw::mark::IMark* m_pMark;
+ const sw::mark::MarkBase* m_pMark;
SwContentIndex& ChgValue( const SwContentIndex& rIdx, sal_Int32 nNewValue );
void Init(sal_Int32 const nIdx);
@@ -103,8 +103,8 @@ public:
const SwContentNode* GetContentNode() const { return m_pContentNode; }
const SwContentIndex* GetNext() const { return m_pNext; }
- const sw::mark::IMark* GetMark() const { return m_pMark; }
- void SetMark(const sw::mark::IMark* pMark);
+ const sw::mark::MarkBase* GetMark() const { return m_pMark; }
+ void SetMark(const sw::mark::MarkBase* pMark);
SwRangeRedline* GetRedline() const { return m_pRangeRedline; }
void SetRedline(SwRangeRedline* pRangeRedline) { m_pRangeRedline = pRangeRedline; }
diff --git a/sw/inc/crsrsh.hxx b/sw/inc/crsrsh.hxx
index 25f8b549a18d..8b9f138506aa 100644
--- a/sw/inc/crsrsh.hxx
+++ b/sw/inc/crsrsh.hxx
@@ -588,17 +588,17 @@ public:
void GoNextPrevCursorSetSearchLabel(const bool bNext);
// at CurrentCursor.SPoint
- SW_DLLPUBLIC ::sw::mark::IMark* SetBookmark(
+ SW_DLLPUBLIC ::sw::mark::MarkBase* SetBookmark(
const vcl::KeyCode&,
const OUString& rName,
IDocumentMarkAccess::MarkType eMark = IDocumentMarkAccess::MarkType::BOOKMARK);
- SW_DLLPUBLIC ::sw::mark::IMark* SetBookmark2(
+ SW_DLLPUBLIC ::sw::mark::MarkBase* SetBookmark2(
const vcl::KeyCode&,
const OUString& rName,
bool bHide,
const OUString& rCondition);
- SW_DLLPUBLIC bool GotoMark( const ::sw::mark::IMark* const pMark ); // sets CurrentCursor.SPoint
- bool GotoMark( const ::sw::mark::IMark* const pMark, bool bAtStart );
+ SW_DLLPUBLIC bool GotoMark( const ::sw::mark::MarkBase* const pMark ); // sets CurrentCursor.SPoint
+ bool GotoMark( const ::sw::mark::MarkBase* const pMark, bool bAtStart );
bool GoNextBookmark(); // true, if there was one
bool GoPrevBookmark();
diff --git a/sw/inc/pam.hxx b/sw/inc/pam.hxx
index 62721beb0c4c..c9bffacb2d65 100644
--- a/sw/inc/pam.hxx
+++ b/sw/inc/pam.hxx
@@ -83,7 +83,7 @@ struct SAL_WARN_UNUSED SW_DLLPUBLIC SwPosition
const SwContentNode* GetContentNode() const { return nContent.GetContentNode(); }
sal_Int32 GetContentIndex() const { return nContent.GetIndex(); }
- void SetMark(const sw::mark::IMark* pMark) { nContent.SetMark(pMark); }
+ void SetMark(const sw::mark::MarkBase* pMark) { nContent.SetMark(pMark); }
void SetRedline(SwRangeRedline* pRangeRedline) { nContent.SetRedline(pRangeRedline); }
/// These all set both nNode and nContent
diff --git a/sw/inc/postithelper.hxx b/sw/inc/postithelper.hxx
index f55d64d39a99..e9d30a3d854d 100644
--- a/sw/inc/postithelper.hxx
+++ b/sw/inc/postithelper.hxx
@@ -33,7 +33,7 @@ class SwEditWin;
class SwFrame;
class IDocumentRedlineAccess;
namespace sw::annotation { class SwAnnotationWin; }
-namespace sw::mark { class IMark; }
+namespace sw::mark { class MarkBase; }
struct SwPosition;
@@ -84,7 +84,7 @@ namespace SwPostItHelper
SwLayoutStatus getLayoutInfos(
SwLayoutInfo& o_rInfo,
const SwPosition& rAnchorPos,
- const sw::mark::IMark* pAnnotationMark = nullptr );
+ const sw::mark::MarkBase* pAnnotationMark = nullptr );
tools::Long getLayoutHeight( const SwRootFrame* pRoot );
void setSidebarChanged( SwRootFrame* pRoot, bool bBrowseMode );
diff --git a/sw/inc/shellio.hxx b/sw/inc/shellio.hxx
index 370f6f6daa68..5121d5371181 100644
--- a/sw/inc/shellio.hxx
+++ b/sw/inc/shellio.hxx
@@ -48,7 +48,7 @@ class SwPaM;
class SwTextBlocks;
struct SwPosition;
struct Writer_Impl;
-namespace sw::mark { class IMark; }
+namespace sw::mark { class MarkBase; }
namespace com::sun::star::embed { class XStorage; }
// Defines the count of chars at which a paragraph read via ASCII/W4W-Reader
@@ -458,7 +458,7 @@ public:
// Search all Bookmarks in the range and return it in the Array.
bool GetBookmarks( const SwContentNode& rNd,
sal_Int32 nStt, sal_Int32 nEnd,
- std::vector< const ::sw::mark::IMark* >& rArr );
+ std::vector< const ::sw::mark::MarkBase* >& rArr );
// Create new PaM at position.
static std::shared_ptr<SwUnoCursor> NewUnoCursor(SwDoc & rDoc,
diff --git a/sw/inc/swserv.hxx b/sw/inc/swserv.hxx
index c80c0e7de928..6063feb1c3b2 100644
--- a/sw/inc/swserv.hxx
+++ b/sw/inc/swserv.hxx
@@ -26,7 +26,7 @@ class SwBaseLink;
class SwTableNode;
struct SwPosition;
class SwPaM;
-namespace sw::mark { class IMark; }
+namespace sw::mark { class MarkBase; }
class SwServerObject final : public ::sfx2::SvLinkSource
{
@@ -34,13 +34,13 @@ class SwServerObject final : public ::sfx2::SvLinkSource
enum ServerModes { BOOKMARK_SERVER, TABLE_SERVER, SECTION_SERVER, NONE_SERVER } m_eType;
union {
- ::sw::mark::IMark* pBkmk;
+ ::sw::mark::MarkBase* pBkmk;
SwTableNode* pTableNd;
SwSectionNode* pSectNd;
} m_CNTNT_TYPE;
public:
- SwServerObject( ::sw::mark::IMark& rBookmark )
+ SwServerObject( ::sw::mark::MarkBase& rBookmark )
: m_eType( BOOKMARK_SERVER )
{
m_CNTNT_TYPE.pBkmk = &rBookmark;
@@ -67,7 +67,7 @@ public:
bool IsLinkInServer( const SwBaseLink* ) const;
void SetNoServer();
- void SetDdeBookmark( ::sw::mark::IMark& rBookmark);
+ void SetDdeBookmark( ::sw::mark::MarkBase& rBookmark);
};
#endif // INCLUDED_SW_INC_SWSERV_HXX
diff --git a/sw/inc/txtannotationfld.hxx b/sw/inc/txtannotationfld.hxx
index b1d35b33ea25..a8acb2940e79 100644
--- a/sw/inc/txtannotationfld.hxx
+++ b/sw/inc/txtannotationfld.hxx
@@ -22,7 +22,7 @@
#include "txtfld.hxx"
-namespace sw::mark { class IMark; }
+namespace sw::mark { class MarkBase; }
class SwTextAnnotationField final : public SwTextField
{
@@ -34,7 +34,7 @@ public:
virtual ~SwTextAnnotationField() override;
- ::sw::mark::IMark* GetAnnotationMark() const;
+ ::sw::mark::MarkBase* GetAnnotationMark() const;
};
#endif
diff --git a/sw/inc/unocrsrhelper.hxx b/sw/inc/unocrsrhelper.hxx
index 036ec451aafd..a510216641f8 100644
--- a/sw/inc/unocrsrhelper.hxx
+++ b/sw/inc/unocrsrhelper.hxx
@@ -40,7 +40,7 @@ struct SwSortOptions;
class SwDoc;
class SwRootFrame;
-namespace sw::mark { class IMark; }
+namespace sw::mark { class MarkBase; }
namespace com::sun::star{
namespace beans{
@@ -235,7 +235,7 @@ namespace SwUnoCursorHelper
SwDoc & rTargetDoc,
std::optional<SwPaM>& o_rpPaM, std::pair<OUString, FlyCntType> & o_rFrame,
OUString & o_rTableName, SwUnoTableCursor const*& o_rpTableCursor,
- ::sw::mark::IMark const*& o_rpMark,
+ ::sw::mark::MarkBase const*& o_rpMark,
std::vector<SdrObject *> & o_rSdrObjects);
css::uno::Reference<css::text::XFlatParagraphIterator>
diff --git a/sw/inc/unotextrange.hxx b/sw/inc/unotextrange.hxx
index fa58a0410e08..7e43d72c2f30 100644
--- a/sw/inc/unotextrange.hxx
+++ b/sw/inc/unotextrange.hxx
@@ -103,7 +103,7 @@ private:
std::u16string_view aText, ::sw::DeleteAndInsertMode eMode);
void Invalidate();
void GetStartPaM(std::optional<SwPaM>& roPaM);
- void SetMark(::sw::mark::IMark& rMark);
+ void SetMark(::sw::mark::MarkBase& rMark);
void InvalidateImpl();
virtual ~SwXTextRange() override;
@@ -211,7 +211,7 @@ private:
SwDoc& m_rDoc;
css::uno::Reference<css::text::XText> m_xParentText;
const SwFrameFormat* m_pTableOrSectionFormat;
- const ::sw::mark::IMark* m_pMark;
+ const ::sw::mark::MarkBase* m_pMark;
struct MySvtListener : public SvtListener
{
SwXTextRange& mrTextRange;
diff --git a/sw/qa/core/macros-test.cxx b/sw/qa/core/macros-test.cxx
index 21798735cd09..b5b3ec02828e 100644
--- a/sw/qa/core/macros-test.cxx
+++ b/sw/qa/core/macros-test.cxx
@@ -190,7 +190,7 @@ void SwMacrosTest::testBookmarkDeleteAndJoin()
aPaM.SetMark();
aPaM.Move(fnMoveForward, GoInDoc);
IDocumentMarkAccess & rIDMA = *pDoc->getIDocumentMarkAccess();
- sw::mark::IMark *pMark =
+ sw::mark::MarkBase *pMark =
rIDMA.makeMark(aPaM, u"test"_ustr, IDocumentMarkAccess::MarkType::BOOKMARK,
::sw::mark::InsertMode::New);
CPPUNIT_ASSERT(pMark);
@@ -225,7 +225,7 @@ void SwMacrosTest::testBookmarkDeleteTdf90816()
aPaM.SetMark();
aPaM.Move(fnMoveBackward, GoInContent);
IDocumentMarkAccess & rIDMA = *pDoc->getIDocumentMarkAccess();
- sw::mark::IMark *pMark =
+ sw::mark::MarkBase *pMark =
rIDMA.makeMark(aPaM, u"test"_ustr, IDocumentMarkAccess::MarkType::BOOKMARK,
::sw::mark::InsertMode::New);
CPPUNIT_ASSERT(pMark);
diff --git a/sw/qa/core/uwriter.cxx b/sw/qa/core/uwriter.cxx
index 8206934d9011..63f417464be6 100644
--- a/sw/qa/core/uwriter.cxx
+++ b/sw/qa/core/uwriter.cxx
@@ -1474,9 +1474,9 @@ void SwDocTest::testMarkMove()
SwTextNode& rParaNode2 = dynamic_cast<SwTextNode&>(aIdx.GetNode());
rParaNode2.JoinNext();
}
- ::sw::mark::IMark* pBM1 = *pMarksAccess->findMark(u"Para1"_ustr);
- ::sw::mark::IMark* pBM2 = *pMarksAccess->findMark(u"Para2"_ustr);
- ::sw::mark::IMark* pBM3 = *pMarksAccess->findMark(u"Para3"_ustr);
+ ::sw::mark::MarkBase* pBM1 = *pMarksAccess->findMark(u"Para1"_ustr);
+ ::sw::mark::MarkBase* pBM2 = *pMarksAccess->findMark(u"Para2"_ustr);
+ ::sw::mark::MarkBase* pBM3 = *pMarksAccess->findMark(u"Para3"_ustr);
CPPUNIT_ASSERT_EQUAL(sal_Int32(0) , pBM1->GetMarkStart().GetContentIndex());
CPPUNIT_ASSERT_EQUAL(sal_Int32(11), pBM1->GetMarkEnd().GetContentIndex());
diff --git a/sw/qa/extras/uiwriter/uiwriter4.cxx b/sw/qa/extras/uiwriter/uiwriter4.cxx
index 408bbea89384..8a0938486416 100644
--- a/sw/qa/extras/uiwriter/uiwriter4.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter4.cxx
@@ -547,7 +547,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest4, testTdf96479)
SwNodeIndex aIdx(pDoc->GetNodes().GetEndOfContent(), -1);
SwPaM aPaM(aIdx);
IDocumentMarkAccess& rIDMA = *pDoc->getIDocumentMarkAccess();
- sw::mark::IMark* pMark
+ sw::mark::MarkBase* pMark
= rIDMA.makeMark(aPaM, u"original"_ustr, IDocumentMarkAccess::MarkType::BOOKMARK,
::sw::mark::InsertMode::New);
CPPUNIT_ASSERT(!pMark->IsExpanded());
@@ -704,9 +704,9 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest4, testRemoveBookmarkText)
lcl_selectCharacters(aPaM, 0, 3);
IDocumentMarkAccess& rIDMA = *pDoc->getIDocumentMarkAccess();
- sw::mark::IMark* pMark = rIDMA.makeMark(aPaM, u"testBookmark"_ustr,
- IDocumentMarkAccess::MarkType::BOOKMARK,
- ::sw::mark::InsertMode::New);
+ sw::mark::MarkBase* pMark = rIDMA.makeMark(aPaM, u"testBookmark"_ustr,
+ IDocumentMarkAccess::MarkType::BOOKMARK,
+ ::sw::mark::InsertMode::New);
// verify
CPPUNIT_ASSERT(pMark->IsExpanded());
@@ -782,9 +782,9 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest4, testRemoveBookmarkTextAndAddNew)
lcl_selectCharacters(aPaM, 0, 3);
IDocumentMarkAccess& rIDMA = *pDoc->getIDocumentMarkAccess();
- sw::mark::IMark* pMark = rIDMA.makeMark(aPaM, u"testBookmark"_ustr,
- IDocumentMarkAccess::MarkType::BOOKMARK,
- ::sw::mark::InsertMode::New);
+ sw::mark::MarkBase* pMark = rIDMA.makeMark(aPaM, u"testBookmark"_ustr,
+ IDocumentMarkAccess::MarkType::BOOKMARK,
+ ::sw::mark::InsertMode::New);
// verify
CPPUNIT_ASSERT(pMark->IsExpanded());
diff --git a/sw/qa/extras/uiwriter/uiwriter5.cxx b/sw/qa/extras/uiwriter/uiwriter5.cxx
index 45629761d907..3a6608e9a508 100644
--- a/sw/qa/extras/uiwriter/uiwriter5.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter5.cxx
@@ -1313,7 +1313,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest5, testImageCommentAtChar)
// Get the annotation mark doc model start.
auto it = pDoc->getIDocumentMarkAccess()->getAnnotationMarksBegin();
CPPUNIT_ASSERT(it != pDoc->getIDocumentMarkAccess()->getAnnotationMarksEnd());
- const sw::mark::IMark* pMark = *it;
+ const sw::mark::MarkBase* pMark = *it;
const SwPosition& rAnnotationMarkStart = pMark->GetMarkPos();
// Without the accompanying fix in place, this test would have failed with:
diff --git a/sw/qa/extras/uiwriter/uiwriter7.cxx b/sw/qa/extras/uiwriter/uiwriter7.cxx
index 587045a8ce64..4cdfbc3e7a0c 100644
--- a/sw/qa/extras/uiwriter/uiwriter7.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter7.cxx
@@ -2365,7 +2365,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest7, testTdf94804)
SwPaM* pCrsr = pShell->GetCursor();
IDocumentMarkAccess* pIDMAccess(pDoc->getIDocumentMarkAccess());
//make first bookmark, CROSSREF_HEADING, with *empty* name
- sw::mark::IMark* pMark1(pIDMAccess->makeMark(
+ sw::mark::MarkBase* pMark1(pIDMAccess->makeMark(
*pCrsr, u""_ustr, IDocumentMarkAccess::MarkType::CROSSREF_HEADING_BOOKMARK,
::sw::mark::InsertMode::New));
//get the new(autogenerated) bookmark name
@@ -2373,7 +2373,7 @@ CPPUNIT_TEST_FIXTURE(SwUiWriterTest7, testTdf94804)
//match the bookmark name, it should be like "__RefHeading__**"
CPPUNIT_ASSERT(bookmark1name.match("__RefHeading__"));
//make second bookmark, CROSSREF_NUMITEM, with *empty* name
- sw::mark::IMark* pMark2(pIDMAccess->makeMark(
+ sw::mark::MarkBase* pMark2(pIDMAccess->makeMark(
*pCrsr, u""_ustr, IDocumentMarkAccess::MarkType::CROSSREF_NUMITEM_BOOKMARK,
::sw::mark::InsertMode::New));
//get the new(autogenerated) bookmark name
diff --git a/sw/qa/uibase/shells/shells.cxx b/sw/qa/uibase/shells/shells.cxx
index 97341709e458..59720ff244df 100644
--- a/sw/qa/uibase/shells/shells.cxx
+++ b/sw/qa/uibase/shells/shells.cxx
@@ -450,7 +450,7 @@ CPPUNIT_TEST_FIXTURE(SwUibaseShellsTest, testInsertBookmark)
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(1), rIDMA.getBookmarksCount());
for (auto it = rIDMA.getBookmarksBegin(); it != rIDMA.getBookmarksEnd(); ++it)
{
- sw::mark::IMark* pMark = *it;
+ sw::mark::MarkBase* pMark = *it;
CPPUNIT_ASSERT_EQUAL(aExpectedBookmarkName, pMark->GetName());
SwPaM aPam(pMark->GetMarkStart(), pMark->GetMarkEnd());
OUString aActualResult = aPam.GetText();
diff --git a/sw/source/core/bastyp/index.cxx b/sw/source/core/bastyp/index.cxx
index c7ded156ea26..4deeea8a7eb6 100644
--- a/sw/source/core/bastyp/index.cxx
+++ b/sw/source/core/bastyp/index.cxx
@@ -219,7 +219,7 @@ SwContentIndex& SwContentIndex::Assign( const SwContentNode* pArr, sal_Int32 nId
return *this;
}
-void SwContentIndex::SetMark(const sw::mark::IMark* pMark)
+void SwContentIndex::SetMark(const sw::mark::MarkBase* pMark)
{
m_pMark = pMark;
}
diff --git a/sw/source/core/crsr/crbm.cxx b/sw/source/core/crsr/crbm.cxx
index 551f390fc89b..bf9cc7e9c805 100644
--- a/sw/source/core/crsr/crbm.cxx
+++ b/sw/source/core/crsr/crbm.cxx
@@ -35,7 +35,7 @@ namespace
, m_aSaveState(*m_pCursor)
{ }
- void SetCursorToMark(::sw::mark::IMark const * const pMark)
+ void SetCursorToMark(::sw::mark::MarkBase const * const pMark)
{
*(m_pCursor->GetPoint()) = pMark->GetMarkStart();
if(pMark->IsExpanded())
@@ -62,26 +62,26 @@ namespace
SwCursorSaveState m_aSaveState;
};
- bool lcl_ReverseMarkOrderingByEnd(const ::sw::mark::IMark* pFirst,
- const ::sw::mark::IMark* pSecond)
+ bool lcl_ReverseMarkOrderingByEnd(const ::sw::mark::MarkBase* pFirst,
+ const ::sw::mark::MarkBase* pSecond)
{
return pFirst->GetMarkEnd() > pSecond->GetMarkEnd();
}
- bool lcl_IsInvisibleBookmark(const ::sw::mark::IMark* pMark)
+ bool lcl_IsInvisibleBookmark(const ::sw::mark::MarkBase* pMark)
{
return IDocumentMarkAccess::GetType(*pMark) != IDocumentMarkAccess::MarkType::BOOKMARK;
}
}
// at CurrentCursor.SPoint
-::sw::mark::IMark* SwCursorShell::SetBookmark(
+::sw::mark::MarkBase* SwCursorShell::SetBookmark(
const vcl::KeyCode& rCode,
const OUString& rName,
IDocumentMarkAccess::MarkType eMark)
{
StartAction();
- ::sw::mark::IMark* pMark = getIDocumentMarkAccess()->makeMark(
+ ::sw::mark::MarkBase* pMark = getIDocumentMarkAccess()->makeMark(
*GetCursor(),
rName,
eMark, sw::mark::InsertMode::New);
@@ -97,14 +97,14 @@ namespace
// set CurrentCursor.SPoint
// at CurrentCursor.SPoint
-::sw::mark::IMark* SwCursorShell::SetBookmark2(
+::sw::mark::MarkBase* SwCursorShell::SetBookmark2(
const vcl::KeyCode& rCode,
const OUString& rName,
bool bHide,
const OUString& rCondition)
{
StartAction();
- ::sw::mark::IMark* pMark = getIDocumentMarkAccess()->makeMark(
+ ::sw::mark::MarkBase* pMark = getIDocumentMarkAccess()->makeMark(
*GetCursor(),
rName,
IDocumentMarkAccess::MarkType::BOOKMARK, sw::mark::InsertMode::New);
@@ -122,7 +122,7 @@ namespace
namespace sw {
-bool IsMarkHidden(SwRootFrame const& rLayout, ::sw::mark::IMark const& rMark)
+bool IsMarkHidden(SwRootFrame const& rLayout, ::sw::mark::MarkBase const& rMark)
{
if (!rLayout.HasMergedParas())
{
@@ -165,7 +165,7 @@ bool IsMarkHidden(SwRootFrame const& rLayout, ::sw::mark::IMark const& rMark)
} // namespace sw
// set CurrentCursor.SPoint
-bool SwCursorShell::GotoMark(const ::sw::mark::IMark* const pMark, bool bAtStart)
+bool SwCursorShell::GotoMark(const ::sw::mark::MarkBase* const pMark, bool bAtStart)
{
if (sw::IsMarkHidden(*GetLayout(), *pMark))
{
@@ -184,7 +184,7 @@ bool SwCursorShell::GotoMark(const ::sw::mark::IMark* const pMark, bool bAtStart
return true;
}
-bool SwCursorShell::GotoMark(const ::sw::mark::IMark* const pMark)
+bool SwCursorShell::GotoMark(const ::sw::mark::MarkBase* const pMark)
{
if (sw::IsMarkHidden(*GetLayout(), *pMark))
{
@@ -203,7 +203,7 @@ bool SwCursorShell::GotoMark(const ::sw::mark::IMark* const pMark)
bool SwCursorShell::GoNextBookmark()
{
IDocumentMarkAccess* pMarkAccess = getIDocumentMarkAccess();
- std::vector<::sw::mark::IMark*> vCandidates;
+ std::vector<::sw::mark::MarkBase*> vCandidates;
remove_copy_if(
pMarkAccess->findFirstBookmarkStartsAfter(*GetCursor()->GetPoint()),
pMarkAccess->getBookmarksEnd(),
@@ -238,7 +238,7 @@ bool SwCursorShell::GoPrevBookmark()
IDocumentMarkAccess* pMarkAccess = getIDocumentMarkAccess();
// candidates from which to choose the mark before
// no need to consider marks starting after rPos
- std::vector<::sw::mark::IMark*> vCandidates;
+ std::vector<::sw::mark::MarkBase*> vCandidates;
remove_copy_if(
pMarkAccess->getBookmarksBegin(),
pMarkAccess->findFirstBookmarkStartsAfter(*GetCursor()->GetPoint()),
diff --git a/sw/source/core/crsr/swcrsr.cxx b/sw/source/core/crsr/swcrsr.cxx
index b86d2e70d319..9f01cb239bf1 100644
--- a/sw/source/core/crsr/swcrsr.cxx
+++ b/sw/source/core/crsr/swcrsr.cxx
@@ -1494,7 +1494,7 @@ bool SwCursor::SelectWordWT( SwViewShell const * pViewShell, sal_Int16 nWordType
{
SetMark();
GetMark()->Assign(*pStartNode, nStartIndex);
- if (sw::mark::IMark* pAnnotationMark = pMarksAccess->getAnnotationMarkFor(*GetPoint()))
+ if (sw::mark::MarkBase* pAnnotationMark = pMarksAccess->getAnnotationMarkFor(*GetPoint()))
{
// An annotation mark covers the selected word. Check
// if it covers only the word: in that case we select
diff --git a/sw/source/core/doc/CntntIdxStore.cxx b/sw/source/core/doc/CntntIdxStore.cxx
index 6b82ebc20cd3..73f4c0b9a74e 100644
--- a/sw/source/core/doc/CntntIdxStore.cxx
+++ b/sw/source/core/doc/CntntIdxStore.cxx
@@ -184,7 +184,7 @@ namespace
void RestoreUnoCursors(updater_t const & rUpdater);
void SaveShellCursors(SwDoc& rDoc, SwNodeOffset nNode, sal_Int32 nContent);
void RestoreShellCursors(updater_t const & rUpdater);
- static const SwPosition& GetRightMarkPos(::sw::mark::IMark const * pMark, bool bOther)
+ static const SwPosition& GetRightMarkPos(::sw::mark::MarkBase const * pMark, bool bOther)
{ return bOther ? pMark->GetOtherMarkPos() : pMark->GetMarkPos(); };
static void SetRightMarkPos(MarkBase* pMark, bool bOther, const SwPosition* const pPos)
{ bOther ? pMark->SetOtherMarkPos(*pPos) : pMark->SetMarkPos(*pPos); };
@@ -227,7 +227,7 @@ void ContentIdxStoreImpl::SaveBkmks(SwDoc& rDoc, SwNodeOffset nNode, sal_Int32 n
ppBkmk != ppBkmkEnd;
++ppBkmk)
{
- const ::sw::mark::IMark* pBkmk = *ppBkmk;
+ const ::sw::mark::MarkBase* pBkmk = *ppBkmk;
bool bMarkPosEqual = false;
if(pBkmk->GetMarkPos().GetNodeIndex() == nNode
&& pBkmk->GetMarkPos().GetContentIndex() <= nContent)
diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx
index f8389404627d..3828312176d3 100644
--- a/sw/source/core/doc/DocumentContentOperationsManager.cxx
+++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx
@@ -245,12 +245,12 @@ namespace sw
const SwPosition &rStt = *rPam.Start(), &rEnd = *rPam.End();
SwPosition const*const pCpyStt = &rCpyPam;
- std::vector< const ::sw::mark::IMark* > vMarksToCopy;
+ std::vector< const ::sw::mark::MarkBase* > vMarksToCopy;
for ( IDocumentMarkAccess::const_iterator_t ppMark = pSrcMarkAccess->getAllMarksBegin();
ppMark != pSrcMarkAccess->getAllMarksEnd();
++ppMark )
{
- const ::sw::mark::IMark* const pMark = *ppMark;
+ const ::sw::mark::MarkBase* const pMark = *ppMark;
const SwPosition& rMarkStart = pMark->GetMarkStart();
const SwPosition& rMarkEnd = pMark->GetMarkEnd();
@@ -286,7 +286,7 @@ namespace sw
// We have to count the "non-copied" nodes...
SwNodeOffset nDelCount;
SwNodeIndex aCorrIdx(InitDelCount(rPam, nDelCount));
- for(const sw::mark::IMark* const pMark : vMarksToCopy)
+ for(const sw::mark::MarkBase* const pMark : vMarksToCopy)
{
SwPaM aTmpPam(*pCpyStt);
lcl_NonCopyCount(rPam, aCorrIdx, pMark->GetMarkPos().GetNodeIndex(), nDelCount);
@@ -303,12 +303,12 @@ namespace sw
{
assert(&rSrcDoc == &rDestDoc);
// Ensure the name can be given to NewMark, since this is ultimately a move
- auto pSoonToBeDeletedMark = const_cast<sw::mark::IMark*>(pMark);
+ auto pSoonToBeDeletedMark = const_cast<sw::mark::MarkBase*>(pMark);
rDestDoc.getIDocumentMarkAccess()->renameMark(pSoonToBeDeletedMark,
sRequestedName + "COPY_IS_MOVE");
}
- ::sw::mark::IMark* const pNewMark = rDestDoc.getIDocumentMarkAccess()->makeMark(
+ ::sw::mark::MarkBase* const pNewMark = rDestDoc.getIDocumentMarkAccess()->makeMark(
aTmpPam,
sRequestedName,
IDocumentMarkAccess::GetType(*pMark),
@@ -4677,7 +4677,7 @@ bool DocumentContentOperationsManager::ReplaceRangeImpl( SwPaM& rPam, const OUSt
m_rDoc.GetIDocumentUndoRedo().StartUndo(SwUndoId::EMPTY, nullptr);
// If any Redline will change (split!) the node
- const ::sw::mark::IMark* pBkmk =
+ const ::sw::mark::MarkBase* pBkmk =
m_rDoc.getIDocumentMarkAccess()->makeMark( aDelPam,
OUString(), IDocumentMarkAccess::MarkType::UNO_BOOKMARK,
::sw::mark::InsertMode::New);
@@ -4779,7 +4779,7 @@ bool DocumentContentOperationsManager::ReplaceRangeImpl( SwPaM& rPam, const OUSt
m_rDoc.GetIDocumentUndoRedo().EndUndo(SwUndoId::EMPTY, nullptr);
// If any Redline will change (split!) the node
- const ::sw::mark::IMark* pBkmk =
+ const ::sw::mark::MarkBase* pBkmk =
m_rDoc.getIDocumentMarkAccess()->makeMark( aDelPam,
OUString(), IDocumentMarkAccess::MarkType::UNO_BOOKMARK,
::sw::mark::InsertMode::New);
diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx
index 3cdd43d24aa8..bc9f9db6828e 100644
--- a/sw/source/core/doc/docbm.cxx
+++ b/sw/source/core/doc/docbm.cxx
@@ -88,10 +88,10 @@ auto IDocumentMarkAccess::iterator::operator=(iterator && rOther) noexcept -> it
}
// ARGH why does it *need* to return const& ?
-::sw::mark::IMark* /*const&*/
+::sw::mark::MarkBase* /*const&*/
IDocumentMarkAccess::iterator::operator*() const
{
- return static_cast<sw::mark::IMark*>(**m_pIter);
+ return **m_pIter;
}
auto IDocumentMarkAccess::iterator::operator++() -> iterator&
@@ -163,7 +163,7 @@ auto IDocumentMarkAccess::iterator::operator-(iterator const& rOther) const -> d
auto IDocumentMarkAccess::iterator::operator[](difference_type const n) const -> value_type
{
- return static_cast<sw::mark::IMark*>((*m_pIter)[n]);
+ return (*m_pIter)[n];
}
bool IDocumentMarkAccess::iterator::operator<(iterator const& rOther) const
@@ -302,11 +302,11 @@ namespace
struct CompareIMarkStartsBefore
{
bool operator()(SwPosition const& rPos,
- const sw::mark::IMark* pMark)
+ const sw::mark::MarkBase* pMark)
{
return rPos < pMark->GetMarkStart();
}
- bool operator()(const sw::mark::IMark* pMark,
+ bool operator()(const sw::mark::MarkBase* pMark,
SwPosition const& rPos)
{
return pMark->GetMarkStart() < rPos;
@@ -318,7 +318,7 @@ namespace
struct CompareIMarkStartsAfter
{
bool operator()(SwPosition const& rPos,
- const sw::mark::IMark* pMark)
+ const sw::mark::MarkBase* pMark)
{
return pMark->GetMarkStart() > rPos;
}
@@ -326,13 +326,13 @@ namespace
struct CompareIMarkStartsAfterReverse
{
- bool operator()(const sw::mark::IMark* pMark, SwPosition const& rPos)
+ bool operator()(const sw::mark::MarkBase* pMark, SwPosition const& rPos)
{
return pMark->GetMarkStart() > rPos;
}
};
- IMark* lcl_getMarkAfter(const MarkManager::container_t& rMarks, const SwPosition& rPos,
+ MarkBase* lcl_getMarkAfter(const MarkManager::container_t& rMarks, const SwPosition& rPos,
bool bLoop)
{
auto const pMarkAfter = upper_bound(
@@ -350,7 +350,7 @@ namespace
return *pMarkAfter;
};
- IMark* lcl_getMarkBefore(const MarkManager::container_t& rMarks, const SwPosition& rPos,
+ MarkBase* lcl_getMarkBefore(const MarkManager::container_t& rMarks, const SwPosition& rPos,
bool bLoop)
{
// candidates from which to choose the mark before
@@ -488,7 +488,7 @@ namespace
ppMark != rMarks.end();
++ppMark)
{
- IMark* pMark = *ppMark;
+ MarkBase* pMark = *ppMark;
const SwPosition* const pStPos = &pMark->GetMarkStart();
const SwPosition* const pEndPos = &pMark->GetMarkEnd();
SAL_INFO("sw.core",
@@ -506,7 +506,7 @@ namespace
};
}
-IDocumentMarkAccess::MarkType IDocumentMarkAccess::GetType(const IMark& rBkmk)
+IDocumentMarkAccess::MarkType IDocumentMarkAccess::GetType(const MarkBase& rBkmk)
{
const std::type_info* const pMarkTypeInfo = &typeid(rBkmk);
// not using dynamic_cast<> here for performance
@@ -572,7 +572,7 @@ namespace sw::mark
, m_pLastActiveFieldmark(nullptr)
{ }
- ::sw::mark::IMark* MarkManager::makeMark(const SwPaM& rPaM,
+ ::sw::mark::MarkBase* MarkManager::makeMark(const SwPaM& rPaM,
const OUString& rName,
const IDocumentMarkAccess::MarkType eType,
sw::mark::InsertMode const eMode,
@@ -755,7 +755,7 @@ namespace sw::mark
bool bUndoIsEnabled = m_rDoc.GetIDocumentUndoRedo().DoesUndo();
m_rDoc.GetIDocumentUndoRedo().DoUndo(false);
- sw::mark::IMark* pMark = nullptr;
+ sw::mark::MarkBase* pMark = nullptr;
if(rType == ODF_FORMDATE)
{
pMark = makeMark(rPaM, rName,
@@ -796,7 +796,7 @@ namespace sw::mark
bool bEnableSetModified = m_rDoc.getIDocumentState().IsEnableSetModified();
m_rDoc.getIDocumentState().SetEnableSetModified(false);
- sw::mark::IMark* pMark = nullptr;
+ sw::mark::MarkBase* pMark = nullptr;
if(rType == ODF_FORMCHECKBOX)
{
pMark = makeMark( rPaM, rName,
@@ -833,7 +833,7 @@ namespace sw::mark
return pFieldMark;
}
- ::sw::mark::IMark* MarkManager::getMarkForTextNode(
+ ::sw::mark::MarkBase* MarkManager::getMarkForTextNode(
const SwTextNode& rTextNode,
const IDocumentMarkAccess::MarkType eType )
{
@@ -845,7 +845,7 @@ namespace sw::mark
return makeMark(aPaM, OUString(), eType, sw::mark::InsertMode::New);
}
- sw::mark::IMark* MarkManager::makeAnnotationMark(
+ sw::mark::MarkBase* MarkManager::makeAnnotationMark(
const SwPaM& rPaM,
const OUString& rName )
{
@@ -854,13 +854,13 @@ namespace sw::mark
}
void MarkManager::repositionMark(
- ::sw::mark::IMark* const io_pMark,
+ ::sw::mark::MarkBase* const io_pMark,
const SwPaM& rPaM)
{
assert(&io_pMark->GetMarkPos().GetDoc() == &m_rDoc &&
"<MarkManager::repositionMark(..)>"
" - Mark is not in my doc.");
- MarkBase* const pMarkBase = dynamic_cast< MarkBase* >(io_pMark);
+ MarkBase* const pMarkBase = io_pMark;
if (!pMarkBase)
return;
@@ -881,7 +881,7 @@ namespace sw::mark
}
bool MarkManager::renameMark(
- ::sw::mark::IMark* io_pMark,
+ ::sw::mark::MarkBase* io_pMark,
const OUString& rNewName )
{
assert(&io_pMark->GetMarkPos().GetDoc() == &m_rDoc &&
@@ -891,20 +891,17 @@ namespace sw::mark
return true;
if (lcl_FindMarkByName(rNewName, m_vAllMarks.begin(), m_vAllMarks.end()) != m_vAllMarks.end())
return false;
- if (::sw::mark::MarkBase* pMarkBase = dynamic_cast< ::sw::mark::MarkBase* >(io_pMark))
- {
- const OUString sOldName(pMarkBase->GetName());
- pMarkBase->SetName(rNewName);
+ const OUString sOldName(io_pMark->GetName());
+ io_pMark->SetName(rNewName);
- if (dynamic_cast< ::sw::mark::Bookmark* >(io_pMark))
+ if (dynamic_cast< ::sw::mark::Bookmark* >(io_pMark))
+ {
+ if (m_rDoc.GetIDocumentUndoRedo().DoesUndo())
{
- if (m_rDoc.GetIDocumentUndoRedo().DoesUndo())
- {
- m_rDoc.GetIDocumentUndoRedo().AppendUndo(
- std::make_unique<SwUndoRenameBookmark>(sOldName, rNewName, m_rDoc));
- }
- m_rDoc.getIDocumentState().SetModified();
+ m_rDoc.GetIDocumentUndoRedo().AppendUndo(
+ std::make_unique<SwUndoRenameBookmark>(sOldName, rNewName, m_rDoc));
}
+ m_rDoc.getIDocumentState().SetModified();
}
return true;
}
@@ -1279,7 +1276,7 @@ namespace sw::mark
std::unique_ptr<ILazyDeleter> ret;
if (ppMark.get() == m_vAllMarks.end())
return ret;
- IMark* pMark = *ppMark;
+ MarkBase* pMark = *ppMark;
switch(IDocumentMarkAccess::GetType(*pMark))
{
@@ -1374,7 +1371,7 @@ namespace sw::mark
return ret;
}
- void MarkManager::deleteMark(const IMark* const pMark)
+ void MarkManager::deleteMark(const MarkBase* const pMark)
{
assert(&pMark->GetMarkPos().GetDoc() == &m_rDoc &&
"<MarkManager::deleteMark(..)>"
@@ -1522,7 +1519,7 @@ namespace sw::mark
return dynamic_cast<Fieldmark*>(pMark);
}
- IMark* MarkManager::getOneInnermostBookmarkFor(const SwPosition& rPos) const
+ MarkBase* MarkManager::getOneInnermostBookmarkFor(const SwPosition& rPos) const
{
auto it = std::find_if(m_vBookmarks.begin(), m_vBookmarks.end(),
[&rPos](const sw::mark::MarkBase* pMark)
@@ -1531,7 +1528,7 @@ namespace sw::mark
{
return nullptr;
}
- sw::mark::IMark* pBookmark = *it;
+ sw::mark::MarkBase* pBookmark = *it;
// See if any bookmarks after the first hit are closer to rPos.
++it;
@@ -1707,7 +1704,7 @@ namespace sw::mark
for (auto aI = m_vFieldmarks.begin(),
aEnd = m_vFieldmarks.end(); aI != aEnd; ++aI)
{
- ::sw::mark::IMark* pI = *aI;
+ ::sw::mark::MarkBase* pI = *aI;
const SwPosition &rStart = pI->GetMarkPos();
if (!rPaM.ContainsPosition(rStart))
continue;
@@ -1752,7 +1749,7 @@ namespace sw::mark
return IDocumentMarkAccess::iterator(ret);
}
- IMark* MarkManager::getAnnotationMarkFor(const SwPosition& rPos) const
+ MarkBase* MarkManager::getAnnotationMarkFor(const SwPosition& rPos) const
{
auto const pAnnotationMark = find_if(
m_vAnnotationMarks.begin(),
@@ -1774,7 +1771,7 @@ namespace sw::mark
}
// create helper bookmark for annotations on tracked deletions
- ::sw::mark::IMark* MarkManager::makeAnnotationBookmark(const SwPaM& rPaM,
+ ::sw::mark::MarkBase* MarkManager::makeAnnotationBookmark(const SwPaM& rPaM,
const OUString& rName,
const IDocumentMarkAccess::MarkType eType,
sw::mark::InsertMode const eMode,
@@ -1930,7 +1927,7 @@ const IDocumentMarkAccess* SwDoc::getIDocumentMarkAccess() const
{ return static_cast< IDocumentMarkAccess* >(mpMarkManager.get()); }
SaveBookmark::SaveBookmark(
- const IMark& rBkmk,
+ const MarkBase& rBkmk,
const SwNode& rMvPos,
std::optional<sal_Int32> oContentIdx)
: m_aName(rBkmk.GetName())
diff --git a/sw/source/core/doc/docnew.cxx b/sw/source/core/doc/docnew.cxx
index 9ad444666b5f..02bce7f64017 100644
--- a/sw/source/core/doc/docnew.cxx
+++ b/sw/source/core/doc/docnew.cxx
@@ -1135,18 +1135,18 @@ SwNodeIndex SwDoc::AppendDoc(const SwDoc& rSource, sal_uInt16 const nStartPageNu
--aNodeIndex;
SwPaM aPaM(aNodeIndex);
// Collect the marks starting or ending at this text node.
- o3tl::sorted_vector<sw::mark::IMark*> aSeenMarks;
+ o3tl::sorted_vector<sw::mark::MarkBase*> aSeenMarks;
IDocumentMarkAccess* pMarkAccess = getIDocumentMarkAccess();
for (const SwContentIndex* pIndex = pTextNode->GetFirstIndex(); pIndex; pIndex = pIndex->GetNext())
{
- sw::mark::IMark* pMark = const_cast<sw::mark::IMark*>(pIndex->GetMark());
+ sw::mark::MarkBase* pMark = const_cast<sw::mark::MarkBase*>(pIndex->GetMark());
if (!pMark)
continue;
if (!aSeenMarks.insert(pMark).second)
continue;
}
// And move them back.
- for (sw::mark::IMark* pMark : aSeenMarks)
+ for (sw::mark::MarkBase* pMark : aSeenMarks)
pMarkAccess->repositionMark(pMark, aPaM);
}
diff --git a/sw/source/core/doc/docredln.cxx b/sw/source/core/doc/docredln.cxx
index 5d347cdb34d9..5744700d0fdc 100644
--- a/sw/source/core/doc/docredln.cxx
+++ b/sw/source/core/doc/docredln.cxx
@@ -1804,7 +1804,7 @@ static void lcl_storeAnnotationMarks(SwDoc& rDoc, const SwPosition* pStt, const
sal_Int32 nLen = (*pStt == rStartPos) ? 1 : 0;
SwPaM aPam( rStartPos.GetNode(), rStartPos.GetContentIndex(),
rStartPos.GetNode(), rStartPos.GetContentIndex() + nLen);
- ::sw::mark::IMark* pMark = rDMA.makeAnnotationBookmark(
+ ::sw::mark::MarkBase* pMark = rDMA.makeAnnotationBookmark(
aPam,
(**iter).GetName(),
IDocumentMarkAccess::MarkType::BOOKMARK, sw::mark::InsertMode::New);
diff --git a/sw/source/core/doc/swserv.cxx b/sw/source/core/doc/swserv.cxx
index 582a3564b0d8..904c05d6317c 100644
--- a/sw/source/core/doc/swserv.cxx
+++ b/sw/source/core/doc/swserv.cxx
@@ -261,7 +261,7 @@ void SwServerObject::SetNoServer()
}
}
-void SwServerObject::SetDdeBookmark( ::sw::mark::IMark& rBookmark)
+void SwServerObject::SetDdeBookmark( ::sw::mark::MarkBase& rBookmark)
{
::sw::mark::DdeBookmark* const pDdeBookmark = dynamic_cast< ::sw::mark::DdeBookmark* >(&rBookmark);
if(pDdeBookmark)
diff --git a/sw/source/core/fields/postithelper.cxx b/sw/source/core/fields/postithelper.cxx
index 06fb3db7ef06..c28de860e729 100644
--- a/sw/source/core/fields/postithelper.cxx
+++ b/sw/source/core/fields/postithelper.cxx
@@ -43,7 +43,7 @@ class Point;
namespace
{
/// Checks if pAnnotationMark covers exactly rAnchorPos (the comment anchor).
-bool AnnotationMarkCoversCommentAnchor(const sw::mark::IMark* pAnnotationMark,
+bool AnnotationMarkCoversCommentAnchor(const sw::mark::MarkBase* pAnnotationMark,
const SwPosition& rAnchorPos)
{
if (!pAnnotationMark)
@@ -86,7 +86,7 @@ bool AnnotationMarkCoversCommentAnchor(const sw::mark::IMark* pAnnotationMark,
* Finds the first draw object of rTextFrame which has the same anchor position as the start of
* rAnnotationMark.
*/
-SwAnchoredObject* GetAnchoredObjectOfAnnotationMark(const sw::mark::IMark& rAnnotationMark,
+SwAnchoredObject* GetAnchoredObjectOfAnnotationMark(const sw::mark::MarkBase& rAnnotationMark,
const SwTextFrame& rTextFrame)
{
const SwSortedObjs* pAnchored = rTextFrame.GetDrawObjs();
@@ -128,7 +128,7 @@ SwSidebarItem::~SwSidebarItem() {}
SwPostItHelper::SwLayoutStatus SwPostItHelper::getLayoutInfos(
SwLayoutInfo& o_rInfo,
const SwPosition& rAnchorPos,
- const sw::mark::IMark* pAnnotationMark )
+ const sw::mark::MarkBase* pAnnotationMark )
{
SwLayoutStatus aRet = INVISIBLE;
SwTextNode* pTextNode = rAnchorPos.GetNode().GetTextNode();
diff --git a/sw/source/core/fields/reffld.cxx b/sw/source/core/fields/reffld.cxx
index 6b7cd10cc4fb..28ca54166a95 100644
--- a/sw/source/core/fields/reffld.cxx
+++ b/sw/source/core/fields/reffld.cxx
@@ -1335,7 +1335,7 @@ SwTextNode* SwGetRefFieldType::FindAnchor(SwDoc* pDoc, const OUString& rRefMark,
&& (!pLayout || !pLayout->IsHideRedlines()
|| !sw::IsMarkHidden(*pLayout, **ppMark)))
{
- const ::sw::mark::IMark* pBkmk = *ppMark;
+ const ::sw::mark::MarkBase* pBkmk = *ppMark;
const SwPosition* pPos = &pBkmk->GetMarkStart();
pTextNd = pPos->GetNode().GetTextNode();
diff --git a/sw/source/core/inc/MarkManager.hxx b/sw/source/core/inc/MarkManager.hxx
index 048f7735f65d..7bae3a21c372 100644
--- a/sw/source/core/inc/MarkManager.hxx
+++ b/sw/source/core/inc/MarkManager.hxx
@@ -39,7 +39,7 @@ namespace sw::mark {
public:
MarkManager(/*[in/out]*/ SwDoc& rDoc);
// IDocumentMarkAccess
- virtual ::sw::mark::IMark* makeMark(const SwPaM& rPaM,
+ virtual ::sw::mark::MarkBase* makeMark(const SwPaM& rPaM,
const OUString& rName, IDocumentMarkAccess::MarkType eMark,
sw::mark::InsertMode eMode,
SwPosition const* pSepPos = nullptr) override;
@@ -52,14 +52,14 @@ namespace sw::mark {
const OUString& rName,
const OUString& rType) override;
- virtual ::sw::mark::IMark* getMarkForTextNode(const SwTextNode& rTextNode, IDocumentMarkAccess::MarkType eMark) override;
+ virtual ::sw::mark::MarkBase* getMarkForTextNode(const SwTextNode& rTextNode, IDocumentMarkAccess::MarkType eMark) override;
- virtual sw::mark::IMark* makeAnnotationMark(
+ virtual sw::mark::MarkBase* makeAnnotationMark(
const SwPaM& rPaM,
const OUString& rName ) override;
- virtual void repositionMark(::sw::mark::IMark* io_pMark, const SwPaM& rPaM) override;
- virtual bool renameMark(::sw::mark::IMark* io_pMark, const OUString& rNewName) override;
+ virtual void repositionMark(::sw::mark::MarkBase* io_pMark, const SwPaM& rPaM) override;
+ virtual bool renameMark(::sw::mark::MarkBase* io_pMark, const OUString& rNewName) override;
virtual void correctMarksAbsolute(const SwNode& rOldNode, const SwPosition& rNewPos, const sal_Int32 nOffset) override;
virtual void correctMarksRelative(const SwNode& rOldNode, const SwPosition& rNewPos, const sal_Int32 nOffset) override;
@@ -73,7 +73,7 @@ namespace sw::mark {
// deleters
virtual std::unique_ptr<ILazyDeleter>
deleteMark(const const_iterator_t& ppMark, bool isMoveNodes) override;
- virtual void deleteMark(const ::sw::mark::IMark* const pMark) override;
+ virtual void deleteMark(const ::sw::mark::MarkBase* const pMark) override;
virtual void clearAllMarks() override;
// marks
@@ -90,7 +90,7 @@ namespace sw::mark {
virtual sal_Int32 getBookmarksCount() const override;
virtual const_iterator_t findBookmark(const OUString& rName) const override;
virtual const_iterator_t findFirstBookmarkStartsAfter(const SwPosition& rPos) const override;
- virtual ::sw::mark::IMark* getOneInnermostBookmarkFor(const SwPosition& rPos) const override;
+ virtual ::sw::mark::MarkBase* getOneInnermostBookmarkFor(const SwPosition& rPos) const override;
// Fieldmarks
virtual const_iterator_t getFieldmarksBegin() const override;
@@ -118,7 +118,7 @@ namespace sw::mark {
virtual const_iterator_t getAnnotationMarksEnd() const override;
virtual sal_Int32 getAnnotationMarksCount() const override;
virtual const_iterator_t findAnnotationMark( const OUString& rName ) const override;
- virtual sw::mark::IMark* getAnnotationMarkFor(const SwPosition& rPos) const override;
+ virtual sw::mark::MarkBase* getAnnotationMarkFor(const SwPosition& rPos) const override;
virtual const_iterator_t findFirstAnnotationStartsAfter(const SwPosition& rPos) const override;
virtual void assureSortedMarkContainers() const override;
@@ -126,7 +126,7 @@ namespace sw::mark {
typedef std::vector<sw::mark::MarkBase*> container_t;
// helper bookmark to store annotation range of redlines
- virtual ::sw::mark::IMark* makeAnnotationBookmark(const SwPaM& rPaM,
+ virtual ::sw::mark::MarkBase* makeAnnotationBookmark(const SwPaM& rPaM,
const OUString& rName, IDocumentMarkAccess::MarkType eMark,
sw::mark::InsertMode eMode,
SwPosition const* pSepPos = nullptr) override;
diff --git a/sw/source/core/inc/UndoBookmark.hxx b/sw/source/core/inc/UndoBookmark.hxx
index 3c014bb315b8..75b1a2b0f5c7 100644
--- a/sw/source/core/inc/UndoBookmark.hxx
+++ b/sw/source/core/inc/UndoBookmark.hxx
@@ -41,7 +41,7 @@ class SwUndoBookmark : public SwUndo
const std::unique_ptr<SwHistoryBookmark> m_pHistoryBookmark;
protected:
- SwUndoBookmark(SwUndoId nUndoId, const ::sw::mark::IMark&);
+ SwUndoBookmark(SwUndoId nUndoId, const ::sw::mark::MarkBase&);
void SetInDoc(SwDoc*);
void ResetInDoc(SwDoc&);
@@ -67,7 +67,7 @@ public:
class SwUndoInsBookmark final : public SwUndoBookmark
{
public:
- SwUndoInsBookmark(const ::sw::mark::IMark&);
+ SwUndoInsBookmark(const ::sw::mark::MarkBase&);
virtual void UndoImpl(::sw::UndoRedoContext&) override;
virtual void RedoImpl(::sw::UndoRedoContext&) override;
@@ -76,7 +76,7 @@ public:
class SwUndoDeleteBookmark final : public SwUndoBookmark
{
public:
- SwUndoDeleteBookmark(const ::sw::mark::IMark&);
+ SwUndoDeleteBookmark(const ::sw::mark::MarkBase&);
virtual void UndoImpl(::sw::UndoRedoContext&) override;
virtual void RedoImpl(::sw::UndoRedoContext&) override;
diff --git a/sw/source/core/inc/mvsave.hxx b/sw/source/core/inc/mvsave.hxx
index 7491718191e4..ee2ca0c97287 100644
--- a/sw/source/core/inc/mvsave.hxx
+++ b/sw/source/core/inc/mvsave.hxx
@@ -43,13 +43,13 @@ struct SwPosition;
namespace sw::mark
{
- class IMark;
+ class MarkBase;
class SaveBookmark
{
public:
SaveBookmark(
- const ::sw::mark::IMark& rBkmk,
+ const ::sw::mark::MarkBase& rBkmk,
const SwNode& rMvPos,
std::optional<sal_Int32> oContentIdx);
void SetInDoc(SwDoc* pDoc,
diff --git a/sw/source/core/inc/rolbck.hxx b/sw/source/core/inc/rolbck.hxx
index eb6ccf4fb9bf..a8877bdc400c 100644
--- a/sw/source/core/inc/rolbck.hxx
+++ b/sw/source/core/inc/rolbck.hxx
@@ -246,11 +246,11 @@ public:
class SwHistoryBookmark final : public SwHistoryHint
{
public:
- SwHistoryBookmark(const ::sw::mark::IMark& rBkmk,
+ SwHistoryBookmark(const ::sw::mark::MarkBase& rBkmk,
bool bSavePos, bool bSaveOtherPos);
virtual void SetInDoc(SwDoc * pDoc, bool) override;
- bool IsEqualBookmark(const ::sw::mark::IMark& rBkmk);
+ bool IsEqualBookmark(const ::sw::mark::MarkBase& rBkmk);
const OUString& GetName() const { return m_aName;}
private:
@@ -372,7 +372,7 @@ public:
SwNodeOffset nNodeIdx );
void AddTextAttr(SwTextAttr* pTextHt, SwNodeOffset nNodeIdx, bool bNewAttr);
void AddColl(SwFormatColl*, SwNodeOffset nNodeIdx, SwNodeType nWhichNd);
- void AddIMark(const ::sw::mark::IMark&, bool bSavePos, bool bSaveOtherPos);
+ void AddIMark(const ::sw::mark::MarkBase&, bool bSavePos, bool bSaveOtherPos);
void AddChangeFlyAnchor(sw::SpzFrameFormat& rFormat);
void AddDeleteFly( SwFrameFormat&, sal_uInt16& rSetPos );
void AddFootnote( const SwTextFootnote& );
diff --git a/sw/source/core/inc/txtfrm.hxx b/sw/source/core/inc/txtfrm.hxx
index 4aa924c26084..4bd6bc0cd58c 100644
--- a/sw/source/core/inc/txtfrm.hxx
+++ b/sw/source/core/inc/txtfrm.hxx
@@ -31,7 +31,7 @@
namespace com::sun::star::linguistic2 { class XHyphenatedWord; }
-namespace sw::mark { class IMark; }
+namespace sw::mark { class MarkBase; }
class SwCharRange;
class SwTextNode;
class SwTextAttrEnd;
@@ -146,7 +146,7 @@ OUString GetExpandTextMerged(SwRootFrame const* pLayout,
SwTextNode const& rNode, bool bWithNumber,
bool bWithSpacesForLevel, ExpandMode i_mode);
-bool IsMarkHidden(SwRootFrame const& rLayout, ::sw::mark::IMark const& rMark);
+bool IsMarkHidden(SwRootFrame const& rLayout, ::sw::mark::MarkBase const& rMark);
bool IsMarkHintHidden(SwRootFrame const& rLayout,
SwTextNode const& rNode, SwTextAttrEnd const& rHint);
diff --git a/sw/source/core/inc/unobookmark.hxx b/sw/source/core/inc/unobookmark.hxx
index 11710fdd6d0b..292645fd8f85 100644
--- a/sw/source/core/inc/unobookmark.hxx
+++ b/sw/source/core/inc/unobookmark.hxx
@@ -45,7 +45,7 @@ typedef ::cppu::ImplInheritanceHelper
, css::text::XTextContent
> SwXBookmark_Base;
-/// UNO API wrapper around an internal sw::mark::IMark.
+/// UNO API wrapper around an internal sw::mark::MarkBase.
class SAL_DLLPUBLIC_RTTI SwXBookmark
: public SwXBookmark_Base
{
@@ -67,13 +67,13 @@ protected:
virtual void attachToRange(
const css::uno::Reference< css::text::XTextRange > & xTextRange);
- ::sw::mark::IMark* GetBookmark() const;
+ ::sw::mark::MarkBase* GetBookmark() const;
IDocumentMarkAccess* GetIDocumentMarkAccess();
SwDoc * GetDoc();
- void registerInMark( SwXBookmark& rXMark, ::sw::mark::IMark* const pMarkBase );
+ void registerInMark( SwXBookmark& rXMark, ::sw::mark::MarkBase* const pMarkBase );
virtual ~SwXBookmark() override;
@@ -85,10 +85,10 @@ protected:
public:
static rtl::Reference<SwXBookmark>
- CreateXBookmark(SwDoc & rDoc, ::sw::mark::IMark * pBookmark);
+ CreateXBookmark(SwDoc & rDoc, ::sw::mark::MarkBase * pBookmark);
/// @return IMark for this, but only if it lives in pDoc
- static ::sw::mark::IMark const* GetBookmarkInDoc(SwDoc const*const pDoc,
+ static ::sw::mark::MarkBase const* GetBookmarkInDoc(SwDoc const*const pDoc,
const css::uno::Reference<css::uno::XInterface> & xUT);
// MetadatableMixin
@@ -195,7 +195,7 @@ class SwXFieldmark final
public:
static rtl::Reference<SwXBookmark>
- CreateXFieldmark(SwDoc & rDoc, ::sw::mark::IMark * pMark,
+ CreateXFieldmark(SwDoc & rDoc, ::sw::mark::MarkBase * pMark,
bool isReplacementObject = false);
virtual void attachToRange(
diff --git a/sw/source/core/layout/ssfrm.cxx b/sw/source/core/layout/ssfrm.cxx
index 3e2df0054299..27bb20c376fc 100644
--- a/sw/source/core/layout/ssfrm.cxx
+++ b/sw/source/core/layout/ssfrm.cxx
@@ -463,7 +463,7 @@ void SwTextFrame::RegisterToNode(SwTextNode & rNode, bool const isForceNodeAsFir
assert(std::find_if(
rNode.GetDoc().getIDocumentMarkAccess()->getFieldmarksBegin(),
rNode.GetDoc().getIDocumentMarkAccess()->getFieldmarksEnd(),
- [this](::sw::mark::IMark const*const pMark) {
+ [this](::sw::mark::MarkBase const*const pMark) {
return pMark->GetMarkStart().GetNode() == *m_pMergedPara->pFirstNode
&& pMark->GetMarkEnd().GetNode() != *m_pMergedPara->pFirstNode;
}) == rNode.GetDoc().getIDocumentMarkAccess()->getFieldmarksEnd());
diff --git a/sw/source/core/text/EnhancedPDFExportHelper.cxx b/sw/source/core/text/EnhancedPDFExportHelper.cxx
index 46581f3c1c49..db8b8654e96e 100644
--- a/sw/source/core/text/EnhancedPDFExportHelper.cxx
+++ b/sw/source/core/text/EnhancedPDFExportHelper.cxx
@@ -2718,7 +2718,7 @@ void SwEnhancedPDFExportHelper::EnhancedPDFExport(LanguageType const eLanguageDe
++ppMark)
{
//get the name
- const ::sw::mark::IMark* pBkmk = *ppMark;
+ const ::sw::mark::MarkBase* pBkmk = *ppMark;
mrSh.SwCursorShell::ClearMark();
const OUString& sBkName = pBkmk->GetName();
diff --git a/sw/source/core/text/inftxt.cxx b/sw/source/core/text/inftxt.cxx
index 5f9ac5597934..5ceabd3a4b4b 100644
--- a/sw/source/core/text/inftxt.cxx
+++ b/sw/source/core/text/inftxt.cxx
@@ -1176,7 +1176,7 @@ void SwTextPaintInfo::DrawBackBrush( const SwLinePortion &rPor ) const
if(aIntersect.HasArea())
{
SwPosition const aPosition(m_pFrame->MapViewToModelPos(GetIdx()));
- const ::sw::mark::IMark* pFieldmark =
+ const ::sw::mark::MarkBase* pFieldmark =
m_pFrame->GetDoc().getIDocumentMarkAccess()->getInnerFieldmarkFor(aPosition);
bool bIsStartMark = (TextFrameIndex(1) == GetLen()
&& CH_TXT_ATR_FIELDSTART == GetText()[sal_Int32(GetIdx())]);
diff --git a/sw/source/core/text/porlay.cxx b/sw/source/core/text/porlay.cxx
index a496bff4636a..2aec8f3b697f 100644
--- a/sw/source/core/text/porlay.cxx
+++ b/sw/source/core/text/porlay.cxx
@@ -971,7 +971,7 @@ static Color getBookmarkColor(const SwTextNode& rNode, const sw::mark::Bookmark*
{
SwDoc& rDoc = const_cast<SwDoc&>(rNode.GetDoc());
const rtl::Reference< SwXBookmark > xRef = SwXBookmark::CreateXBookmark(rDoc,
- const_cast<sw::mark::IMark*>(static_cast<const sw::mark::IMark*>(pBookmark)));
+ const_cast<sw::mark::MarkBase*>(static_cast<const sw::mark::MarkBase*>(pBookmark)));
const css::uno::Reference<css::rdf::XResource> xSubject(xRef);
uno::Reference<frame::XModel> xModel = rDoc.GetDocShell()->GetBaseModel();
@@ -2898,7 +2898,7 @@ void SwScriptInfo::selectHiddenTextProperty(const SwTextNode& rNode,
for (const SwContentIndex* pIndex = rNode.GetFirstIndex(); pIndex; pIndex = pIndex->GetNext())
{
- const sw::mark::IMark* pMark = pIndex->GetMark();
+ const sw::mark::MarkBase* pMark = pIndex->GetMark();
const sw::mark::Bookmark* pBookmark = dynamic_cast<const sw::mark::Bookmark*>(pMark);
if (pBookmarks && pBookmark)
{
diff --git a/sw/source/core/text/porrst.cxx b/sw/source/core/text/porrst.cxx
index c5df18fb0155..ba1cafce975d 100644
--- a/sw/source/core/text/porrst.cxx
+++ b/sw/source/core/text/porrst.cxx
@@ -471,7 +471,7 @@ bool SwTextFrame::FormatEmpty()
for (SwContentIndex const* pIndex = GetTextNodeFirst()->GetFirstIndex();
pIndex; pIndex = pIndex->GetNext())
{
- sw::mark::IMark const*const pMark = pIndex->GetMark();
+ sw::mark::MarkBase const*const pMark = pIndex->GetMark();
if (dynamic_cast<const sw::mark::Bookmark*>(pMark) != nullptr)
{ // need bookmark portions!
return false;
diff --git a/sw/source/core/tox/txmsrt.cxx b/sw/source/core/tox/txmsrt.cxx
index d47581d44e80..127dfb34dd2d 100644
--- a/sw/source/core/tox/txmsrt.cxx
+++ b/sw/source/core/tox/txmsrt.cxx
@@ -688,7 +688,7 @@ std::pair<OUString, bool> SwTOXPara::GetURL(SwRootFrame const*const) const
SwDoc& rDoc = const_cast<SwDoc&>( pTextNd->GetDoc() );
// tdf#123313: this *must not* create a bookmark, its Undo would
// be screwed! create it as preparatory step, in ctor!
- ::sw::mark::IMark const * const pMark = rDoc.getIDocumentMarkAccess()->getMarkForTextNode(
+ ::sw::mark::MarkBase const * const pMark = rDoc.getIDocumentMarkAccess()->getMarkForTextNode(
*pTextNd,
IDocumentMarkAccess::MarkType::CROSSREF_HEADING_BOOKMARK);
aText = "#" + pMark->GetName();
diff --git a/sw/source/core/txtnode/atrfld.cxx b/sw/source/core/txtnode/atrfld.cxx
index 8993aa4c2df0..1652786f6588 100644
--- a/sw/source/core/txtnode/atrfld.cxx
+++ b/sw/source/core/txtnode/atrfld.cxx
@@ -782,7 +782,7 @@ SwTextAnnotationField::~SwTextAnnotationField()
{
}
-::sw::mark::IMark* SwTextAnnotationField::GetAnnotationMark() const
+::sw::mark::MarkBase* SwTextAnnotationField::GetAnnotationMark() const
{
auto pPostItField = dynamic_cast<const SwPostItField*>(GetFormatField().GetField());
assert(pPostItField);
diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx
index 0b82252b5e41..65fc7a9539c2 100644
--- a/sw/source/core/txtnode/ndtxt.cxx
+++ b/sw/source/core/txtnode/ndtxt.cxx
@@ -1501,12 +1501,12 @@ void SwTextNode::Update(
bool bAtLeastOneBookmarkMoved = false;
bool bAtLeastOneExpandedBookmarkAtInsertionPosition = false;
// A text node already knows its marks via its SwContentIndexes.
- o3tl::sorted_vector<const sw::mark::IMark*> aSeenMarks;
+ o3tl::sorted_vector<const sw::mark::MarkBase*> aSeenMarks;
const SwContentIndex* next;
for (const SwContentIndex* pIndex = GetFirstIndex(); pIndex; pIndex = next )
{
next = pIndex->GetNext();
- const sw::mark::IMark* pMark = pIndex->GetMark();
+ const sw::mark::MarkBase* pMark = pIndex->GetMark();
if (!pMark)
continue;
// filter out ones that cannot match to reduce the max size of aSeenMarks
diff --git a/sw/source/core/undo/rolbck.cxx b/sw/source/core/undo/rolbck.cxx
index 1def481cd552..fdf3dc8f10d6 100644
--- a/sw/source/core/undo/rolbck.cxx
+++ b/sw/source/core/undo/rolbck.cxx
@@ -603,7 +603,7 @@ void SwHistoryTextFlyCnt::dumpAsXml(xmlTextWriterPtr pWriter) const
}
SwHistoryBookmark::SwHistoryBookmark(
- const ::sw::mark::IMark& rBkmk,
+ const ::sw::mark::MarkBase& rBkmk,
bool bSavePos,
bool bSaveOtherPos)
: SwHistoryHint(HSTRY_BOOKMARK)
@@ -640,7 +640,7 @@ void SwHistoryBookmark::SetInDoc( SwDoc* pDoc, bool )
SwNodes& rNds = pDoc->GetNodes();
IDocumentMarkAccess* pMarkAccess = pDoc->getIDocumentMarkAccess();
std::optional<SwPaM> oPam;
- ::sw::mark::IMark* pMark = nullptr;
+ ::sw::mark::MarkBase* pMark = nullptr;
// now the situation is that m_bSavePos and m_bSaveOtherPos don't determine
// whether the mark was deleted
@@ -695,7 +695,7 @@ void SwHistoryBookmark::SetInDoc( SwDoc* pDoc, bool )
pBookmark->RestoreMetadata(m_pMetadataUndo);
}
-bool SwHistoryBookmark::IsEqualBookmark(const ::sw::mark::IMark& rBkmk)
+bool SwHistoryBookmark::IsEqualBookmark(const ::sw::mark::MarkBase& rBkmk)
{
return m_nNode == rBkmk.GetMarkPos().GetNodeIndex()
&& m_nContent == rBkmk.GetMarkPos().GetContentIndex()
@@ -1122,7 +1122,7 @@ void SwHistory::AddColl(SwFormatColl *const pColl, SwNodeOffset const nNodeIdx,
m_SwpHstry.push_back( std::move(pHt) );
}
-void SwHistory::AddIMark(const ::sw::mark::IMark& rBkmk,
+void SwHistory::AddIMark(const ::sw::mark::MarkBase& rBkmk,
bool const bSavePos, bool const bSaveOtherPos)
{
OSL_ENSURE( !m_nEndDiff, "History was not deleted after REDO" );
diff --git a/sw/source/core/undo/unbkmk.cxx b/sw/source/core/undo/unbkmk.cxx
index db36026f4c67..c9f3fe46ffa1 100644
--- a/sw/source/core/undo/unbkmk.cxx
+++ b/sw/source/core/undo/unbkmk.cxx
@@ -36,7 +36,7 @@
#include <utility>
SwUndoBookmark::SwUndoBookmark( SwUndoId nUndoId,
- const ::sw::mark::IMark& rBkmk )
+ const ::sw::mark::MarkBase& rBkmk )
: SwUndo( nUndoId, &rBkmk.GetMarkPos().GetDoc() )
, m_pHistoryBookmark(new SwHistoryBookmark(rBkmk, true, rBkmk.IsExpanded()))
{
@@ -75,7 +75,7 @@ SwRewriter SwUndoBookmark::GetRewriter() const
return aResult;
}
-SwUndoInsBookmark::SwUndoInsBookmark( const ::sw::mark::IMark& rBkmk )
+SwUndoInsBookmark::SwUndoInsBookmark( const ::sw::mark::MarkBase& rBkmk )
: SwUndoBookmark( SwUndoId::INSBOOKMARK, rBkmk )
{
}
@@ -90,7 +90,7 @@ void SwUndoInsBookmark::RedoImpl(::sw::UndoRedoContext & rContext)
SetInDoc( &rContext.GetDoc() );
}
-SwUndoDeleteBookmark::SwUndoDeleteBookmark( const ::sw::mark::IMark& rBkmk )
+SwUndoDeleteBookmark::SwUndoDeleteBookmark( const ::sw::mark::MarkBase& rBkmk )
: SwUndoBookmark( SwUndoId::DELBOOKMARK, rBkmk )
{
}
diff --git a/sw/source/core/undo/undobj.cxx b/sw/source/core/undo/undobj.cxx
index 429fb2fc2ff6..55f25bd238d6 100644
--- a/sw/source/core/undo/undobj.cxx
+++ b/sw/source/core/undo/undobj.cxx
@@ -1124,7 +1124,7 @@ void SwUndoSaveContent::DelContentIndex( const SwPosition& rMark,
bool bSavePos = false;
bool bSaveOtherPos = false;
bool bDelete = false;
- const ::sw::mark::IMark *const pBkmk = pMarkAccess->getAllMarksBegin()[n];
+ const ::sw::mark::MarkBase *const pBkmk = pMarkAccess->getAllMarksBegin()[n];
auto const type(IDocumentMarkAccess::GetType(*pBkmk));
if( DelContentType::CheckNoCntnt & nDelContentType )
diff --git a/sw/source/core/unocore/unobkm.cxx b/sw/source/core/unocore/unobkm.cxx
index 5790e4eba1cb..0420d50e2925 100644
--- a/sw/source/core/unocore/unobkm.cxx
+++ b/sw/source/core/unocore/unobkm.cxx
@@ -48,7 +48,7 @@ public:
std::mutex m_Mutex; // just for OInterfaceContainerHelper3
::comphelper::OInterfaceContainerHelper4<css::lang::XEventListener> m_EventListeners;
SwDoc* m_pDoc;
- ::sw::mark::IMark* m_pRegisteredBookmark;
+ ::sw::mark::MarkBase* m_pRegisteredBookmark;
OUString m_sMarkName;
bool m_bHidden;
OUString m_HideCondition;
@@ -61,7 +61,7 @@ public:
// DO NOT registerInMark here! (because SetXBookmark would delete rThis)
}
- void registerInMark(SwXBookmark & rThis, ::sw::mark::IMark *const pBkmk);
+ void registerInMark(SwXBookmark & rThis, ::sw::mark::MarkBase *const pBkmk);
protected:
virtual void Notify(const SfxHint&) override;
@@ -85,19 +85,14 @@ void SwXBookmark::Impl::Notify(const SfxHint& rHint)
}
void SwXBookmark::Impl::registerInMark(SwXBookmark& rThis,
- ::sw::mark::IMark* const pBkmk)
+ ::sw::mark::MarkBase* const pBkmk)
{
const rtl::Reference<SwXBookmark> xBookmark(&rThis);
if (pBkmk)
{
EndListeningAll();
StartListening(pBkmk->GetNotifier());
- ::sw::mark::MarkBase *const pMarkBase(dynamic_cast< ::sw::mark::MarkBase * >(pBkmk));
- OSL_ENSURE(pMarkBase, "registerInMark: no MarkBase?");
- if (pMarkBase)
- {
- pMarkBase->SetXBookmark(xBookmark);
- }
+ pBkmk->SetXBookmark(xBookmark);
assert(m_pDoc == nullptr || m_pDoc == &pBkmk->GetMarkPos().GetDoc());
m_pDoc = &pBkmk->GetMarkPos().GetDoc();
}
@@ -120,12 +115,12 @@ void SwXBookmark::Impl::registerInMark(SwXBookmark& rThis,
}
void SwXBookmark::registerInMark(SwXBookmark & rThis,
- ::sw::mark::IMark *const pBkmk)
+ ::sw::mark::MarkBase *const pBkmk)
{
m_pImpl->registerInMark( rThis, pBkmk );
}
-::sw::mark::IMark* SwXBookmark::GetBookmark() const
+::sw::mark::MarkBase* SwXBookmark::GetBookmark() const
{
return m_pImpl->m_pRegisteredBookmark;
}
@@ -156,15 +151,14 @@ SwXBookmark::~SwXBookmark()
rtl::Reference<SwXBookmark> SwXBookmark::CreateXBookmark(
SwDoc & rDoc,
- ::sw::mark::IMark *const pBookmark)
+ ::sw::mark::MarkBase *const pBookmark)
{
// #i105557#: do not iterate over the registered clients: race condition
- ::sw::mark::MarkBase *const pMarkBase(dynamic_cast< ::sw::mark::MarkBase * >(pBookmark));
- OSL_ENSURE(!pBookmark || pMarkBase, "CreateXBookmark: no MarkBase?");
+ OSL_ENSURE(pBookmark, "CreateXBookmark: no MarkBase?");
rtl::Reference<SwXBookmark> xBookmark;
- if (pMarkBase)
+ if (pBookmark)
{
- xBookmark = pMarkBase->GetXBookmark();
+ xBookmark = pBookmark->GetXBookmark();
}
if (!xBookmark.is())
{
@@ -176,12 +170,12 @@ rtl::Reference<SwXBookmark> SwXBookmark::CreateXBookmark(
SwXBookmark *const pXBookmark =
pBookmark ? new SwXBookmark(&rDoc) : new SwXBookmark;
xBookmark.set(pXBookmark);
- pXBookmark->m_pImpl->registerInMark(*pXBookmark, pMarkBase);
+ pXBookmark->m_pImpl->registerInMark(*pXBookmark, pBookmark);
}
return xBookmark;
}
-::sw::mark::IMark const* SwXBookmark::GetBookmarkInDoc(SwDoc const*const pDoc,
+::sw::mark::MarkBase const* SwXBookmark::GetBookmarkInDoc(SwDoc const*const pDoc,
const uno::Reference<uno::XInterface> & xUT)
{
SwXBookmark *const pXBkm = dynamic_cast<SwXBookmark*>(xUT.get());
@@ -671,17 +665,14 @@ uno::Reference<container::XNameContainer> SwXFieldmark::getParameters()
}
rtl::Reference<SwXBookmark>
-SwXFieldmark::CreateXFieldmark(SwDoc & rDoc, ::sw::mark::IMark *const pMark,
+SwXFieldmark::CreateXFieldmark(SwDoc & rDoc, ::sw::mark::MarkBase *const pMark,
bool const isReplacementObject)
{
// #i105557#: do not iterate over the registered clients: race condition
- ::sw::mark::MarkBase *const pMarkBase(
- dynamic_cast< ::sw::mark::MarkBase * >(pMark));
- assert(!pMark || pMarkBase);
rtl::Reference<SwXBookmark> xMark;
- if (pMarkBase)
+ if (pMark)
{
- xMark = pMarkBase->GetXBookmark();
+ xMark = pMark->GetXBookmark();
}
if (!xMark.is())
{
@@ -699,7 +690,7 @@ SwXFieldmark::CreateXFieldmark(SwDoc & rDoc, ::sw::mark::IMark *const pMark,
pXBkmk = new SwXFieldmark(isReplacementObject, &rDoc);
xMark = pXBkmk.get();
- pXBkmk->registerInMark(*pXBkmk, pMarkBase);
+ pXBkmk->registerInMark(*pXBkmk, pMark);
}
return xMark;
}
diff --git a/sw/source/core/unocore/unocrsrhelper.cxx b/sw/source/core/unocore/unocrsrhelper.cxx
index cf2e54d42e5d..fa6b6ef60fb2 100644
--- a/sw/source/core/unocore/unocrsrhelper.cxx
+++ b/sw/source/core/unocore/unocrsrhelper.cxx
@@ -115,7 +115,7 @@ void GetSelectableFromAny(uno::Reference<uno::XInterface> const& xIfc,
SwDoc & rTargetDoc,
std::optional<SwPaM>& o_rpPaM, std::pair<OUString, FlyCntType> & o_rFrame,
OUString & o_rTableName, SwUnoTableCursor const*& o_rpTableCursor,
- ::sw::mark::IMark const*& o_rpMark,
+ ::sw::mark::MarkBase const*& o_rpMark,
std::vector<SdrObject *> & o_rSdrObjects)
{
uno::Reference<drawing::XShapes> const xShapes(xIfc, UNO_QUERY);
@@ -249,7 +249,7 @@ void GetSelectableFromAny(uno::Reference<uno::XInterface> const& xIfc,
return;
}
- ::sw::mark::IMark const*const pMark =
+ ::sw::mark::MarkBase const*const pMark =
SwXBookmark::GetBookmarkInDoc(& rTargetDoc, xIfc);
if (pMark)
{
diff --git a/sw/source/core/unocore/unoobj2.cxx b/sw/source/core/unocore/unoobj2.cxx
index 5a18842f6feb..620c1b50a1b1 100644
--- a/sw/source/core/unocore/unoobj2.cxx
+++ b/sw/source/core/unocore/unoobj2.cxx
@@ -681,7 +681,7 @@ void SwXTextRange::InvalidateImpl()
moSvtListener->EndListeningAll();
}
-void SwXTextRange::SetMark(::sw::mark::IMark& rMark)
+void SwXTextRange::SetMark(::sw::mark::MarkBase& rMark)
{
moSvtListener->EndListeningAll();
m_pTableOrSectionFormat = nullptr;
@@ -937,7 +937,7 @@ SwXTextRange::getStart()
SolarMutexGuard aGuard;
uno::Reference< text::XTextRange > xRet;
- ::sw::mark::IMark const * const pBkmk = m_pMark;
+ ::sw::mark::MarkBase const * const pBkmk = m_pMark;
if (!m_xParentText.is())
{
getText();
@@ -974,7 +974,7 @@ SwXTextRange::getEnd()
SolarMutexGuard aGuard;
uno::Reference< text::XTextRange > xRet;
- ::sw::mark::IMark const * const pBkmk = m_pMark;
+ ::sw::mark::MarkBase const * const pBkmk = m_pMark;
if (!m_xParentText.is())
{
getText();
@@ -1065,7 +1065,7 @@ bool SwXTextRange::GetPositions(SwPaM& rToFill, ::sw::TextRangeMode const eMode)
}
}
}
- ::sw::mark::IMark const * const pBkmk = m_pMark;
+ ::sw::mark::MarkBase const * const pBkmk = m_pMark;
if(pBkmk)
{
*rToFill.GetPoint() = pBkmk->GetMarkPos();
@@ -1112,7 +1112,7 @@ sal_Int16 SwXTextRange::compareRegionStarts(SwXTextRange& rhs)
void SwXTextRange::GetStartPaM(std::optional<SwPaM>& roPaM)
{
- ::sw::mark::IMark const * const pBkmk = m_pMark;
+ ::sw::mark::MarkBase const * const pBkmk = m_pMark;
if (!m_xParentText.is())
{
getText();
diff --git a/sw/source/core/unocore/unoportenum.cxx b/sw/source/core/unocore/unoportenum.cxx
index 285ecd4b9c76..8ace7be1e60c 100644
--- a/sw/source/core/unocore/unoportenum.cxx
+++ b/sw/source/core/unocore/unoportenum.cxx
@@ -141,7 +141,7 @@ namespace
typedef std::multiset < SwXBookmarkPortion_ImplSharedPtr, BookmarkCompareStruct > SwXBookmarkPortion_ImplList;
/// Inserts pBkmk to rBkmArr in case it starts or ends at rOwnNode
- void lcl_FillBookmark(sw::mark::IMark* const pBkmk, const SwNode& rOwnNode, SwDoc& rDoc, SwXBookmarkPortion_ImplList& rBkmArr)
+ void lcl_FillBookmark(sw::mark::MarkBase* const pBkmk, const SwNode& rOwnNode, SwDoc& rDoc, SwXBookmarkPortion_ImplList& rBkmArr)
{
bool const isExpanded = pBkmk->IsExpanded();
const SwPosition& rStartPos = pBkmk->GetMarkStart();
@@ -201,11 +201,11 @@ namespace
SwTextNode* pTextNode = rUnoCursor.GetPoint()->GetNode().GetTextNode();
assert(pTextNode);
// A text node already knows its marks via its SwContentIndexes.
- o3tl::sorted_vector<const sw::mark::IMark*> aSeenMarks;
+ o3tl::sorted_vector<const sw::mark::MarkBase*> aSeenMarks;
for (const SwContentIndex* pIndex = pTextNode->GetFirstIndex(); pIndex; pIndex = pIndex->GetNext())
{
// Need a non-cost mark here, as we'll create a UNO wrapper around it.
- sw::mark::IMark* pBkmk = const_cast<sw::mark::IMark*>(pIndex->GetMark());
+ sw::mark::MarkBase* pBkmk = const_cast<sw::mark::MarkBase*>(pIndex->GetMark());
if (!pBkmk)
continue;
IDocumentMarkAccess::MarkType eType = IDocumentMarkAccess::GetType(*pBkmk);
@@ -894,7 +894,7 @@ lcl_ExportHints(
break;
const SwTextAnnotationField* pTextAnnotationField = dynamic_cast<const SwTextAnnotationField*>( pAttr );
- ::sw::mark::IMark* pAnnotationMark = pTextAnnotationField ? pTextAnnotationField->GetAnnotationMark() : nullptr;
+ ::sw::mark::MarkBase* pAnnotationMark = pTextAnnotationField ? pTextAnnotationField->GetAnnotationMark() : nullptr;
if ( pAnnotationMark != nullptr )
{
pPortion = new SwXTextPortion( pUnoCursor, xParent, PORTION_ANNOTATION_END );
diff --git a/sw/source/filter/html/htmlgrin.cxx b/sw/source/filter/html/htmlgrin.cxx
index c8c15997ab78..90cd96895a88 100644
--- a/sw/source/filter/html/htmlgrin.cxx
+++ b/sw/source/filter/html/htmlgrin.cxx
@@ -1434,7 +1434,7 @@ bool SwHTMLParser::HasCurrentParaBookmarks( bool bIgnoreStack ) const
ppMark != pMarkAccess->getAllMarksEnd();
++ppMark)
{
- const ::sw::mark::IMark* pBookmark = *ppMark;
+ const ::sw::mark::MarkBase* pBookmark = *ppMark;
const SwNodeOffset nBookNdIdx = pBookmark->GetMarkPos().GetNodeIndex();
if( nBookNdIdx==nNodeIdx )
@@ -1498,7 +1498,7 @@ void SwHTMLParser::StripTrailingPara()
ppMark != pMarkAccess->getAllMarksEnd();
++ppMark)
{
- ::sw::mark::IMark* pMark = *ppMark;
+ ::sw::mark::MarkBase* pMark = *ppMark;
SwNodeOffset nBookNdIdx = pMark->GetMarkPos().GetNodeIndex();
if(nBookNdIdx==nNodeIdx)
diff --git a/sw/source/filter/html/swhtml.cxx b/sw/source/filter/html/swhtml.cxx
index 345d934ada25..9808e8c8e0a9 100644
--- a/sw/source/filter/html/swhtml.cxx
+++ b/sw/source/filter/html/swhtml.cxx
@@ -2915,7 +2915,7 @@ void SwHTMLParser::SetAttr_( bool bChkEnd, bool bBeforeTable,
(*ppBkmk)->GetMarkStart() == *aAttrPam.GetPoint() )
break; // do not generate duplicates on this position
aAttrPam.DeleteMark();
- const ::sw::mark::IMark* const pNewMark = pMarkAccess->makeMark(
+ const ::sw::mark::MarkBase* const pNewMark = pMarkAccess->makeMark(
aAttrPam,
sName,
IDocumentMarkAccess::MarkType::BOOKMARK,
diff --git a/sw/source/filter/html/wrthtml.cxx b/sw/source/filter/html/wrthtml.cxx
index a6c1d06e7e6d..cc2935540361 100644
--- a/sw/source/filter/html/wrthtml.cxx
+++ b/sw/source/filter/html/wrthtml.cxx
@@ -1270,7 +1270,7 @@ void SwHTMLWriter::OutAnchor( const OUString& rName )
void SwHTMLWriter::OutBookmarks()
{
// fetch current bookmark
- const ::sw::mark::IMark* pBookmark = nullptr;
+ const ::sw::mark::MarkBase* pBookmark = nullptr;
IDocumentMarkAccess* const pMarkAccess = m_pDoc->getIDocumentMarkAccess();
if(m_nBkmkTabPos != -1)
pBookmark = pMarkAccess->getAllMarksBegin()[m_nBkmkTabPos];
diff --git a/sw/source/filter/writer/writer.cxx b/sw/source/filter/writer/writer.cxx
index 3f63f4d3eb5b..1775819253ae 100644
--- a/sw/source/filter/writer/writer.cxx
+++ b/sw/source/filter/writer/writer.cxx
@@ -38,7 +38,7 @@
using namespace css;
-typedef std::multimap<SwNodeOffset, const ::sw::mark::IMark*> SwBookmarkNodeTable;
+typedef std::multimap<SwNodeOffset, const ::sw::mark::MarkBase*> SwBookmarkNodeTable;
struct Writer_Impl
{
@@ -51,7 +51,7 @@ struct Writer_Impl
Writer_Impl();
void RemoveFontList();
- void InsertBkmk( const ::sw::mark::IMark& rBkmk );
+ void InsertBkmk( const ::sw::mark::MarkBase& rBkmk );
};
Writer_Impl::Writer_Impl()
@@ -64,7 +64,7 @@ void Writer_Impl::RemoveFontList()
aFontRemoveLst.clear();
}
-void Writer_Impl::InsertBkmk(const ::sw::mark::IMark& rBkmk)
+void Writer_Impl::InsertBkmk(const ::sw::mark::MarkBase& rBkmk)
{
SwNodeOffset nNd = rBkmk.GetMarkPos().GetNodeIndex();
@@ -409,7 +409,7 @@ void Writer::CreateBookmarkTable()
// search all Bookmarks in the range and return it in the Array
bool Writer::GetBookmarks(const SwContentNode& rNd, sal_Int32 nStt,
- sal_Int32 nEnd, std::vector< const ::sw::mark::IMark* >& rArr)
+ sal_Int32 nEnd, std::vector< const ::sw::mark::MarkBase* >& rArr)
{
OSL_ENSURE( rArr.empty(), "there are still entries available" );
@@ -427,7 +427,7 @@ bool Writer::GetBookmarks(const SwContentNode& rNd, sal_Int32 nStt,
{
for( SwBookmarkNodeTable::const_iterator it = aIterPair.first; it != aIterPair.second; ++it )
{
- const ::sw::mark::IMark& rBkmk = *(it->second);
+ const ::sw::mark::MarkBase& rBkmk = *(it->second);
sal_Int32 nContent;
if( rBkmk.GetMarkPos().GetNode() == rNd &&
(nContent = rBkmk.GetMarkPos().GetContentIndex() ) >= nStt &&
diff --git a/sw/source/filter/ww8/docxexport.cxx b/sw/source/filter/ww8/docxexport.cxx
index 5ac28047ce88..e63b6ed0daf5 100644
--- a/sw/source/filter/ww8/docxexport.cxx
+++ b/sw/source/filter/ww8/docxexport.cxx
@@ -108,7 +108,7 @@ using namespace ::oox;
using oox::vml::VMLExport;
-using sw::mark::IMark;
+using sw::mark::MarkBase;
AttributeOutputBase& DocxExport::AttrOutput() const
{
@@ -167,7 +167,7 @@ void DocxExport::AppendBookmarks( const SwTextNode& rNode, sal_Int32 nCurrentPos
IMarkVector aMarks;
if ( GetBookmarks( rNode, nCurrentPos, nCurrentPos + nLen, aMarks ) )
{
- for ( IMark* pMark : aMarks )
+ for ( MarkBase* pMark : aMarks )
{
const sal_Int32 nStart = pMark->GetMarkStart().GetContentIndex();
const sal_Int32 nEnd = pMark->GetMarkEnd().GetContentIndex();
@@ -205,7 +205,7 @@ void DocxExport::AppendAnnotationMarks( const SwWW8AttrIter& rAttrs, sal_Int32 n
IMarkVector aMarks;
if (GetAnnotationMarks(rAttrs, nCurrentPos, nCurrentPos + nLen, aMarks))
{
- for ( IMark* pMark : aMarks )
+ for ( MarkBase* pMark : aMarks )
{
const sal_Int32 nStart = pMark->GetMarkStart().GetContentIndex();
const sal_Int32 nEnd = pMark->GetMarkEnd().GetContentIndex();
diff --git a/sw/source/filter/ww8/wrtw8nds.cxx b/sw/source/filter/ww8/wrtw8nds.cxx
index d08c49432cd7..4c0d273502ad 100644
--- a/sw/source/filter/ww8/wrtw8nds.cxx
+++ b/sw/source/filter/ww8/wrtw8nds.cxx
@@ -2020,7 +2020,7 @@ bool MSWordExportBase::GetBookmarks( const SwTextNode& rNd, sal_Int32 nStt,
const sal_Int32 nMarks = pMarkAccess->getAllMarksCount();
for ( sal_Int32 i = 0; i < nMarks; i++ )
{
- IMark* pMark = pMarkAccess->getAllMarksBegin()[i];
+ MarkBase* pMark = pMarkAccess->getAllMarksBegin()[i];
switch (IDocumentMarkAccess::GetType( *pMark ))
{
@@ -2068,7 +2068,7 @@ bool MSWordExportBase::GetAnnotationMarks( const SwWW8AttrIter& rAttrs, sal_Int3
const sal_Int32 nMarks = pMarkAccess->getAnnotationMarksCount();
for ( sal_Int32 i = 0; i < nMarks; i++ )
{
- IMark* pMark = pMarkAccess->getAnnotationMarksBegin()[i];
+ MarkBase* pMark = pMarkAccess->getAnnotationMarksBegin()[i];
// Only keep the bookmarks starting or ending in this node
if ( pMark->GetMarkStart().GetNode() == rNd ||
@@ -2110,7 +2110,7 @@ namespace {
class CompareMarksEnd
{
public:
- bool operator() ( const IMark * pOneB, const IMark * pTwoB ) const
+ bool operator() ( const MarkBase * pOneB, const MarkBase * pTwoB ) const
{
const sal_Int32 nOEnd = pOneB->GetMarkEnd().GetContentIndex();
const sal_Int32 nTEnd = pTwoB->GetMarkEnd().GetContentIndex();
@@ -2127,7 +2127,7 @@ bool MSWordExportBase::NearestBookmark( sal_Int32& rNearest, const sal_Int32 nCu
if ( !m_rSortedBookmarksStart.empty() )
{
- IMark* pMarkStart = m_rSortedBookmarksStart.front();
+ MarkBase* pMarkStart = m_rSortedBookmarksStart.front();
const sal_Int32 nNext = pMarkStart->GetMarkStart().GetContentIndex();
if( !bNextPositionOnly || (nNext > nCurrentPos ))
{
@@ -2138,7 +2138,7 @@ bool MSWordExportBase::NearestBookmark( sal_Int32& rNearest, const sal_Int32 nCu
if ( !m_rSortedBookmarksEnd.empty() )
{
- IMark* pMarkEnd = m_rSortedBookmarksEnd[0];
+ MarkBase* pMarkEnd = m_rSortedBookmarksEnd[0];
const sal_Int32 nNext = pMarkEnd->GetMarkEnd().GetContentIndex();
if( !bNextPositionOnly || nNext > nCurrentPos )
{
@@ -2159,7 +2159,7 @@ void MSWordExportBase::NearestAnnotationMark( sal_Int32& rNearest, const sal_Int
if ( !m_rSortedAnnotationMarksStart.empty() )
{
- IMark* pMarkStart = m_rSortedAnnotationMarksStart.front();
+ MarkBase* pMarkStart = m_rSortedAnnotationMarksStart.front();
const sal_Int32 nNext = pMarkStart->GetMarkStart().GetContentIndex();
if( !bNextPositionOnly || (nNext > nCurrentPos ))
{
@@ -2170,7 +2170,7 @@ void MSWordExportBase::NearestAnnotationMark( sal_Int32& rNearest, const sal_Int
if ( !m_rSortedAnnotationMarksEnd.empty() )
{
- IMark* pMarkEnd = m_rSortedAnnotationMarksEnd[0];
+ MarkBase* pMarkEnd = m_rSortedAnnotationMarksEnd[0];
const sal_Int32 nNext = pMarkEnd->GetMarkEnd().GetContentIndex();
if( !bNextPositionOnly || nNext > nCurrentPos )
{
@@ -2189,7 +2189,7 @@ void MSWordExportBase::GetSortedAnnotationMarks( const SwWW8AttrIter& rAttrs, sa
{
IMarkVector aSortedEnd;
IMarkVector aSortedStart;
- for ( IMark* pMark : aMarksStart )
+ for ( MarkBase* pMark : aMarksStart )
{
// Remove the positions equal to the current pos
const sal_Int32 nStart = pMark->GetMarkStart().GetContentIndex();
@@ -2223,7 +2223,7 @@ void MSWordExportBase::GetSortedBookmarks( const SwTextNode& rNode, sal_Int32 nC
{
IMarkVector aSortedEnd;
IMarkVector aSortedStart;
- for ( IMark* pMark : aMarksStart )
+ for ( MarkBase* pMark : aMarksStart )
{
// Remove the positions equal to the current pos
const sal_Int32 nStart = pMark->GetMarkStart().GetContentIndex();
diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx
index c4b53c6a9c81..390cf2f0b226 100644
--- a/sw/source/filter/ww8/wrtww8.cxx
+++ b/sw/source/filter/ww8/wrtww8.cxx
@@ -1437,7 +1437,7 @@ WW8_CP WW8_WrPct::Fc2Cp( sal_uLong nFc ) const
void WW8Export::AppendBookmarks( const SwTextNode& rNd, sal_Int32 nCurrentPos, sal_Int32 nLen, const SwRedlineData* /*pRedlineData*/ )
{
- std::vector< const ::sw::mark::IMark* > aArr;
+ std::vector< const ::sw::mark::MarkBase* > aArr;
sal_Int32 nContent;
const sal_Int32 nCurrentEnd = nCurrentPos + nLen;
if( !GetWriter().GetBookmarks( rNd, nCurrentPos, nCurrentEnd, aArr ))
@@ -1445,9 +1445,9 @@ void WW8Export::AppendBookmarks( const SwTextNode& rNd, sal_Int32 nCurrentPos, s
SwNodeOffset nNd = rNd.GetIndex();
sal_uLong nSttCP = Fc2Cp( Strm().Tell() );
- for(const ::sw::mark::IMark* p : aArr)
+ for(const ::sw::mark::MarkBase* p : aArr)
{
- const ::sw::mark::IMark& rBkmk = *p;
+ const ::sw::mark::MarkBase& rBkmk = *p;
if(dynamic_cast< const ::sw::mark::Fieldmark *>(&rBkmk))
continue;
@@ -1484,7 +1484,7 @@ void WW8Export::AppendAnnotationMarks(const SwWW8AttrIter& rAttrs, sal_Int32 nCu
IMarkVector aMarks;
if (GetAnnotationMarks(rAttrs, nCurrentPos, nCurrentPos + nLen, aMarks))
{
- for (const sw::mark::IMark* pMark : aMarks)
+ for (const sw::mark::MarkBase* pMark : aMarks)
{
const sal_Int32 nStart = pMark->GetMarkStart().GetContentIndex();
if (nStart == nCurrentPos)
diff --git a/sw/source/filter/ww8/wrtww8.hxx b/sw/source/filter/ww8/wrtww8.hxx
index c6f99189da68..fb90c8a464e1 100644
--- a/sw/source/filter/ww8/wrtww8.hxx
+++ b/sw/source/filter/ww8/wrtww8.hxx
@@ -584,7 +584,7 @@ public:
std::stack< MSWordSaveData > m_aSaveData;
/// Used to split the runs according to the bookmarks start and ends
- typedef std::vector< ::sw::mark::IMark* > IMarkVector;
+ typedef std::vector< ::sw::mark::MarkBase* > IMarkVector;
IMarkVector m_rSortedBookmarksStart;
IMarkVector m_rSortedBookmarksEnd;
IMarkVector m_rSortedAnnotationMarksStart;
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index b752e5c31316..85ec351496af 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -1618,7 +1618,7 @@ void SwWW8FltRefStack::SetAttrInDoc(const SwPosition& rTmpPos,
sal_uInt16 nBkmNo;
if( IsFootnoteEdnBkmField(rFormatField, nBkmNo) )
{
- ::sw::mark::IMark const * const pMark = m_rDoc.getIDocumentMarkAccess()->getAllMarksBegin()[nBkmNo];
+ ::sw::mark::MarkBase const * const pMark = m_rDoc.getIDocumentMarkAccess()->getAllMarksBegin()[nBkmNo];
const SwPosition& rBkMrkPos = pMark->GetMarkPos();
diff --git a/sw/source/ui/dbui/dbinsdlg.cxx b/sw/source/ui/dbui/dbinsdlg.cxx
index ac5be46fe4cb..296b8b4b6b15 100644
--- a/sw/source/ui/dbui/dbinsdlg.cxx
+++ b/sw/source/ui/dbui/dbinsdlg.cxx
@@ -1221,7 +1221,7 @@ void SwInsertDBColAutoPilot::DataToDoc( const Sequence<Any>& rSelection,
bool bSetCursor = true;
const size_t nCols = aColArr.size();
- ::sw::mark::IMark* pMark = nullptr;
+ ::sw::mark::MarkBase* pMark = nullptr;
for( sal_Int32 i = 0 ; ; ++i )
{
bool bBreak = false;
diff --git a/sw/source/ui/dialog/uiregionsw.cxx b/sw/source/ui/dialog/uiregionsw.cxx
index 9b786215e419..6549901a0566 100644
--- a/sw/source/ui/dialog/uiregionsw.cxx
+++ b/sw/source/ui/dialog/uiregionsw.cxx
@@ -151,7 +151,7 @@ static void lcl_FillSubRegionList( SwWrtShell& rSh, weld::ComboBox& rSubRegions,
ppMark != pMarkAccess->getBookmarksEnd();
++ppMark)
{
- const ::sw::mark::IMark* pBkmk = *ppMark;
+ const ::sw::mark::MarkBase* pBkmk = *ppMark;
if( pBkmk->IsExpanded() )
rSubRegions.append_text( pBkmk->GetName() );
}
diff --git a/sw/source/ui/fldui/fldref.cxx b/sw/source/ui/fldui/fldref.cxx
index 334f392f476f..dea60485a001 100644
--- a/sw/source/ui/fldui/fldref.cxx
+++ b/sw/source/ui/fldui/fldref.cxx
@@ -588,7 +588,7 @@ void SwFieldRefPage::UpdateSubType(const OUString& filterString)
ppMark != pMarkAccess->getBookmarksEnd();
++ppMark)
{
- const ::sw::mark::IMark* pBkmk = *ppMark;
+ const ::sw::mark::MarkBase* pBkmk = *ppMark;
if(IDocumentMarkAccess::MarkType::BOOKMARK == IDocumentMarkAccess::GetType(*pBkmk))
{
bool isSubstring = MatchSubstring(pBkmk->GetName(), filterString);
@@ -1108,7 +1108,7 @@ bool SwFieldRefPage::FillItemSet(SfxItemSet* )
pSh->getIDocumentOutlineNodesAccess()->getOutlineNodes( maOutlineNodes );
if ( nOutlIdx < maOutlineNodes.size() )
{
- ::sw::mark::IMark const * const pMark = pSh->getIDocumentMarkAccess()->getMarkForTextNode(
+ ::sw::mark::MarkBase const * const pMark = pSh->getIDocumentMarkAccess()->getMarkForTextNode(
*(maOutlineNodes[nOutlIdx]),
IDocumentMarkAccess::MarkType::CROSSREF_HEADING_BOOKMARK);
aName = pMark->GetName();
@@ -1128,7 +1128,7 @@ bool SwFieldRefPage::FillItemSet(SfxItemSet* )
pSh->getIDocumentListItemsAccess()->getNumItems(maNumItems);
if ( nNumItemIdx < maNumItems.size() )
{
- ::sw::mark::IMark const * const pMark = pSh->getIDocumentMarkAccess()->getMarkForTextNode(
+ ::sw::mark::MarkBase const * const pMark = pSh->getIDocumentMarkAccess()->getMarkForTextNode(
*(maNumItems[nNumItemIdx]->GetTextNode()),
IDocumentMarkAccess::MarkType::CROSSREF_NUMITEM_BOOKMARK);
aName = pMark->GetName();
diff --git a/sw/source/ui/inc/bookmark.hxx b/sw/source/ui/inc/bookmark.hxx
index 064408e66763..f66fec0d91de 100644
--- a/sw/source/ui/inc/bookmark.hxx
+++ b/sw/source/ui/inc/bookmark.hxx
@@ -33,9 +33,9 @@ class BookmarkTable
public:
BookmarkTable(std::unique_ptr<weld::TreeView> xControl);
- void InsertBookmark(SwWrtShell& rSh, sw::mark::IMark* pMark);
+ void InsertBookmark(SwWrtShell& rSh, sw::mark::MarkBase* pMark);
bool SelectByName(const OUString& sName);
- sw::mark::IMark* GetBookmarkByName(const OUString& sName);
+ sw::mark::MarkBase* GetBookmarkByName(const OUString& sName);
OUString GetNameProposal() const;
void unselect_all() { m_xControl->unselect_all(); }
@@ -90,7 +90,7 @@ public:
class SwInsertBookmarkDlg final : public SfxDialogController
{
SwWrtShell& m_rSh;
- std::vector<std::pair<sw::mark::IMark*, OUString>> m_aTableBookmarks;
+ std::vector<std::pair<sw::mark::MarkBase*, OUString>> m_aTableBookmarks;
sal_Int32 m_nLastBookmarksCount;
bool m_bSorted;
bool m_bAreProtected;
diff --git a/sw/source/ui/misc/bookmark.cxx b/sw/source/ui/misc/bookmark.cxx
index f9619f4e40e2..6bd3ed243671 100644
--- a/sw/source/ui/misc/bookmark.cxx
+++ b/sw/source/ui/misc/bookmark.cxx
@@ -102,8 +102,8 @@ IMPL_LINK_NOARG(SwInsertBookmarkDlg, DeleteHdl, weld::Button&, void)
m_xBookmarksBox->selected_foreach([this, &nSelectedRows](weld::TreeIter& rEntry) {
// remove from model
- sw::mark::IMark* pBookmark
- = weld::fromId<sw::mark::IMark*>(m_xBookmarksBox->get_id(rEntry));
+ sw::mark::MarkBase* pBookmark
+ = weld::fromId<sw::mark::MarkBase*>(m_xBookmarksBox->get_id(rEntry));
OUString sRemoved = pBookmark->GetName();
IDocumentMarkAccess* const pMarkAccess = m_rSh.getIDocumentMarkAccess();
pMarkAccess->deleteMark(pMarkAccess->findMark(sRemoved), false);
@@ -158,8 +158,8 @@ void SwInsertBookmarkDlg::SelectionChanged()
int nSelectedRows = 0;
m_xBookmarksBox->selected_foreach(
[this, &sEditBoxText, &nSelectedRows](weld::TreeIter& rEntry) {
- sw::mark::IMark* pBookmark
- = weld::fromId<sw::mark::IMark*>(m_xBookmarksBox->get_id(rEntry));
+ sw::mark::MarkBase* pBookmark
+ = weld::fromId<sw::mark::MarkBase*>(m_xBookmarksBox->get_id(rEntry));
const OUString& sEntryName = pBookmark->GetName();
if (!sEditBoxText.isEmpty())
sEditBoxText.append(";");
@@ -205,8 +205,8 @@ IMPL_LINK_NOARG(SwInsertBookmarkDlg, RenameHdl, weld::Button&, void)
if (!xSelected)
return;
- sw::mark::IMark* pBookmark
- = weld::fromId<sw::mark::IMark*>(m_xBookmarksBox->get_id(*xSelected));
+ sw::mark::MarkBase* pBookmark
+ = weld::fromId<sw::mark::MarkBase*>(m_xBookmarksBox->get_id(*xSelected));
uno::Reference<frame::XModel> xModel = m_rSh.GetView().GetDocShell()->GetBaseModel();
uno::Reference<text::XBookmarksSupplier> xBkms(xModel, uno::UNO_QUERY);
uno::Reference<container::XNameAccess> xNameAccess = xBkms->getBookmarks();
@@ -253,8 +253,8 @@ IMPL_LINK(SwInsertBookmarkDlg, ChangeHideHdl, weld::Toggleable&, rBox, void)
IMPL_LINK(SwInsertBookmarkDlg, EditingHdl, weld::TreeIter const&, rIter, bool)
{
- sw::mark::IMark const* const pBookmark(
- weld::fromId<sw::mark::IMark*>(m_xBookmarksBox->get_id(rIter)));
+ sw::mark::MarkBase const* const pBookmark(
+ weld::fromId<sw::mark::MarkBase*>(m_xBookmarksBox->get_id(rIter)));
assert(pBookmark);
return pBookmark->IsExpanded()
&& pBookmark->GetMarkPos().GetNode() == pBookmark->GetOtherMarkPos().GetNode()
@@ -263,8 +263,8 @@ IMPL_LINK(SwInsertBookmarkDlg, EditingHdl, weld::TreeIter const&, rIter, bool)
IMPL_LINK(SwInsertBookmarkDlg, EditedHdl, weld::TreeView::iter_string const&, rIterString, bool)
{
- sw::mark::IMark const* const pBookmark(
- weld::fromId<sw::mark::IMark*>(m_xBookmarksBox->get_id(rIterString.first)));
+ sw::mark::MarkBase const* const pBookmark(
+ weld::fromId<sw::mark::MarkBase*>(m_xBookmarksBox->get_id(rIterString.first)));
assert(pBookmark);
bool bRet(false);
if (pBookmark->GetMarkPos() != pBookmark->GetOtherMarkPos())
@@ -300,8 +300,8 @@ void SwInsertBookmarkDlg::GotoSelectedBookmark()
if (!xSelected)
return;
- sw::mark::IMark* pBookmark
- = weld::fromId<sw::mark::IMark*>(m_xBookmarksBox->get_id(*xSelected));
+ sw::mark::MarkBase* pBookmark
+ = weld::fromId<sw::mark::MarkBase*>(m_xBookmarksBox->get_id(*xSelected));
m_rSh.EnterStdMode();
m_rSh.GotoMark(pBookmark);
@@ -324,7 +324,7 @@ bool SwInsertBookmarkDlg::HaveBookmarksChanged()
if (pMarkAccess->getBookmarksCount() != m_nLastBookmarksCount)
return true;
- std::vector<std::pair<sw::mark::IMark*, OUString>>::const_iterator aListIter
+ std::vector<std::pair<sw::mark::MarkBase*, OUString>>::const_iterator aListIter
= m_aTableBookmarks.begin();
for (IDocumentMarkAccess::const_iterator_t ppBookmark = pMarkAccess->getBookmarksBegin();
ppBookmark != pMarkAccess->getBookmarksEnd(); ++ppBookmark)
@@ -496,7 +496,7 @@ std::unique_ptr<weld::TreeIter> BookmarkTable::get_selected() const
return xIter;
}
-void BookmarkTable::InsertBookmark(SwWrtShell& rSh, sw::mark::IMark* const pMark)
+void BookmarkTable::InsertBookmark(SwWrtShell& rSh, sw::mark::MarkBase* const pMark)
{
sw::mark::Bookmark* pBookmark = dynamic_cast<sw::mark::Bookmark*>(pMark);
assert(pBookmark);
@@ -544,7 +544,8 @@ std::unique_ptr<weld::TreeIter> BookmarkTable::GetRowByBookmarkName(const OUStri
{
std::unique_ptr<weld::TreeIter> xRet;
m_xControl->all_foreach([this, &sName, &xRet](weld::TreeIter& rEntry) {
- sw::mark::IMark* pBookmark = weld::fromId<sw::mark::IMark*>(m_xControl->get_id(rEntry));
+ sw::mark::MarkBase* pBookmark
+ = weld::fromId<sw::mark::MarkBase*>(m_xControl->get_id(rEntry));
if (pBookmark->GetName() == sName)
{
xRet = m_xControl->make_iterator(&rEntry);
@@ -555,13 +556,13 @@ std::unique_ptr<weld::TreeIter> BookmarkTable::GetRowByBookmarkName(const OUStri
return xRet;
}
-sw::mark::IMark* BookmarkTable::GetBookmarkByName(const OUString& sName)
+sw::mark::MarkBase* BookmarkTable::GetBookmarkByName(const OUString& sName)
{
auto xEntry = GetRowByBookmarkName(sName);
if (!xEntry)
return nullptr;
- return weld::fromId<sw::mark::IMark*>(m_xControl->get_id(*xEntry));
+ return weld::fromId<sw::mark::MarkBase*>(m_xControl->get_id(*xEntry));
}
bool BookmarkTable::SelectByName(const OUString& sName)
@@ -579,7 +580,7 @@ OUString BookmarkTable::GetNameProposal() const
sal_Int32 nHighestBookmarkId = 0;
for (int i = 0, nCount = m_xControl->n_children(); i < nCount; ++i)
{
- sw::mark::IMark* pBookmark = weld::fromId<sw::mark::IMark*>(m_xControl->get_id(i));
+ sw::mark::MarkBase* pBookmark = weld::fromId<sw::mark::MarkBase*>(m_xControl->get_id(i));
const OUString& sName = pBookmark->GetName();
sal_Int32 nIndex = 0;
if (o3tl::getToken(sName, 0, ' ', nIndex) == sDefaultBookmarkName)
diff --git a/sw/source/uibase/dochdl/swdtflvr.cxx b/sw/source/uibase/dochdl/swdtflvr.cxx
index 1b1c862c1963..603555aee7cb 100644
--- a/sw/source/uibase/dochdl/swdtflvr.cxx
+++ b/sw/source/uibase/dochdl/swdtflvr.cxx
@@ -883,7 +883,7 @@ void SwTransferable::DeleteSelection()
static void DeleteDDEMarks(SwDoc & rDest)
{
IDocumentMarkAccess *const pMarkAccess = rDest.getIDocumentMarkAccess();
- std::vector< ::sw::mark::IMark* > vDdeMarks;
+ std::vector< ::sw::mark::MarkBase* > vDdeMarks;
// find all DDE-Bookmarks
for (IDocumentMarkAccess::const_iterator_t ppMark = pMarkAccess->getAllMarksBegin();
ppMark != pMarkAccess->getAllMarksEnd();
@@ -1636,7 +1636,7 @@ bool SwTransferable::Paste(SwWrtShell& rSh, TransferableDataHelper& rData, RndSt
pDispatch->Execute(FN_START_OF_DOCUMENT, SfxCallMode::SYNCHRON);
// store cursor position in row mode
- ::sw::mark::IMark* pMark = (!bRowMode || nSelectedRowsOrCols == 0) ? nullptr : rSh.SetBookmark(
+ ::sw::mark::MarkBase* pMark = (!bRowMode || nSelectedRowsOrCols == 0) ? nullptr : rSh.SetBookmark(
vcl::KeyCode(),
OUString(),
IDocumentMarkAccess::MarkType::UNO_BOOKMARK );
@@ -3997,7 +3997,7 @@ bool SwTransferable::PrivateDrop( SwWrtShell& rSh, const Point& rDragPt,
{
bool bTableCol(SelectionType::TableCol & nSelection);
- ::sw::mark::IMark* pMarkMoveFrom = bMove
+ ::sw::mark::MarkBase* pMarkMoveFrom = bMove
? rSh.SetBookmark(
vcl::KeyCode(),
OUString(),
@@ -4070,7 +4070,7 @@ bool SwTransferable::PrivateDrop( SwWrtShell& rSh, const Point& rDragPt,
bool bPasteIntoTable = rSh.GetCursor()->GetPointNode().GetTableBox() != nullptr;
// store cursor
- ::sw::mark::IMark* pMark = rSh.SetBookmark(
+ ::sw::mark::MarkBase* pMark = rSh.SetBookmark(
vcl::KeyCode(),
OUString(),
IDocumentMarkAccess::MarkType::UNO_BOOKMARK );
@@ -4442,7 +4442,7 @@ SwTransferDdeLink::SwTransferDdeLink( SwTransferable& rTrans, SwWrtShell& rSh )
rSh.DoUndo( false );
bool bIsModified = rSh.IsModified();
- ::sw::mark::IMark* pMark = rSh.SetBookmark(
+ ::sw::mark::MarkBase* pMark = rSh.SetBookmark(
vcl::KeyCode(),
OUString(),
IDocumentMarkAccess::MarkType::DDE_BOOKMARK);
@@ -4509,7 +4509,7 @@ bool SwTransferDdeLink::WriteData( SvStream& rStrm )
{
// the mark is still a DdeBookmark
// we replace it with a Bookmark, so it will get saved etc.
- ::sw::mark::IMark* const pMark = *ppMark;
+ ::sw::mark::MarkBase* const pMark = *ppMark;
::sfx2::SvLinkSource* p = m_xRefObj.get();
SwServerObject& rServerObject = dynamic_cast<SwServerObject&>(*p);
@@ -4529,7 +4529,7 @@ bool SwTransferDdeLink::WriteData( SvStream& rStrm )
pMarkAccess->deleteMark(ppMark, false);
// recreate as Bookmark
- ::sw::mark::IMark* const pNewMark = pMarkAccess->makeMark(
+ ::sw::mark::MarkBase* const pNewMark = pMarkAccess->makeMark(
aPaM,
sMarkName,
IDocumentMarkAccess::MarkType::BOOKMARK,
diff --git a/sw/source/uibase/docvw/PostItMgr.cxx b/sw/source/uibase/docvw/PostItMgr.cxx
index 2806ad9b272d..a768bc2b63d0 100644
--- a/sw/source/uibase/docvw/PostItMgr.cxx
+++ b/sw/source/uibase/docvw/PostItMgr.cxx
@@ -574,7 +574,7 @@ bool SwPostItMgr::CalcRects()
// update layout information
const SwTextAnnotationField* pTextAnnotationField =
dynamic_cast< const SwTextAnnotationField* >( pItem->GetFormatField().GetTextField() );
- const ::sw::mark::IMark* pAnnotationMark =
+ const ::sw::mark::MarkBase* pAnnotationMark =
pTextAnnotationField != nullptr ? pTextAnnotationField->GetAnnotationMark() : nullptr;
if ( pAnnotationMark != nullptr )
{
diff --git a/sw/source/uibase/inc/mmconfigitem.hxx b/sw/source/uibase/inc/mmconfigitem.hxx
index d1296dfe46ea..d1c8513e8839 100644
--- a/sw/source/uibase/inc/mmconfigitem.hxx
+++ b/sw/source/uibase/inc/mmconfigitem.hxx
@@ -41,11 +41,11 @@ namespace com::sun::star{
class SwMailMergeConfigItem_Impl;
class SwView;
-namespace sw::mark { class IMark; }
+namespace sw::mark { class MarkBase; }
struct SwDocMergeInfo
{
- sw::mark::IMark* startPageInTarget;
+ sw::mark::MarkBase* startPageInTarget;
sal_Int32 nDBRow;
};
diff --git a/sw/source/uibase/inc/wrtsh.hxx b/sw/source/uibase/inc/wrtsh.hxx
index 4d02383785ea..985975c36cc2 100644
--- a/sw/source/uibase/inc/wrtsh.hxx
+++ b/sw/source/uibase/inc/wrtsh.hxx
@@ -421,8 +421,8 @@ typedef bool (SwWrtShell::*FNSimpleMove)();
virtual void DrawSelChanged( ) override;
// jump to bookmark and set the "selections-flags" correctly again
- SW_DLLPUBLIC void GotoMark( const ::sw::mark::IMark* const pMark );
- bool GotoMark( const ::sw::mark::IMark* const pMark, bool bSelect );
+ SW_DLLPUBLIC void GotoMark( const ::sw::mark::MarkBase* const pMark );
+ bool GotoMark( const ::sw::mark::MarkBase* const pMark, bool bSelect );
SW_DLLPUBLIC void GotoMark( const OUString& rName );
bool GoNextBookmark(); // true when there still was one
bool GoPrevBookmark();
@@ -649,7 +649,7 @@ private:
BOOKMARK_PREV
};
- bool MoveBookMark(BookMarkMove eFuncId, const ::sw::mark::IMark* const pMark=nullptr);
+ bool MoveBookMark(BookMarkMove eFuncId, const ::sw::mark::MarkBase* const pMark=nullptr);
};
inline void SwWrtShell::ResetCursorStack()
diff --git a/sw/source/uibase/shells/textfld.cxx b/sw/source/uibase/shells/textfld.cxx
index 76ef998fd284..275745eb2aea 100644
--- a/sw/source/uibase/shells/textfld.cxx
+++ b/sw/source/uibase/shells/textfld.cxx
@@ -1044,7 +1044,7 @@ FIELD_INSERT:
rSh.StartAction();
IDocumentMarkAccess* pMarkAccess = rSh.GetDoc()->getIDocumentMarkAccess();
- std::vector<sw::mark::IMark*> aRemovals;
+ std::vector<sw::mark::MarkBase*> aRemovals;
for (auto it = pMarkAccess->getFieldmarksBegin(); it != pMarkAccess->getFieldmarksEnd(); ++it)
{
auto pFieldmark = dynamic_cast<sw::mark::Fieldmark*>(*it);
diff --git a/sw/source/uibase/shells/textsh1.cxx b/sw/source/uibase/shells/textsh1.cxx
index 7a10175c302c..6c450142b605 100644
--- a/sw/source/uibase/shells/textsh1.cxx
+++ b/sw/source/uibase/shells/textsh1.cxx
@@ -718,7 +718,7 @@ void DeleteBookmarks(SfxRequest& rReq, SwWrtShell& rWrtSh)
});
IDocumentMarkAccess* pMarkAccess = rWrtSh.GetDoc()->getIDocumentMarkAccess();
- std::vector<sw::mark::IMark*> aRemovals;
+ std::vector<sw::mark::MarkBase*> aRemovals;
for (auto it = pMarkAccess->getBookmarksBegin(); it != pMarkAccess->getBookmarksEnd(); ++it)
{
auto pBookmark = dynamic_cast<sw::mark::Bookmark*>(*it);
diff --git a/sw/source/uibase/uno/loktxdoc.cxx b/sw/source/uibase/uno/loktxdoc.cxx
index e3d155235ee1..01ba89170922 100644
--- a/sw/source/uibase/uno/loktxdoc.cxx
+++ b/sw/source/uibase/uno/loktxdoc.cxx
@@ -224,7 +224,7 @@ void GetBookmarks(tools::JsonWriter& rJsonWriter, SwDocShell* pDocShell,
auto aBookmarks = rJsonWriter.startArray("bookmarks");
for (auto it = rIDMA.getBookmarksBegin(); it != rIDMA.getBookmarksEnd(); ++it)
{
- sw::mark::IMark* pMark = *it;
+ sw::mark::MarkBase* pMark = *it;
if (!pMark->GetName().startsWith(aNamePrefix))
{
continue;
@@ -255,7 +255,7 @@ void GetBookmark(tools::JsonWriter& rJsonWriter, SwDocShell* pDocShell,
IDocumentMarkAccess& rIDMA = *pDocShell->GetDoc()->getIDocumentMarkAccess();
SwWrtShell* pWrtShell = pDocShell->GetWrtShell();
SwPosition& rCursor = *pWrtShell->GetCursor()->GetPoint();
- sw::mark::IMark* pBookmark = rIDMA.getOneInnermostBookmarkFor(rCursor);
+ sw::mark::MarkBase* pBookmark = rIDMA.getOneInnermostBookmarkFor(rCursor);
auto aBookmark = rJsonWriter.startNode("bookmark");
if (!pBookmark)
{
diff --git a/sw/source/uibase/uno/unotxvw.cxx b/sw/source/uibase/uno/unotxvw.cxx
index 51115f25986d..f48457b483ee 100644
--- a/sw/source/uibase/uno/unotxvw.cxx
+++ b/sw/source/uibase/uno/unotxvw.cxx
@@ -155,7 +155,7 @@ sal_Bool SwXTextView::select(const uno::Any& aInterface)
std::pair<OUString, FlyCntType> frame;
OUString tableName;
SwUnoTableCursor const* pTableCursor(nullptr);
- ::sw::mark::IMark const* pMark(nullptr);
+ ::sw::mark::MarkBase const* pMark(nullptr);
SwUnoCursorHelper::GetSelectableFromAny(xInterface, *pDoc,
pPaM, frame, tableName, pTableCursor, pMark, sdrObjects);
if (pPaM)
diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx
index 9c73edb4a5cb..1910c1605757 100644
--- a/sw/source/uibase/utlui/content.cxx
+++ b/sw/source/uibase/utlui/content.cxx
@@ -193,7 +193,7 @@ namespace
return bFound;
}
- bool lcl_IsUiVisibleBookmark(const ::sw::mark::IMark* pMark)
+ bool lcl_IsUiVisibleBookmark(const ::sw::mark::MarkBase* pMark)
{
return IDocumentMarkAccess::GetType(*pMark) == IDocumentMarkAccess::MarkType::BOOKMARK;
}
@@ -3244,7 +3244,7 @@ bool SwContentTree::FillTransferData(TransferDataContainer& rTransfer)
static_cast<SwOutlineContent*>(pCnt)->GetOutlinePos();
const SwTextNode* pTextNode =
pWrtShell->GetNodes().GetOutLineNds()[nPos]->GetTextNode();
- sw::mark::IMark const * const pMark =
+ sw::mark::MarkBase const * const pMark =
pWrtShell->getIDocumentMarkAccess()->getMarkForTextNode(
*pTextNode, IDocumentMarkAccess::MarkType::CROSSREF_HEADING_BOOKMARK);
// REFERENCESUBTYPE_OUTLINE is changed to REFERENCESUBTYPE::BOOKMARK in
@@ -7259,7 +7259,7 @@ void SwContentTree::BringPostItFieldsToAttention(std::vector<const SwTextAttr*>&
assert(dynamic_cast<const SwTextAnnotationField*>(pTextField));
const SwTextAnnotationField* pTextAnnotationField =
static_cast<const SwTextAnnotationField*>(pTextField);
- const ::sw::mark::IMark* pAnnotationMark = pTextAnnotationField->GetAnnotationMark();
+ const ::sw::mark::MarkBase* pAnnotationMark = pTextAnnotationField->GetAnnotationMark();
const SwPosition aMarkStart = pAnnotationMark ? pAnnotationMark->GetMarkStart()
: SwPosition(rTextNode, p->GetStart());
const SwPosition aMarkEnd = pAnnotationMark ? pAnnotationMark->GetMarkEnd()
diff --git a/sw/source/uibase/wrtsh/move.cxx b/sw/source/uibase/wrtsh/move.cxx
index f68e08010f9a..2b6c7745b75b 100644
--- a/sw/source/uibase/wrtsh/move.cxx
+++ b/sw/source/uibase/wrtsh/move.cxx
@@ -631,7 +631,7 @@ bool SwWrtShell::GotoPage(sal_uInt16 nPage, bool bRecord)
return false;
}
-bool SwWrtShell::GotoMark( const ::sw::mark::IMark* const pMark, bool bSelect )
+bool SwWrtShell::GotoMark( const ::sw::mark::MarkBase* const pMark, bool bSelect )
{
ShellMoveCursor aTmp( this, bSelect );
SwPosition aPos = *GetCursor()->GetPoint();
diff --git a/sw/source/uibase/wrtsh/wrtsh3.cxx b/sw/source/uibase/wrtsh/wrtsh3.cxx
index 6cfb61dd0bf4..b8ce4dcde2c2 100644
--- a/sw/source/uibase/wrtsh/wrtsh3.cxx
+++ b/sw/source/uibase/wrtsh/wrtsh3.cxx
@@ -46,7 +46,7 @@
using namespace ::com::sun::star;
-bool SwWrtShell::MoveBookMark( BookMarkMove eFuncId, const ::sw::mark::IMark* const pMark)
+bool SwWrtShell::MoveBookMark( BookMarkMove eFuncId, const ::sw::mark::MarkBase* const pMark)
{
addCurrentPosition();
(this->*m_fnKillSel)( nullptr, false );
@@ -269,7 +269,7 @@ void SwWrtShell::GotoMark( const OUString& rName )
MoveBookMark( BOOKMARK_INDEX, *ppMark );
}
-void SwWrtShell::GotoMark( const ::sw::mark::IMark* const pMark )
+void SwWrtShell::GotoMark( const ::sw::mark::MarkBase* const pMark )
{
MoveBookMark( BOOKMARK_INDEX, pMark );
}