summaryrefslogtreecommitdiff
path: root/sw/source/core/inc/DocumentContentOperationsManager.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/core/inc/DocumentContentOperationsManager.hxx')
-rw-r--r--sw/source/core/inc/DocumentContentOperationsManager.hxx53
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: */