diff options
Diffstat (limited to 'sw/source/core/inc')
-rw-r--r-- | sw/source/core/inc/MarkManager.hxx | 2 | ||||
-rw-r--r-- | sw/source/core/inc/UndoBookmark.hxx | 27 | ||||
-rw-r--r-- | sw/source/core/inc/rolbck.hxx | 29 |
3 files changed, 58 insertions, 0 deletions
diff --git a/sw/source/core/inc/MarkManager.hxx b/sw/source/core/inc/MarkManager.hxx index d47e4a615d92..cbae235520e8 100644 --- a/sw/source/core/inc/MarkManager.hxx +++ b/sw/source/core/inc/MarkManager.hxx @@ -85,6 +85,8 @@ namespace sw { virtual ::sw::mark::IFieldmark* getDropDownFor(const SwPosition &rPos) const override; virtual std::vector< ::sw::mark::IFieldmark* > getDropDownsFor(const SwPaM &rPaM) const override; + virtual void deleteFieldmarkAt(const SwPosition& rPos) override; + void dumpAsXml(xmlTextWriterPtr pWriter) const; // Annotation Marks diff --git a/sw/source/core/inc/UndoBookmark.hxx b/sw/source/core/inc/UndoBookmark.hxx index eb32662c92d8..7b9dd4fc68e5 100644 --- a/sw/source/core/inc/UndoBookmark.hxx +++ b/sw/source/core/inc/UndoBookmark.hxx @@ -24,10 +24,13 @@ #include <undobj.hxx> class SwHistoryBookmark; +class SwHistoryNoTextFieldmark; +class SwHistoryTextFieldmark; namespace sw { namespace mark { class IMark; + class IFieldmark; } } @@ -95,6 +98,30 @@ private: virtual void RedoImpl( ::sw::UndoRedoContext & ) override; }; +class SwUndoInsNoTextFieldmark : public SwUndo +{ +private: + const std::unique_ptr<SwHistoryNoTextFieldmark> m_pHistoryNoTextFieldmark; + +public: + SwUndoInsNoTextFieldmark(const ::sw::mark::IFieldmark& rFieldmark); + + virtual void UndoImpl( ::sw::UndoRedoContext & ) override; + virtual void RedoImpl( ::sw::UndoRedoContext & ) override; +}; + +class SwUndoInsTextFieldmark : public SwUndo +{ +private: + const std::unique_ptr<SwHistoryTextFieldmark> m_pHistoryTextFieldmark; + +public: + SwUndoInsTextFieldmark(const ::sw::mark::IFieldmark& rFieldmark); + + virtual void UndoImpl( ::sw::UndoRedoContext & ) override; + virtual void RedoImpl( ::sw::UndoRedoContext & ) override; +}; + #endif // INCLUDED_SW_SOURCE_CORE_INC_UNDOBOOKMARK_HXX /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/core/inc/rolbck.hxx b/sw/source/core/inc/rolbck.hxx index 945ed1948388..3fde226b7acf 100644 --- a/sw/source/core/inc/rolbck.hxx +++ b/sw/source/core/inc/rolbck.hxx @@ -72,6 +72,8 @@ enum HISTORY_HINT { HSTRY_CHGFLYANCHOR, HSTRY_CHGFLYCHAIN, HSTRY_CHGCHARFMT, + HSTRY_NOTEXTFIELDMARK, + HSTRY_TEXTFIELDMARK, }; class SwHistoryHint @@ -260,6 +262,33 @@ class SwHistoryBookmark : public SwHistoryHint std::shared_ptr< ::sfx2::MetadatableUndo > m_pMetadataUndo; }; +class SwHistoryNoTextFieldmark : public SwHistoryHint +{ + public: + SwHistoryNoTextFieldmark(const ::sw::mark::IFieldmark& rFieldMark); + virtual void SetInDoc(SwDoc* pDoc, bool) override; + void ResetInDoc(SwDoc* pDoc); + + private: + const OUString m_sType; + const sal_uLong m_nNode; + const sal_Int32 m_nContent; +}; + +class SwHistoryTextFieldmark : public SwHistoryHint +{ + public: + SwHistoryTextFieldmark(const ::sw::mark::IFieldmark& rFieldMark); + virtual void SetInDoc(SwDoc* pDoc, bool) override; + void ResetInDoc(SwDoc* pDoc); + + private: + const OUString m_sName; + const OUString m_sType; + const sal_uLong m_nNode; + const sal_Int32 m_nContent; +}; + class SwHistorySetAttrSet : public SwHistoryHint { SfxItemSet m_OldSet; |