22 #include <osl/diagnose.h>
32 #include <strings.hrc>
41 mbHiddenRedlines( false )
98 if ( bIsDeletion && rTable.
size() > 0 )
118 nMaxId = pRedline->
GetId();
123 pRedline->
Show(0, rTable.
GetPos(pRedline),
true);
124 pRedline->
Show(1, rTable.
GetPos(pRedline),
true);
131 std::unique_ptr<SwPaM> pNewPam;
161 else if (dynamic_cast<SwUndoAcceptRedline*>(
this)
162 || dynamic_cast<SwUndoRejectRedline*>(
this))
203 m_bCanGroup( false ), m_bIsDelim( false ), m_bIsBackspace( false )
232 OUString ret = aRewriter.
Apply(
SwResId(STR_UNDO_REDLINE_DELETE));
294 m_nSaveEndNode( m_nEndNode ), m_nSaveEndContent( m_nEndContent )
320 RedlineType::Insert );
322 "could not find an Insert object" );
338 SwPaM *
const pPam = & rPam;
369 sal_Int32 nLen = pCNd->
Len();
494 bool bJoinText, bJoinPrev;
502 if( pCSttNd && !pCEndNd)
sal_uInt16 GetRedlSaveCount() const
SwPaM & AddUndoRedoPaM(::sw::UndoRedoContext &, bool const bCorrToContent=false) const
virtual sal_Int32 Len() const
sal_uLong GetIndex() const
SwNode & GetNode(bool bPoint=true) const
virtual void RepeatImpl(::sw::RepeatContext &) override
void Show(sal_uInt16 nLoop, size_t nMyPos, bool bForced=false)
Marks a position in the document model.
void UpdateFramesForAddDeleteRedline(SwDoc &rDoc, SwPaM const &rPam)
virtual ~SwUndoRedline() override
std::unique_ptr< SwRedlineSaveDatas > m_pRedlineSaveDatas
const OUString & GetText() const
std::unique_ptr< SwRedlineSaveDatas > mpRedlSaveData
virtual void UndoImpl(::sw::UndoRedoContext &) override
virtual AppendResult AppendRedline(SwRangeRedline *pNewRedl, bool bCallDelete)=0
Append a new redline.
virtual void SetRedlineFlags_intern(RedlineFlags eMode)=0
Set a new redline mode.
virtual void RedoRedlineImpl(SwDoc &rDoc, SwPaM &rPam) override
virtual ~SwUndoRedlineSort() override
const SwPosition * GetMark() const
std::unique_ptr< SwSortOptions > m_pOpt
virtual ~SwUndoCompDoc() override
void SetRedlineFlags(RedlineFlags eMode)
SwNode * DocumentSectionEndNode(SwNode *pNode) const
SwPosition & GetBound(bool bOne=true)
IDocumentContentOperations const & getIDocumentContentOperations() const
SwUndoCompDoc(const SwPaM &rRg, bool bIns)
void SetRedlineText(const OUString &rText)
std::unique_ptr< SwRedlineData > m_pRedlineData
void SetValues(const SwPaM &rPam)
SwContentNode * GetContentNode(bool bPoint=true) const
#define CH_TXTATR_BREAKWORD
bool isLetterNumeric(const OUString &rStr, sal_Int32 nPos) const
SwUndoRedline(SwUndoId nUserId, const SwPaM &rRange)
static bool IsRedlineOn(const RedlineFlags eM)
sal_uLong GetIndex() const
virtual void RedoRedlineImpl(SwDoc &rDoc, SwPaM &rPam) override
static bool CanRedlineGroup(SwRedlineSaveDatas &rCurr, const SwRedlineSaveDatas &rCheck, bool bCurrIsEnd)
bool CanGrouping(const SwUndoRedlineDelete &rPrev)
RedlineFlags GetRedlineFlags() const
bool sw_JoinText(SwPaM &rPam, bool bJoinPrev)
const SwRedlineData & GetRedlineData(sal_uInt16 nPos=0) const
virtual void RepeatImpl(::sw::RepeatContext &) override
virtual std::size_t GetRedlineAuthor()=0
void InvalidateRange(Invalidation)
Initiate the layout.
bool SortText(const SwPaM &, const SwSortOptions &)
Sort Text in the Document.
PaM is Point and Mark: a selection of the document model.
virtual SwRedlineTable::size_type GetRedlinePos(const SwNode &rNode, RedlineType nType) const =0
size_type GetPos(const SwRangeRedline *p) const
void SetSaveRange(const SwPaM &rRange)
static bool HasHiddenRedlines(const SwRedlineSaveDatas &rSData)
const SwPosition * GetPoint() const
OUString DenoteSpecialCharacters(const OUString &rStr, bool bQuoted=true)
Denotes special characters in a string.
SwIndex & Assign(SwIndexReg *, sal_Int32)
OUString Apply(const OUString &rStr) const
virtual void RedoImpl(::sw::UndoRedoContext &) override
SwUndoRedlineDelete(const SwPaM &rRange, SwUndoId nUserId)
static void SetSaveData(SwDoc &rDoc, SwRedlineSaveDatas &rSData)
virtual bool DeleteRedline(const SwPaM &rPam, bool bSaveInUndo, RedlineType nDelType)=0
vector_type::size_type size_type
bool HasMark() const
A PaM marks a selection if Point and Mark are distinct positions.
virtual void UndoImpl(::sw::UndoRedoContext &) override
void AddRule(SwUndoArg eWhat, const OUString &rWith)
virtual void RedoRedlineImpl(SwDoc &rDoc, SwPaM &rPam) override
Marks a node in the document model.
std::unique_ptr< SwRedlineData > mpRedlData
OUString SwResId(const char *pId)
SwUndoRejectRedline(const SwPaM &rRange)
SwUndoRedlineSort(const SwPaM &rRange, const SwSortOptions &rOpt)
const SwPosition * Start() const
virtual void RedoImpl(::sw::UndoRedoContext &) override
void SetMark(const sw::mark::IMark *pMark)
std::unique_ptr< SwUndoDelete > m_pUndoDelete
SwTextNode is a paragraph in the document model.
virtual bool SplitRedline(const SwPaM &rPam)=0
SwUndoAcceptRedline(const SwPaM &rRange)
IDocumentRedlineAccess const & getIDocumentRedlineAccess() const
virtual void RedoRedlineImpl(SwDoc &rDoc, SwPaM &rPam) override
void SetPaM(SwPaM &, bool bCorrToContent=false) const
void UpdateFramesForRemoveDeleteRedline(SwDoc &rDoc, SwPaM const &rPam)
OUString ShortenString(const OUString &rStr, sal_Int32 nLength, const OUString &rFillStr)
Shortens a string to a maximum length.
virtual bool DelFullPara(SwPaM &)=0
Delete full paragraphs.
sal_Int32 GetIndex() const
virtual bool IsRedlineOn() const =0
Query if redlining is on.
const SwPosition * End() const
virtual void RedoRedlineImpl(SwDoc &rDoc, SwPaM &rPam)
virtual RedlineFlags GetRedlineFlags() const =0
Query the currently set redline mode.
virtual bool AcceptRedline(SwRedlineTable::size_type nPos, bool bCallDelete)=0
void sw_GetJoinFlags(SwPaM &rPam, bool &rJoinText, bool &rJoinPrev)
virtual void SetMark()
Unless this is called, the getter method of Mark will return Point.
static bool FillSaveData(const SwPaM &rRange, SwRedlineSaveDatas &rSData, bool bDelRange=true, bool bCopyNext=true)
virtual bool RejectRedline(SwRedlineTable::size_type nPos, bool bCallDelete)=0
virtual SwRewriter GetRewriter() const override
Returns the rewriter for this object.
virtual const SwRedlineTable & GetRedlineTable() const =0
bool Insert(SwRangeRedline *&p)
SwNode & GetEndOfExtras() const
This is the last EndNode of a special section.
std::unique_ptr< SwUndoDelete > m_pUndoDelete2
virtual void UndoRedlineImpl(SwDoc &rDoc, SwPaM &rPam)
CharClass & GetAppCharClass()
static constexpr size_type npos
virtual void RepeatImpl(::sw::RepeatContext &) override
sal_Int32 m_nSaveEndContent
const int nUndoStringLength
SwTextNode * GetTextNode()
Inline methods from Node.hxx.
virtual void UndoRedlineImpl(SwDoc &rDoc, SwPaM &rPam) override
SwNodeIndex & Assign(SwNodes const &rNds, sal_uLong)
Base class of the Writer document model elements.
virtual void UndoRedlineImpl(SwDoc &rDoc, SwPaM &rPam) override