LibreOffice Module sw (master) 1
rolbck.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19#ifndef INCLUDED_SW_SOURCE_CORE_INC_ROLBCK_HXX
20#define INCLUDED_SW_SOURCE_CORE_INC_ROLBCK_HXX
21
22#include <o3tl/deleter.hxx>
24#include <svl/itemset.hxx>
25#include <vcl/keycod.hxx>
26#include <tox.hxx>
27
29
30#include <memory>
31#include <vector>
32
33namespace sfx2 {
34 class MetadatableUndo;
35}
36
37class SwDoc;
38class SwFormatColl;
39class SwTextAttr;
40class SfxPoolItem;
42class SwTextFootnote;
45class SwFormatField;
46class SwTextField;
47class SwFieldType;
48class SwTextTOXMark;
49class SwTextRefMark;
50class SwFrameFormat;
51class SwpHints;
52class SwFormatChain;
53class SwNode;
54class SwCharFormat;
55enum class SwFieldIds : sal_uInt16;
56typedef struct _xmlTextWriter* xmlTextWriterPtr;
57
76};
77
79{
81
82public:
83 SwHistoryHint( HISTORY_HINT eWhich ) : m_eWhichId( eWhich ) {}
84 virtual ~SwHistoryHint() {}
85 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) = 0;
86 HISTORY_HINT Which() const { return m_eWhichId; }
87 virtual OUString GetDescription() const;
88 virtual void dumpAsXml(xmlTextWriterPtr pWriter) const;
89};
90
92{
93 std::unique_ptr<SfxPoolItem> m_pAttr;
95
96public:
97 SwHistorySetFormat( const SfxPoolItem* pFormatHt, SwNodeOffset nNode );
98 virtual ~SwHistorySetFormat() override;
99 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) override;
100 virtual OUString GetDescription() const override;
101
102 void dumpAsXml(xmlTextWriterPtr pWriter) const override;
103};
104
106{
108 const sal_uInt16 m_nWhich;
109
110public:
111 SwHistoryResetFormat( const SfxPoolItem* pFormatHt, SwNodeOffset nNodeIdx );
112 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) override;
113
114};
115
116class SwHistorySetText final : public SwHistoryHint
117{
118 std::unique_ptr<SfxPoolItem> m_pAttr;
120 const sal_Int32 m_nStart;
121 const sal_Int32 m_nEnd;
124
125public:
126 SwHistorySetText( SwTextAttr* pTextHt, SwNodeOffset nNode );
127 virtual ~SwHistorySetText() override;
128 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) override;
129
130};
131
133{
136 std::unique_ptr<SwFieldType> m_pFieldType;
137 const std::unique_ptr<SwFormatField> m_pField;
138
140 sal_Int32 m_nPos;
142
143public:
144 SwHistorySetTextField( const SwTextField* pTextField, SwNodeOffset nNode );
145 virtual ~SwHistorySetTextField() override;
146 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) override;
147
148 virtual OUString GetDescription() const override;
149
150};
151
153{
154 const OUString m_RefName;
156 const sal_Int32 m_nStart;
157 const sal_Int32 m_nEnd;
158
159public:
160 SwHistorySetRefMark( const SwTextRefMark* pTextHt, SwNodeOffset nNode );
161 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) override;
162
163};
164
166{
168 const OUString m_TOXName;
171 const sal_Int32 m_nStart;
172 const sal_Int32 m_nEnd;
173
174public:
175 SwHistorySetTOXMark( const SwTextTOXMark* pTextHt, SwNodeOffset nNode );
176 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) override;
177 bool IsEqual( const SwTOXMark& rCmp ) const;
178
179 static SwTOXType* GetSwTOXType(SwDoc& rDoc, TOXTypes eTOXTypes, const OUString& rTOXName);
180};
181
183{
185 const sal_Int32 m_nStart;
186 const sal_Int32 m_nEnd;
187 const sal_uInt16 m_nAttr;
188
189public:
190 SwHistoryResetText( sal_uInt16 nWhich, sal_Int32 nStt, sal_Int32 nEnd,
191 SwNodeOffset nNode );
192 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) override;
193
194 sal_uInt16 GetWhich() const { return m_nAttr; }
196 sal_Int32 GetContent() const { return m_nStart; }
197
198};
199
201{
202 const std::unique_ptr<SwUndoSaveSection, o3tl::default_delete<SwUndoSaveSection>> m_pUndo;
203 const OUString m_FootnoteNumber;
205 const sal_Int32 m_nStart;
206 const bool m_bEndNote;
207
208public:
209 SwHistorySetFootnote( SwTextFootnote* pTextFootnote, SwNodeOffset nNode );
211 virtual ~SwHistorySetFootnote() override;
212 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) override;
213
214 virtual OUString GetDescription() const override;
215
216};
217
219{
223
224public:
226 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) override;
227
228};
229
231{
232 std::unique_ptr<SwUndoDelLayFormat> m_pUndo;
233
234public:
235 SwHistoryTextFlyCnt( SwFrameFormat* const pFlyFormat );
236 virtual ~SwHistoryTextFlyCnt() override;
237 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) override;
239
240 void dumpAsXml(xmlTextWriterPtr pWriter) const override;
241};
242
244{
245 public:
246 SwHistoryBookmark(const ::sw::mark::IMark& rBkmk,
247 bool bSavePos, bool bSaveOtherPos);
248 virtual void SetInDoc(SwDoc * pDoc, bool) override;
249
250 bool IsEqualBookmark(const ::sw::mark::IMark& rBkmk);
251 const OUString& GetName() const { return m_aName;}
252
253 private:
254 const OUString m_aName;
255 OUString m_aShortName;
261 const sal_Int32 m_nContent;
262 const sal_Int32 m_nOtherContent;
263 const bool m_bSavePos;
264 const bool m_bSaveOtherPos;
265 const bool m_bHadOtherPos;
267 std::shared_ptr< ::sfx2::MetadatableUndo > m_pMetadataUndo;
268};
269
273{
274 public:
275 SwHistoryNoTextFieldmark(const ::sw::mark::IFieldmark& rFieldMark);
276 virtual void SetInDoc(SwDoc* pDoc, bool) override;
277 void ResetInDoc(SwDoc& rDoc);
278
279 private:
280 const OUString m_sType;
282 const sal_Int32 m_nContent;
283};
284
288{
289 public:
290 SwHistoryTextFieldmark(const ::sw::mark::IFieldmark& rFieldMark);
291 virtual void SetInDoc(SwDoc* pDoc, bool) override;
292 void ResetInDoc(SwDoc& rDoc);
293
294 private:
295 const OUString m_sName;
296 const OUString m_sType;
298 const sal_Int32 m_nStartContent;
300 const sal_Int32 m_nEndContent;
302 /*const*/ sal_Int32 m_nSepContent;
303};
304
306{
308 std::vector<sal_uInt16> m_ResetArray;
310
311public:
312 SwHistorySetAttrSet( const SfxItemSet& rSet, SwNodeOffset nNode,
313 const o3tl::sorted_vector<sal_uInt16> &rSetArr );
314 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) override;
315
316};
317
319{
322 const sal_Int32 m_nOldContentIndex;
323
324public:
326 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) override;
327};
328
330{
334
335public:
337 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) override;
338};
339
341{
343 const OUString m_Format;
344
345public:
346 SwHistoryChangeCharFormat( SfxItemSet aSet, OUString sFormat);
347 virtual void SetInDoc( SwDoc* pDoc, bool bTmpSet ) override;
348
349};
350
352{
353 friend class SwDoc; // actually only SwDoc::DelUndoObj may access
354 friend class SwRegHistory; // for inserting History attributes
355
356 std::vector<std::unique_ptr<SwHistoryHint>> m_SwpHstry;
357 sal_uInt16 m_nEndDiff;
358
359public:
360 SwHistory();
361 ~SwHistory();
362
363 // call and delete all objects between nStart and array end
364 bool Rollback( SwDoc* pDoc, sal_uInt16 nStart = 0 );
365 // call all objects between nStart and TmpEnd; store nStart as TmpEnd
366 bool TmpRollback( SwDoc* pDoc, sal_uInt16 nStart, bool ToFirst = true );
367
368 void Add( const SfxPoolItem* pOldValue, const SfxPoolItem* pNewValue,
369 SwNodeOffset nNodeIdx );
370 void Add( SwTextAttr* pTextHt, SwNodeOffset nNodeIdx, bool bNewAttr );
371 void Add( SwFormatColl*, SwNodeOffset nNodeIdx, SwNodeType nWhichNd );
372 void Add( const ::sw::mark::IMark&, bool bSavePos, bool bSaveOtherPos );
373 void AddChangeFlyAnchor( SwFrameFormat& rFormat );
374 void AddDeleteFly( SwFrameFormat&, sal_uInt16& rSetPos );
375 void Add( const SwTextFootnote& );
376 void Add( const SfxItemSet & rSet, const SwCharFormat & rCharFormat);
377
378 sal_uInt16 Count() const { return m_SwpHstry.size(); }
379 sal_uInt16 GetTmpEnd() const { return m_SwpHstry.size() - m_nEndDiff; }
380 sal_uInt16 SetTmpEnd( sal_uInt16 nTmpEnd ); // return previous value
381 SwHistoryHint * operator[]( sal_uInt16 nPos ) { return m_SwpHstry[nPos].get(); }
382 SwHistoryHint const* operator[]( sal_uInt16 nPos ) const
383 { return m_SwpHstry[nPos].get(); }
384
385 // for SwUndoDelete::Undo/Redo
386 void Move( sal_uInt16 nPos, SwHistory *pIns,
387 sal_uInt16 const nStart = 0)
388 {
389 auto itSourceBegin = pIns->m_SwpHstry.begin() + nStart;
390 auto itSourceEnd = pIns->m_SwpHstry.end();
391 if (itSourceBegin == itSourceEnd)
392 return;
393 m_SwpHstry.insert(m_SwpHstry.begin() + nPos, std::make_move_iterator(itSourceBegin), std::make_move_iterator(itSourceEnd));
394 pIns->m_SwpHstry.erase( itSourceBegin, itSourceEnd );
395 }
396
397 // helper methods for recording attribute in History
398 // used by Undo classes (Delete/Overwrite/Inserts)
399 void CopyAttr(
400 SwpHints const * pHts,
401 const SwNodeOffset nNodeIdx,
402 const sal_Int32 nStart,
403 const sal_Int32 nEnd,
404 const bool bCopyFields );
405
406 void CopyFormatAttr( const SfxItemSet& rSet, SwNodeOffset nNodeIdx );
407
408 void dumpAsXml(xmlTextWriterPtr pWriter) const;
409};
410
411class SwRegHistory final: public SwClient
412{
413private:
417
418 void MakeSetWhichIds();
419
420public:
421 SwRegHistory( SwHistory* pHst );
422 SwRegHistory( const SwNode& rNd, SwHistory* pHst );
423 SwRegHistory( sw::BroadcastingModify* pRegIn, const SwNode& rNd, SwHistory* pHst );
424 virtual void SwClientNotify(const SwModify&, const SfxHint& rHint) override;
425
427 bool InsertItems( const SfxItemSet& rSet,
428 sal_Int32 const nStart, sal_Int32 const nEnd,
429 SetAttrMode const nFlags,
430 SwTextAttr **ppNewTextAttr );
431
432 void AddHint( SwTextAttr* pHt, const bool bNew );
433
434 void RegisterInModify( sw::BroadcastingModify* pRegIn, const SwNode& rNd );
436};
437
438#endif // INCLUDED_SW_SOURCE_CORE_INC_ROLBCK_HXX
439
440/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
struct _xmlTextWriter * xmlTextWriterPtr
Represents the style of a text portion.
Definition: charfmt.hxx:27
Definition: doc.hxx:194
Instances of SwFields and those derived from it occur 0 to n times.
Definition: fldbas.hxx:242
Connection (text flow) between two FlyFrames.
Definition: fmtcnct.hxx:32
Style of a layout element.
Definition: frmfmt.hxx:62
const OUString & GetName() const
Definition: rolbck.hxx:251
const bool m_bSaveOtherPos
Definition: rolbck.hxx:264
SwHistoryBookmark(const ::sw::mark::IMark &rBkmk, bool bSavePos, bool bSaveOtherPos)
Definition: rolbck.cxx:605
const SwNodeOffset m_nNode
Definition: rolbck.hxx:259
OUString m_aHideCondition
Definition: rolbck.hxx:257
const bool m_bHadOtherPos
Definition: rolbck.hxx:265
std::shared_ptr< ::sfx2::MetadatableUndo > m_pMetadataUndo
Definition: rolbck.hxx:267
const sal_Int32 m_nOtherContent
Definition: rolbck.hxx:262
const OUString m_aName
Definition: rolbck.hxx:254
vcl::KeyCode m_aKeycode
Definition: rolbck.hxx:258
virtual void SetInDoc(SwDoc *pDoc, bool) override
Definition: rolbck.cxx:642
const bool m_bSavePos
Definition: rolbck.hxx:263
bool IsEqualBookmark(const ::sw::mark::IMark &rBkmk)
Definition: rolbck.cxx:722
const SwNodeOffset m_nOtherNode
Definition: rolbck.hxx:260
const IDocumentMarkAccess::MarkType m_eBkmkType
Definition: rolbck.hxx:266
OUString m_aShortName
Definition: rolbck.hxx:255
const sal_Int32 m_nContent
Definition: rolbck.hxx:261
SwHistoryChangeCharFormat(SfxItemSet aSet, OUString sFormat)
Definition: rolbck.cxx:1001
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet) override
Definition: rolbck.cxx:1008
const SfxItemSet m_OldSet
Definition: rolbck.hxx:342
const OUString m_Format
Definition: rolbck.hxx:343
const sal_Int32 m_nOldContentIndex
Definition: rolbck.hxx:322
SwFrameFormat & m_rFormat
Definition: rolbck.hxx:320
SwHistoryChangeFlyAnchor(SwFrameFormat &rFormat)
Definition: rolbck.cxx:925
const SwNodeOffset m_nOldNodeIndex
Definition: rolbck.hxx:321
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet) override
Definition: rolbck.cxx:935
SwHistoryChangeFlyChain(SwFlyFrameFormat &rFormat, const SwFormatChain &rAttr)
Definition: rolbck.cxx:960
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet) override
Definition: rolbck.cxx:969
SwFlyFrameFormat *const m_pPrevFormat
Definition: rolbck.hxx:331
SwFlyFrameFormat *const m_pFlyFormat
Definition: rolbck.hxx:333
SwFlyFrameFormat *const m_pNextFormat
Definition: rolbck.hxx:332
const SwNodeType m_nNodeType
Definition: rolbck.hxx:222
const SwNodeOffset m_nNodeIndex
Definition: rolbck.hxx:221
SwFormatColl *const m_pColl
Definition: rolbck.hxx:220
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet) override
Definition: rolbck.cxx:549
SwHistoryChangeFormatColl(SwFormatColl *pColl, SwNodeOffset nNode, SwNodeType nNodeWhich)
Definition: rolbck.cxx:540
const HISTORY_HINT m_eWhichId
Definition: rolbck.hxx:80
virtual void dumpAsXml(xmlTextWriterPtr pWriter) const
Definition: rolbck.cxx:68
virtual ~SwHistoryHint()
Definition: rolbck.hxx:84
HISTORY_HINT Which() const
Definition: rolbck.hxx:86
virtual OUString GetDescription() const
Definition: rolbck.cxx:63
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet)=0
SwHistoryHint(HISTORY_HINT eWhich)
Definition: rolbck.hxx:83
History object containing all information used during undo / redo of checkbox and drop-down form fiel...
Definition: rolbck.hxx:273
virtual void SetInDoc(SwDoc *pDoc, bool) override
Definition: rolbck.cxx:737
const OUString m_sType
Definition: rolbck.hxx:280
void ResetInDoc(SwDoc &rDoc)
Definition: rolbck.cxx:755
const SwNodeOffset m_nNode
Definition: rolbck.hxx:281
SwHistoryNoTextFieldmark(const ::sw::mark::IFieldmark &rFieldMark)
Definition: rolbck.cxx:729
const sal_Int32 m_nContent
Definition: rolbck.hxx:282
const SwNodeOffset m_nNodeIndex
Definition: rolbck.hxx:107
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet) override
Definition: rolbck.cxx:208
const sal_uInt16 m_nWhich
Definition: rolbck.hxx:108
SwHistoryResetFormat(const SfxPoolItem *pFormatHt, SwNodeOffset nNodeIdx)
Definition: rolbck.cxx:201
const sal_Int32 m_nEnd
Definition: rolbck.hxx:186
SwHistoryResetText(sal_uInt16 nWhich, sal_Int32 nStt, sal_Int32 nEnd, SwNodeOffset nNode)
Definition: rolbck.cxx:430
const sal_uInt16 m_nAttr
Definition: rolbck.hxx:187
sal_uInt16 GetWhich() const
Definition: rolbck.hxx:194
const SwNodeOffset m_nNodeIndex
Definition: rolbck.hxx:184
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet) override
Definition: rolbck.cxx:438
sal_Int32 GetContent() const
Definition: rolbck.hxx:196
const sal_Int32 m_nStart
Definition: rolbck.hxx:185
SwNodeOffset GetNode() const
Definition: rolbck.hxx:195
const SwNodeOffset m_nNodeIndex
Definition: rolbck.hxx:309
std::vector< sal_uInt16 > m_ResetArray
Definition: rolbck.hxx:308
SwHistorySetAttrSet(const SfxItemSet &rSet, SwNodeOffset nNode, const o3tl::sorted_vector< sal_uInt16 > &rSetArr)
Definition: rolbck.cxx:829
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet) override
Definition: rolbck.cxx:900
SfxItemSet m_OldSet
Definition: rolbck.hxx:307
virtual OUString GetDescription() const override
Definition: rolbck.cxx:484
const sal_Int32 m_nStart
Definition: rolbck.hxx:205
const std::unique_ptr< SwUndoSaveSection, o3tl::default_delete< SwUndoSaveSection > > m_pUndo
Definition: rolbck.hxx:202
SwNodeOffset m_nNodeIndex
Definition: rolbck.hxx:204
virtual ~SwHistorySetFootnote() override
Definition: rolbck.cxx:489
const bool m_bEndNote
Definition: rolbck.hxx:206
const OUString m_FootnoteNumber
Definition: rolbck.hxx:203
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet) override
Definition: rolbck.cxx:493
SwHistorySetFootnote(SwTextFootnote *pTextFootnote, SwNodeOffset nNode)
Definition: rolbck.cxx:448
const SwNodeOffset m_nNodeIndex
Definition: rolbck.hxx:94
void dumpAsXml(xmlTextWriterPtr pWriter) const override
Definition: rolbck.cxx:150
virtual ~SwHistorySetFormat() override
Definition: rolbck.cxx:197
virtual OUString GetDescription() const override
Definition: rolbck.cxx:118
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet) override
Definition: rolbck.cxx:165
std::unique_ptr< SfxPoolItem > m_pAttr
Definition: rolbck.hxx:93
SwHistorySetFormat(const SfxPoolItem *pFormatHt, SwNodeOffset nNode)
Definition: rolbck.cxx:78
const sal_Int32 m_nEnd
Definition: rolbck.hxx:157
SwHistorySetRefMark(const SwTextRefMark *pTextHt, SwNodeOffset nNode)
Definition: rolbck.cxx:341
const OUString m_RefName
Definition: rolbck.hxx:154
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet) override
Definition: rolbck.cxx:350
const sal_Int32 m_nStart
Definition: rolbck.hxx:156
const SwNodeOffset m_nNodeIndex
Definition: rolbck.hxx:155
const TOXTypes m_eTOXTypes
Definition: rolbck.hxx:169
bool IsEqual(const SwTOXMark &rCmp) const
Definition: rolbck.cxx:418
static SwTOXType * GetSwTOXType(SwDoc &rDoc, TOXTypes eTOXTypes, const OUString &rTOXName)
Definition: rolbck.cxx:380
const sal_Int32 m_nEnd
Definition: rolbck.hxx:172
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet) override
Definition: rolbck.cxx:402
const sal_Int32 m_nStart
Definition: rolbck.hxx:171
SwTOXMark m_TOXMark
Definition: rolbck.hxx:167
SwHistorySetTOXMark(const SwTextTOXMark *pTextHt, SwNodeOffset nNode)
Definition: rolbck.cxx:368
const SwNodeOffset m_nNodeIndex
Definition: rolbck.hxx:170
const OUString m_TOXName
Definition: rolbck.hxx:168
SwNodeOffset m_nNodeIndex
Definition: rolbck.hxx:139
SwFieldIds m_nFieldWhich
Definition: rolbck.hxx:141
virtual ~SwHistorySetTextField() override
Definition: rolbck.cxx:309
virtual OUString GetDescription() const override
Definition: rolbck.cxx:304
const std::unique_ptr< SwFormatField > m_pField
Definition: rolbck.hxx:137
std::unique_ptr< SwFieldType > m_pFieldType
! beware of the order for the declaration of the unique_ptrs.
Definition: rolbck.hxx:136
SwHistorySetTextField(const SwTextField *pTextField, SwNodeOffset nNode)
Definition: rolbck.cxx:283
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet) override
Definition: rolbck.cxx:313
std::unique_ptr< SfxPoolItem > m_pAttr
Definition: rolbck.hxx:118
const sal_Int32 m_nEnd
Definition: rolbck.hxx:121
bool m_bFormatIgnoreEnd
Definition: rolbck.hxx:123
const SwNodeOffset m_nNodeIndex
Definition: rolbck.hxx:119
virtual ~SwHistorySetText() override
Definition: rolbck.cxx:246
SwHistorySetText(SwTextAttr *pTextHt, SwNodeOffset nNode)
Definition: rolbck.cxx:222
const sal_Int32 m_nStart
Definition: rolbck.hxx:120
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet) override
Definition: rolbck.cxx:250
bool m_bFormatIgnoreStart
Definition: rolbck.hxx:122
History object containing all information used during undo / redo of text form field insertion.
Definition: rolbck.hxx:288
const sal_Int32 m_nStartContent
Definition: rolbck.hxx:298
const sal_Int32 m_nEndContent
Definition: rolbck.hxx:300
const OUString m_sType
Definition: rolbck.hxx:296
const SwNodeOffset m_nStartNode
Definition: rolbck.hxx:297
virtual void SetInDoc(SwDoc *pDoc, bool) override
Definition: rolbck.cxx:787
sal_Int32 m_nSepContent
Definition: rolbck.hxx:302
const SwNodeOffset m_nEndNode
Definition: rolbck.hxx:299
SwHistoryTextFieldmark(const ::sw::mark::IFieldmark &rFieldMark)
Definition: rolbck.cxx:773
void ResetInDoc(SwDoc &rDoc)
Definition: rolbck.cxx:813
SwNodeOffset m_nSepNode
Definition: rolbck.hxx:301
const OUString m_sName
Definition: rolbck.hxx:295
SwUndoDelLayFormat * GetUDelLFormat()
Definition: rolbck.hxx:238
SwHistoryTextFlyCnt(SwFrameFormat *const pFlyFormat)
Definition: rolbck.cxx:572
virtual ~SwHistoryTextFlyCnt() override
Definition: rolbck.cxx:580
virtual void SetInDoc(SwDoc *pDoc, bool bTmpSet) override
Definition: rolbck.cxx:584
void dumpAsXml(xmlTextWriterPtr pWriter) const override
Definition: rolbck.cxx:592
std::unique_ptr< SwUndoDelLayFormat > m_pUndo
Definition: rolbck.hxx:232
void CopyFormatAttr(const SfxItemSet &rSet, SwNodeOffset nNodeIdx)
Definition: rolbck.cxx:1262
void CopyAttr(SwpHints const *pHts, const SwNodeOffset nNodeIdx, const sal_Int32 nStart, const sal_Int32 nEnd, const bool bCopyFields)
Definition: rolbck.cxx:1298
sal_uInt16 Count() const
Definition: rolbck.hxx:378
void dumpAsXml(xmlTextWriterPtr pWriter) const
Definition: rolbck.cxx:1283
void AddDeleteFly(SwFrameFormat &, sal_uInt16 &rSetPos)
Definition: rolbck.cxx:1149
std::vector< std::unique_ptr< SwHistoryHint > > m_SwpHstry
Definition: rolbck.hxx:356
void AddChangeFlyAnchor(SwFrameFormat &rFormat)
Definition: rolbck.cxx:1143
SwHistoryHint * operator[](sal_uInt16 nPos)
Definition: rolbck.hxx:381
sal_uInt16 SetTmpEnd(sal_uInt16 nTmpEnd)
Definition: rolbck.cxx:1241
void Add(const SfxPoolItem *pOldValue, const SfxPoolItem *pNewValue, SwNodeOffset nNodeIdx)
Definition: rolbck.cxx:1028
~SwHistory()
Definition: rolbck.cxx:1024
SwHistoryHint const * operator[](sal_uInt16 nPos) const
Definition: rolbck.hxx:382
sal_uInt16 m_nEndDiff
Definition: rolbck.hxx:357
bool TmpRollback(SwDoc *pDoc, sal_uInt16 nStart, bool ToFirst=true)
Definition: rolbck.cxx:1216
bool Rollback(SwDoc *pDoc, sal_uInt16 nStart=0)
Definition: rolbck.cxx:1201
void Move(sal_uInt16 nPos, SwHistory *pIns, sal_uInt16 const nStart=0)
Definition: rolbck.hxx:386
sal_uInt16 GetTmpEnd() const
Definition: rolbck.hxx:379
Base class of the Writer document model elements.
Definition: node.hxx:98
virtual void SwClientNotify(const SwModify &, const SfxHint &rHint) override
Definition: rolbck.cxx:1379
SwRegHistory(SwHistory *pHst)
Definition: rolbck.cxx:1354
SwHistory *const m_pHistory
Definition: rolbck.hxx:415
o3tl::sorted_vector< sal_uInt16 > m_WhichIdSet
Definition: rolbck.hxx:414
void MakeSetWhichIds()
Definition: rolbck.cxx:1503
SwNodeOffset m_nNodeIndex
Definition: rolbck.hxx:416
bool InsertItems(const SfxItemSet &rSet, sal_Int32 const nStart, sal_Int32 const nEnd, SetAttrMode const nFlags, SwTextAttr **ppNewTextAttr)
Definition: rolbck.cxx:1429
void ChangeNodeIndex(SwNodeOffset nNew)
Definition: rolbck.hxx:435
void AddHint(SwTextAttr *pHt, const bool bNew)
Definition: rolbck.cxx:1424
void RegisterInModify(sw::BroadcastingModify *pRegIn, const SwNode &rNd)
Definition: rolbck.cxx:1489
A wrapper around SfxPoolItem to store the start position of (usually) a text portion,...
Definition: txatbase.hxx:44
An SwTextAttr container, stores all directly formatted text portions for a text node.
Definition: ndhints.hxx:68
SwFieldIds
Definition: fldbas.hxx:45
sal_uInt16 nPos
SwNodeType
Definition: ndtyp.hxx:28
struct _xmlTextWriter * xmlTextWriterPtr
Definition: rolbck.hxx:56
HISTORY_HINT
Definition: rolbck.hxx:58
@ HSTRY_CHGFLYANCHOR
Definition: rolbck.hxx:71
@ HSTRY_BOOKMARK
Definition: rolbck.hxx:69
@ HSTRY_SETFTNHNT
Definition: rolbck.hxx:66
@ HSTRY_SETTOXMARKHNT
Definition: rolbck.hxx:64
@ HSTRY_CHGFLYCHAIN
Definition: rolbck.hxx:72
@ HSTRY_CHGFMTCOLL
Definition: rolbck.hxx:67
@ HSTRY_NOTEXTFIELDMARK
Definition: rolbck.hxx:74
@ HSTRY_SETTXTHNT
Definition: rolbck.hxx:61
@ HSTRY_RESETTXTHNT
Definition: rolbck.hxx:65
@ HSTRY_SETFMTHNT
Definition: rolbck.hxx:59
@ HSTRY_SETTXTFLDHNT
Definition: rolbck.hxx:62
@ HSTRY_SETREFMARKHNT
Definition: rolbck.hxx:63
@ HSTRY_RESETFMTHNT
Definition: rolbck.hxx:60
@ HSTRY_FLYCNT
Definition: rolbck.hxx:68
@ HSTRY_CHGCHARFMT
Definition: rolbck.hxx:73
@ HSTRY_SETATTRSET
Definition: rolbck.hxx:70
@ HSTRY_TEXTFIELDMARK
Definition: rolbck.hxx:75
SetAttrMode
Definition: swtypes.hxx:133
TOXTypes
Definition: toxe.hxx:40