diff options
Diffstat (limited to 'sw/source/core/inc/DocumentContentOperationsManager.hxx')
-rw-r--r-- | sw/source/core/inc/DocumentContentOperationsManager.hxx | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/sw/source/core/inc/DocumentContentOperationsManager.hxx b/sw/source/core/inc/DocumentContentOperationsManager.hxx index 3df39532978c..3cb378f00069 100644 --- a/sw/source/core/inc/DocumentContentOperationsManager.hxx +++ b/sw/source/core/inc/DocumentContentOperationsManager.hxx @@ -17,8 +17,7 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ -#ifndef INCLUDED_SW_SOURCE_CORE_INC_DOCUMENTCONTENTOPERATIONSMANAGER_HXX -#define INCLUDED_SW_SOURCE_CORE_INC_DOCUMENTCONTENTOPERATIONSMANAGER_HXX +#pragma once #include <IDocumentContentOperations.hxx> #include <ndarr.hxx> //Only for lcl_RstTxtAttr @@ -31,13 +30,13 @@ class SwHistory; namespace sw { -class DocumentContentOperationsManager : public IDocumentContentOperations +class DocumentContentOperationsManager final : public IDocumentContentOperations { public: DocumentContentOperationsManager( SwDoc& i_rSwdoc ); //Interface methods: - bool CopyRange(SwPaM&, SwPosition&, SwCopyFlags) const override; + bool CopyRange(SwPaM&, SwPosition&, SwCopyFlags, sal_uInt32 nMovedID = 0) const override; void DeleteSection(SwNode* pNode) override; @@ -45,30 +44,28 @@ public: bool DelFullPara(SwPaM&) override; - // Add optional parameter <bForceJoinNext>, default value <false> - // Needed for hiding of deletion redlines - bool DeleteAndJoin( SwPaM&, - const bool bForceJoinNext = false ) override; + bool DeleteAndJoin(SwPaM&, SwDeleteFlags flags = SwDeleteFlags::Default) override; bool MoveRange(SwPaM&, SwPosition&, SwMoveFlags) override; - bool MoveNodeRange(SwNodeRange&, SwNodeIndex&, SwMoveFlags) override; + bool MoveNodeRange(SwNodeRange&, SwNode&, SwMoveFlags) override; - bool MoveAndJoin(SwPaM&, SwPosition&) override; + void MoveAndJoin(SwPaM&, SwPosition&) override; bool Overwrite(const SwPaM &rRg, const OUString& rStr) override; bool InsertString(const SwPaM &rRg, const OUString&, const SwInsertFlags nInsertMode = SwInsertFlags::EMPTYEXPAND ) override; + void SetIME(bool bIME) override; + + bool GetIME() const override; + void TransliterateText(const SwPaM& rPaM, utl::TransliterationWrapper&) override; SwFlyFrameFormat* InsertGraphic(const SwPaM &rRg, const OUString& rGrfName, const OUString& rFltName, const Graphic* pGraphic, const SfxItemSet* pFlyAttrSet, const SfxItemSet* pGrfAttrSet, SwFrameFormat*) override; - SwFlyFrameFormat* InsertGraphicObject(const SwPaM& rRg, const GraphicObject& rGrfObj, const SfxItemSet* pFlyAttrSet, - const SfxItemSet* pGrfAttrSet) override; - void ReRead(SwPaM&, const OUString& rGrfName, const OUString& rFltName, const Graphic* pGraphic) override; SwDrawFrameFormat* InsertDrawObj( const SwPaM &rRg, SdrObject& rDrawObj, const SfxItemSet& rFlyAttrSet ) override; @@ -89,7 +86,6 @@ public: bool InsertPoolItem(const SwPaM &rRg, const SfxPoolItem&, const SetAttrMode nFlags = SetAttrMode::DEFAULT, SwRootFrame const* pLayout = nullptr, - bool bExpandCharToPara = false, SwTextAttr **ppNewTextAttr = nullptr) override; void InsertItemSet (const SwPaM &rRg, const SfxItemSet&, @@ -97,6 +93,7 @@ public: SwRootFrame const* pLayout = nullptr) override; void RemoveLeadingWhiteSpace(const SwPosition & rPos ) override; + void RemoveLeadingWhiteSpace(SwPaM& rPaM) override; //Non-Interface methods @@ -104,7 +101,7 @@ public: void DeleteDummyChar(SwPosition const& rPos, sal_Unicode cDummy); void CopyWithFlyInFly( const SwNodeRange& rRg, - const SwNodeIndex& rInsPos, + SwNode& rInsPos, const std::pair<const SwPaM&, const SwPosition&> * pCopiedPaM = nullptr, bool bMakeNewFrames = true, bool bDelRedlines = true, @@ -112,15 +109,16 @@ public: SwCopyFlags flags = SwCopyFlags::Default) const; void CopyFlyInFlyImpl( const SwNodeRange& rRg, SwPaM const*const pCopiedPaM, - const SwNodeIndex& rStartIdx, + SwNode& rStartIdx, const bool bCopyFlyAtFly = false, - SwCopyFlags flags = SwCopyFlags::Default) const; + SwCopyFlags flags = SwCopyFlags::Default, + bool bMakeNewFrames = true) const; /// Parameters for _Rst and lcl_SetTextFormatColl //originallyfrom docfmt.cxx struct ParaRstFormat { - SwFormatColl* pFormatColl; + SwTextFormatColl* pFormatColl; SwHistory* pHistory; const SwPosition *pSttNd, *pEndNd; const SfxItemSet* pDelSet; @@ -151,7 +149,7 @@ public: { } }; - static bool lcl_RstTextAttr( const SwNodePtr& rpNd, void* pArgs ); //originally from docfmt.cxx + static bool lcl_RstTextAttr( SwNode* pNd, void* pArgs ); //originally from docfmt.cxx virtual ~DocumentContentOperationsManager() override; @@ -159,10 +157,12 @@ public: private: SwDoc& m_rDoc; - bool DeleteAndJoinImpl(SwPaM&, const bool); - bool DeleteAndJoinWithRedlineImpl(SwPaM&, const bool unused = false); - bool DeleteRangeImpl(SwPaM&, const bool unused = false); - bool DeleteRangeImplImpl(SwPaM &); + bool m_bIME = false; + + bool DeleteAndJoinImpl(SwPaM &, SwDeleteFlags); + bool DeleteAndJoinWithRedlineImpl(SwPaM &, SwDeleteFlags); + bool DeleteRangeImpl(SwPaM &, SwDeleteFlags); + bool DeleteRangeImplImpl(SwPaM &, SwDeleteFlags); bool ReplaceRangeImpl(SwPaM&, OUString const&, const bool); SwFlyFrameFormat* InsNoTextNode( const SwPosition&rPos, SwNoTextNode*, const SfxItemSet* pFlyAttrSet, @@ -180,13 +180,12 @@ private: }; -void CopyBookmarks(const SwPaM& rPam, SwPosition& rTarget); +void CopyBookmarks(const SwPaM& rPam, const SwPosition& rTarget, + SwCopyFlags flags = SwCopyFlags::Default); -void CalcBreaks(std::vector<std::pair<sal_uLong, sal_Int32>> & rBreaks, +void CalcBreaks(std::vector<std::pair<SwNodeOffset, sal_Int32>> & rBreaks, SwPaM const & rPam, bool const isOnlyFieldmarks = false); } -#endif // INCLUDED_SW_SOURCE_CORE_INC_DOCUMENTCONTENTOPERATIONSMANAGER_HXX - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |