LibreOffice Module sw (master)  1
UndoTable.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 
20 #ifndef INCLUDED_SW_SOURCE_CORE_INC_UNDOTABLE_HXX
21 #define INCLUDED_SW_SOURCE_CORE_INC_UNDOTABLE_HXX
22 
23 #include <o3tl/deleter.hxx>
24 #include <tools/long.hxx>
25 #include <ndarr.hxx>
26 #include <undobj.hxx>
27 #include <set>
28 #include <itabenum.hxx>
29 #include <tblenum.hxx>
30 #include <memory>
31 #include <vector>
32 
33 class SfxItemSet;
34 
35 struct SwSaveRowSpan;
36 class SaveTable;
37 class SwDDEFieldType;
38 class SwUndoDelete;
39 class SwSelBoxes;
40 class SwTable;
41 class SwTableBox;
42 class SwStartNode;
43 class SwTableNode;
44 class SwTableAutoFormat;
45 class SwTableSortBoxes;
46 
47 class SwUndoInsTable : public SwUndo
48 {
49  OUString m_sTableName;
51  std::unique_ptr<SwDDEFieldType> m_pDDEFieldType;
52  std::unique_ptr<std::vector<sal_uInt16>> m_pColumnWidth;
53  std::unique_ptr<SwRedlineData> m_pRedlineData;
54  std::unique_ptr<SwTableAutoFormat> m_pAutoFormat;
56  sal_uInt16 m_nRows, m_nColumns;
57  sal_uInt16 const m_nAdjust;
58 
59 public:
60  SwUndoInsTable( const SwPosition&, sal_uInt16 nCols, sal_uInt16 nRows,
61  sal_uInt16 eAdjust, const SwInsertTableOptions& rInsTableOpts,
62  const SwTableAutoFormat* pTAFormat, const std::vector<sal_uInt16> *pColArr,
63  const OUString & rName);
64 
65  virtual ~SwUndoInsTable() override;
66 
67  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
68  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
69  virtual void RepeatImpl( ::sw::RepeatContext & ) override;
70 
71  virtual SwRewriter GetRewriter() const override;
72 };
73 
74 class SwUndoTextToTable : public SwUndo, public SwUndRng
75 {
76  OUString m_sTableName;
78  std::vector<sal_uLong> mvDelBoxes;
79  std::unique_ptr<SwTableAutoFormat> m_pAutoFormat;
82  sal_uInt16 m_nAdjust;
83  bool m_bSplitEnd : 1;
84 
85 public:
87  sal_uInt16,
88  const SwTableAutoFormat* pAFormat );
89 
90  virtual ~SwUndoTextToTable() override;
91 
92  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
93  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
94  virtual void RepeatImpl( ::sw::RepeatContext & ) override;
95 
96  SwHistory& GetHistory(); // will be created if necessary
97  void AddFillBox( const SwTableBox& rBox );
98 };
99 
100 class SwUndoTableToText : public SwUndo
101 {
102  OUString m_sTableName;
103  std::unique_ptr<SwDDEFieldType> m_pDDEFieldType;
104  std::unique_ptr<SaveTable> m_pTableSave;
106  std::unique_ptr<SwHistory> m_pHistory;
109  sal_uInt16 m_nHeadlineRepeat;
111 
112 public:
113  SwUndoTableToText( const SwTable& rTable, sal_Unicode cCh );
114 
115  virtual ~SwUndoTableToText() override;
116 
117  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
118  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
119  virtual void RepeatImpl( ::sw::RepeatContext & ) override;
120 
121  void SetRange( const SwNodeRange& );
122  void AddBoxPos( SwDoc& rDoc, sal_uLong nNdIdx, sal_uLong nEndIdx,
123  sal_Int32 nContentIdx = SAL_MAX_INT32);
124 };
125 
126 class SwUndoAttrTable : public SwUndo
127 {
129  std::unique_ptr<SaveTable> m_pSaveTable;
131 
132 public:
133  SwUndoAttrTable( const SwTableNode& rTableNd, bool bClearTabCols = false );
134 
135  virtual ~SwUndoAttrTable() override;
136 
137  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
138  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
139 };
140 
142 
144 {
147  std::unique_ptr<SaveTable> m_pSaveTable;
148  std::vector< std::shared_ptr<SwUndoTableNumFormat> > m_Undos;
150  sal_uInt16 m_nRepeatHeading;
151 
152  void UndoRedo(bool const bUndo, ::sw::UndoRedoContext & rContext);
153 
154 public:
155  SwUndoTableAutoFormat( const SwTableNode& rTableNd, const SwTableAutoFormat& );
156 
157  virtual ~SwUndoTableAutoFormat() override;
158 
159  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
160  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
161 
162  void SaveBoxContent( const SwTableBox& rBox );
163 };
164 
165 using SwUndoSaveSections = std::vector<std::unique_ptr<SwUndoSaveSection, o3tl::default_delete<SwUndoSaveSection>>>;
166 
167 class SwUndoTableNdsChg : public SwUndo
168 {
169  std::unique_ptr<SaveTable> m_pSaveTable;
170  std::set<sal_uLong> m_Boxes;
171  struct BoxMove
172  {
174  bool hasMoved;
175  BoxMove(sal_uLong idx, bool moved=false) : index(idx), hasMoved(moved) {};
176  bool operator<(const BoxMove& other) const { return index < other.index; };
177  };
178  std::unique_ptr< std::set<BoxMove> > m_pNewSttNds;
179  std::unique_ptr<SwUndoSaveSections> m_pDelSects;
180  tools::Long m_nMin, m_nMax; // for redo of delete column
182  sal_uInt16 m_nCount;
183  bool m_bFlag;
184  bool m_bSameHeight; // only used for SplitRow
185 
186  SwUndoTableNdsChg(SwUndoTableNdsChg const&) = delete;
188 
189 public:
190  SwUndoTableNdsChg( SwUndoId UndoId,
191  const SwSelBoxes& rBoxes,
192  const SwTableNode& rTableNd,
193  tools::Long nMn, tools::Long nMx,
194  sal_uInt16 nCnt, bool bFlg, bool bSameHeight );
195 
196  virtual ~SwUndoTableNdsChg() override;
197 
198  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
199  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
200 
201  void SaveNewBoxes( const SwTableNode& rTableNd, const SwTableSortBoxes& rOld );
202  void SaveNewBoxes( const SwTableNode& rTableNd, const SwTableSortBoxes& rOld,
203  const SwSelBoxes& rBoxes, const std::vector<sal_uLong> &rNodeCnts );
204  void SaveSection( SwStartNode* pSttNd );
205  void ReNewBoxes( const SwSelBoxes& rBoxes );
206 
207 };
208 
209 class SwUndoMove;
210 
211 class SwUndoTableMerge : public SwUndo, private SwUndRng
212 {
214  std::unique_ptr<SaveTable> m_pSaveTable;
215  std::set<sal_uLong> m_Boxes;
216  std::vector<sal_uLong> m_aNewStartNodes;
217  std::vector<std::unique_ptr<SwUndoMove>> m_vMoves;
218  std::unique_ptr<SwHistory> m_pHistory;
219 
220 public:
221  SwUndoTableMerge( const SwPaM& rTableSel );
222 
223  virtual ~SwUndoTableMerge() override;
224 
225  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
226  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
227 
228  void MoveBoxContent( SwDoc& rDoc, SwNodeRange& rRg, SwNodeIndex& rPos );
229 
230  void SetSelBoxes( const SwSelBoxes& rBoxes );
231 
232  void AddNewBox( sal_uLong nSttNdIdx )
233  { m_aNewStartNodes.push_back( nSttNdIdx ); }
234 
235  void SaveCollection( const SwTableBox& rBox );
236 };
237 
239 {
240  std::unique_ptr<SfxItemSet> m_pBoxSet;
241  std::unique_ptr<SwHistory> m_pHistory;
243 
245  double m_fNum, m_fNewNum;
248 
249  bool m_bNewFormat : 1;
250  bool m_bNewFormula : 1;
251  bool m_bNewValue : 1;
252 
253 public:
254  SwUndoTableNumFormat( const SwTableBox& rBox, const SfxItemSet* pNewSet = nullptr );
255 
256  virtual ~SwUndoTableNumFormat() override;
257 
258  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
259  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
260 
261  void SetNumFormat( sal_uLong nNewNumFormatIdx, const double& rNewNumber )
262  { m_nFormatIdx = nNewNumFormatIdx; m_fNum = rNewNumber; }
263  void SetBox( const SwTableBox& rBox );
264 };
265 
267 
269 {
270  std::vector<std::unique_ptr<UndoTableCpyTable_Entry>> m_vArr;
271  std::unique_ptr<SwUndoTableNdsChg> m_pInsRowUndo;
272 
273  //b6341295: When redlining is active, PrepareRedline has to create the
274  //redlining attributes for the new and the old table cell content
275  static std::unique_ptr<SwUndo> PrepareRedline( SwDoc* pDoc, const SwTableBox& rBox,
276  const SwPosition& rPos, bool& rJoin, bool bRedo );
277 
278 public:
279  SwUndoTableCpyTable(const SwDoc& rDoc);
280 
281  virtual ~SwUndoTableCpyTable() override;
282 
283  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
284  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
285 
286  void AddBoxBefore( const SwTableBox& rBox, bool bDelContent );
287  void AddBoxAfter( const SwTableBox& rBox, const SwNodeIndex& rIdx,
288  bool bDelContent );
289 
290  bool IsEmpty() const;
291  bool InsertRow( SwTable& rTable, const SwSelBoxes& rBoxes, sal_uInt16 nCnt );
292 };
293 
294 class SwUndoCpyTable : public SwUndo
295 {
296  std::unique_ptr<SwUndoDelete> m_pDelete;
298 
299 public:
300  SwUndoCpyTable(const SwDoc& rDoc);
301 
302  virtual ~SwUndoCpyTable() override;
303 
304  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
305  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
306 
307  void SetTableSttIdx( sal_uLong nIdx ) { m_nTableNode = nIdx; }
308 };
309 
310 class SwUndoSplitTable : public SwUndo
311 {
313  std::unique_ptr<SwSaveRowSpan> mpSaveRowSpan; // stores row span values at the splitting row
314  std::unique_ptr<SaveTable> m_pSavedTable;
315  std::unique_ptr<SwHistory> m_pHistory;
317  sal_uInt16 m_nFormulaEnd;
319 
320 public:
321  SwUndoSplitTable( const SwTableNode& rTableNd, std::unique_ptr<SwSaveRowSpan> pRowSp,
322  SplitTable_HeadlineOption nMode, bool bCalcNewSize );
323 
324  virtual ~SwUndoSplitTable() override;
325 
326  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
327  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
328  virtual void RepeatImpl( ::sw::RepeatContext & ) override;
329 
330  void SetTableNodeOffset( sal_uLong nIdx ) { m_nOffset = nIdx - m_nTableNode; }
331  SwHistory* GetHistory() { return m_pHistory.get(); }
332  void SaveFormula( SwHistory& rHistory );
333 };
334 
335 class SwUndoMergeTable : public SwUndo
336 {
337  OUString m_aName;
339  std::unique_ptr<SaveTable> m_pSaveTable, m_pSaveHdl;
340  std::unique_ptr<SwHistory> m_pHistory;
341  sal_uInt16 m_nMode;
343 
344 public:
345  SwUndoMergeTable( const SwTableNode& rTableNd, const SwTableNode& rDelTableNd,
346  bool bWithPrev, sal_uInt16 nMode );
347 
348  virtual ~SwUndoMergeTable() override;
349 
350  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
351  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
352  virtual void RepeatImpl( ::sw::RepeatContext & ) override;
353 
354  void SaveFormula( SwHistory& rHistory );
355 };
356 
358 {
360  sal_uInt16 m_nOldHeadline;
361  sal_uInt16 m_nNewHeadline;
362 
363 public:
364  SwUndoTableHeadline( const SwTable&, sal_uInt16 nOldHdl, sal_uInt16 nNewHdl );
365 
366  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
367  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
368  virtual void RepeatImpl( ::sw::RepeatContext & ) override;
369 };
370 
371 void InsertSort( std::vector<sal_uInt16>& rArr, sal_uInt16 nIdx );
372 
374 {
375  OUString m_sName;
376  std::unique_ptr<SwTableAutoFormat> m_pAutoFormat;
377 public:
378  SwUndoTableStyleMake(const OUString& rName, const SwDoc& rDoc);
379 
380  virtual ~SwUndoTableStyleMake() override;
381 
382  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
383  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
384 
385  virtual SwRewriter GetRewriter() const override;
386 };
387 
389 {
390  std::unique_ptr<SwTableAutoFormat> m_pAutoFormat;
391  std::vector<SwTable*> m_rAffectedTables;
392 public:
393  SwUndoTableStyleDelete(std::unique_ptr<SwTableAutoFormat> pAutoFormat, const std::vector<SwTable*>& rAffectedTables, const SwDoc& rDoc);
394 
395  virtual ~SwUndoTableStyleDelete() override;
396 
397  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
398  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
399 
400  virtual SwRewriter GetRewriter() const override;
401 };
402 
404 {
405  std::unique_ptr<SwTableAutoFormat> m_pOldFormat, m_pNewFormat;
406 public:
407  SwUndoTableStyleUpdate(const SwTableAutoFormat& rNewFormat, const SwTableAutoFormat& rOldFormat, const SwDoc& rDoc);
408 
409  virtual ~SwUndoTableStyleUpdate() override;
410 
411  virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
412  virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
413 
414  virtual SwRewriter GetRewriter() const override;
415 };
416 
417 #endif // INCLUDED_SW_SOURCE_CORE_INC_UNDOTABLE_HXX
418 
419 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual SwRewriter GetRewriter() const override
Returns the rewriter for this object.
Definition: untbl.cxx:3076
sal_uInt16 m_nRepeatHeading
Definition: UndoTable.hxx:150
Starts a section of nodes in the document model.
Definition: node.hxx:311
virtual void RepeatImpl(::sw::RepeatContext &) override
Definition: untbl.cxx:2994
std::unique_ptr< SaveTable > m_pSaveHdl
Definition: UndoTable.hxx:339
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:305
virtual ~SwUndoAttrTable() override
Definition: untbl.cxx:1351
SwUndoTextToTable(const SwPaM &, const SwInsertTableOptions &, sal_Unicode, sal_uInt16, const SwTableAutoFormat *pAFormat)
Definition: untbl.cxx:702
std::unique_ptr< SwDDEFieldType > m_pDDEFieldType
Definition: UndoTable.hxx:51
std::vector< std::unique_ptr< SwUndoMove > > m_vMoves
Definition: UndoTable.hxx:217
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1838
Marks a position in the document model.
Definition: pam.hxx:35
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2723
virtual ~SwUndoTableMerge() override
Definition: untbl.cxx:1831
std::unique_ptr< SaveTable > m_pSaveTable
Definition: UndoTable.hxx:339
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2466
SwUndoTableCpyTable(const SwDoc &rDoc)
Definition: untbl.cxx:2306
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1355
virtual void RepeatImpl(::sw::RepeatContext &) override
Definition: untbl.cxx:675
SwInsertTableOptions m_aInsTableOptions
Definition: UndoTable.hxx:50
SwUndoId
Definition: swundo.hxx:29
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1772
std::unique_ptr< SwTableAutoFormat > m_pNewFormat
Definition: UndoTable.hxx:405
virtual void RepeatImpl(::sw::RepeatContext &) override
Definition: untbl.cxx:813
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2780
sal_uLong m_nFormatIdx
Definition: UndoTable.hxx:244
std::unique_ptr< SwHistory > m_pHistory
Definition: UndoTable.hxx:241
sal_uIntPtr sal_uLong
void ReNewBoxes(const SwSelBoxes &rBoxes)
Definition: untbl.cxx:1471
long Long
std::vector< SwTable * > m_rAffectedTables
Definition: UndoTable.hxx:391
std::vector< sal_uLong > mvDelBoxes
Definition: UndoTable.hxx:78
SwUndoTableToText(const SwTable &rTable, sal_Unicode cCh)
Definition: untbl.cxx:407
SwUndoSplitTable(const SwTableNode &rTableNd, std::unique_ptr< SwSaveRowSpan > pRowSp, SplitTable_HeadlineOption nMode, bool bCalcNewSize)
Definition: untbl.cxx:2754
std::unique_ptr< SwDDEFieldType > m_pDDEFieldType
Definition: UndoTable.hxx:103
bool IsEmpty() const
Definition: untbl.cxx:2709
Definition: doc.hxx:186
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2977
SwUndoTableHeadline(const SwTable &, sal_uInt16 nOldHdl, sal_uInt16 nNewHdl)
Definition: untbl.cxx:836
std::unique_ptr< SwUndoDelete > m_pDelete
Definition: UndoTable.hxx:296
sal_uLong m_nOffset
Definition: UndoTable.hxx:312
SwInsertTableOptions m_aInsertTableOpts
Definition: UndoTable.hxx:77
std::unique_ptr< SwHistory > m_pHistory
Definition: UndoTable.hxx:315
sal_uInt16 m_nNewHeadline
Definition: UndoTable.hxx:361
virtual ~SwUndoTableStyleUpdate() override
Definition: untbl.cxx:3119
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:849
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:3100
std::unique_ptr< SwTableAutoFormat > m_pAutoFormat
Definition: UndoTable.hxx:376
std::unique_ptr< SwTableAutoFormat > m_pOldFormat
Definition: UndoTable.hxx:405
void SaveNewBoxes(const SwTableNode &rTableNd, const SwTableSortBoxes &rOld)
Definition: untbl.cxx:1487
std::unique_ptr< SwSaveRowSpan > mpSaveRowSpan
Definition: UndoTable.hxx:313
sal_uInt16 m_nOldHeadline
Definition: UndoTable.hxx:360
SwUndoTableNumFormat(const SwTableBox &rBox, const SfxItemSet *pNewSet=nullptr)
Definition: untbl.cxx:2034
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2912
sal_uInt16 sal_Unicode
std::vector< std::shared_ptr< SwUndoTableNumFormat > > m_Undos
Definition: UndoTable.hxx:148
virtual ~SwUndoTableNdsChg() override
Definition: untbl.cxx:1483
sal_uLong m_nEndNode
Definition: UndoTable.hxx:107
std::unique_ptr< SwTableAutoFormat > m_pAutoFormat
Definition: UndoTable.hxx:390
void AddBoxPos(SwDoc &rDoc, sal_uLong nNdIdx, sal_uLong nEndIdx, sal_Int32 nContentIdx=SAL_MAX_INT32)
Definition: untbl.cxx:697
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:263
This structure is needed by Undo to restore row span attributes when a table has been split into two ...
Definition: tblrwcl.hxx:111
SwUndoMergeTable(const SwTableNode &rTableNd, const SwTableNode &rDelTableNd, bool bWithPrev, sal_uInt16 nMode)
Definition: untbl.cxx:2886
sal_Unicode m_cSeparator
Definition: UndoTable.hxx:81
virtual ~SwUndoSplitTable() override
Definition: untbl.cxx:2773
std::unique_ptr< SaveTable > m_pSaveTable
Definition: UndoTable.hxx:169
sal_uLong m_nNewFormatIdx
Definition: UndoTable.hxx:244
std::unique_ptr< SaveTable > m_pSaveTable
Definition: UndoTable.hxx:214
sal_Unicode m_cSeparator
Definition: UndoTable.hxx:108
void SetTableNodeOffset(sal_uLong nIdx)
Definition: UndoTable.hxx:330
sal_uInt16 m_nAdjust
Definition: UndoTable.hxx:82
SplitTable_HeadlineOption const m_nMode
Definition: UndoTable.hxx:316
OUString m_sTableName
Definition: UndoTable.hxx:102
PaM is Point and Mark: a selection of the document model.
Definition: pam.hxx:136
virtual ~SwUndoCpyTable() override
Definition: untbl.cxx:2719
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:3127
virtual ~SwUndoTableAutoFormat() override
Definition: untbl.cxx:1399
SwUndoTableStyleMake(const OUString &rName, const SwDoc &rDoc)
Definition: untbl.cxx:3050
BoxMove(sal_uLong idx, bool moved=false)
Definition: UndoTable.hxx:175
tools::Long m_nMax
Definition: UndoTable.hxx:180
bool InsertRow(SwTable &rTable, const SwSelBoxes &rBoxes, sal_uInt16 nCnt)
Definition: untbl.cxx:2689
sal_uLong m_nStartNode
Definition: UndoTable.hxx:107
std::set< sal_uLong > m_Boxes
Definition: UndoTable.hxx:215
virtual ~SwUndoTableToText() override
Definition: untbl.cxx:447
SwUndoTableAutoFormat(const SwTableNode &rTableNd, const SwTableAutoFormat &)
Definition: untbl.cxx:1380
std::vector< std::unique_ptr< SwTableToTextSave >> SwTableToTextSaves
Definition: ndarr.hxx:85
sal_uLong m_nTableNode
Definition: UndoTable.hxx:312
SwUndoTableStyleDelete(std::unique_ptr< SwTableAutoFormat > pAutoFormat, const std::vector< SwTable * > &rAffectedTables, const SwDoc &rDoc)
Definition: untbl.cxx:3083
virtual ~SwUndoTableCpyTable() override
Definition: untbl.cxx:2311
void MoveBoxContent(SwDoc &rDoc, SwNodeRange &rRg, SwNodeIndex &rPos)
Definition: untbl.cxx:1987
std::unique_ptr< SwHistory > m_pHistory
Definition: UndoTable.hxx:106
void SaveFormula(SwHistory &rHistory)
Definition: untbl.cxx:3003
void SetTableSttIdx(sal_uLong nIdx)
Definition: UndoTable.hxx:307
void SetSelBoxes(const SwSelBoxes &rBoxes)
Definition: untbl.cxx:2002
SplitTable_HeadlineOption
Definition: tblenum.hxx:53
SwUndoTableStyleUpdate(const SwTableAutoFormat &rNewFormat, const SwTableAutoFormat &rOldFormat, const SwDoc &rDoc)
Definition: untbl.cxx:3113
static std::unique_ptr< SwUndo > PrepareRedline(SwDoc *pDoc, const SwTableBox &rBox, const SwPosition &rPos, bool &rJoin, bool bRedo)
Definition: untbl.cxx:2618
std::unique_ptr< SfxItemSet > m_pBoxSet
Definition: UndoTable.hxx:240
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1374
sal_uLong m_nStartNode
Definition: UndoTable.hxx:128
virtual SwRewriter GetRewriter() const override
Returns the rewriter for this object.
Definition: untbl.cxx:3132
std::unique_ptr< SwTableAutoFormat > m_pAutoFormat
Definition: UndoTable.hxx:54
sal_uLong m_nSttNode
Definition: UndoTable.hxx:181
std::vector< sal_uLong > m_aNewStartNodes
Definition: UndoTable.hxx:216
sal_uLong m_nTableNode
Definition: UndoTable.hxx:359
OUString m_aName
Definition: UndoTable.hxx:337
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:858
virtual SwRewriter GetRewriter() const override
Returns the rewriter for this object.
Definition: untbl.cxx:355
std::unique_ptr< SaveTable > m_pSaveTable
Definition: UndoTable.hxx:147
std::unique_ptr< SwHistory > m_pHistory
Definition: UndoTable.hxx:340
virtual ~SwUndoTableNumFormat() override
Definition: untbl.cxx:2102
Marks a node in the document model.
Definition: ndindex.hxx:31
sal_uInt16 m_nColumns
Definition: UndoTable.hxx:56
std::unique_ptr< SwUndoTableNdsChg > m_pInsRowUndo
Definition: UndoTable.hxx:271
sal_uInt16 m_nMode
Definition: UndoTable.hxx:341
sal_uLong index
Index of this box.
Definition: UndoTable.hxx:173
std::unique_ptr< SwHistory > m_pHistory
Definition: UndoTable.hxx:218
sal_uLong m_nTableNode
Definition: UndoTable.hxx:213
void UndoRedo(bool const bUndo,::sw::UndoRedoContext &rContext)
Definition: untbl.cxx:1409
SwUndoCpyTable(const SwDoc &rDoc)
Definition: untbl.cxx:2714
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2748
SwTable is one table in the document model, containing rows (which contain cells).
Definition: swtable.hxx:111
void AddBoxBefore(const SwTableBox &rBox, bool bDelContent)
Definition: untbl.cxx:2556
virtual void RepeatImpl(::sw::RepeatContext &) override
Definition: untbl.cxx:2868
std::unique_ptr< SwTableAutoFormat > m_pAutoFormat
Definition: UndoTable.hxx:79
std::unique_ptr< SaveTable > m_pTableSave
Definition: UndoTable.hxx:104
std::unique_ptr< std::set< BoxMove > > m_pNewSttNds
Definition: UndoTable.hxx:178
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1980
std::unique_ptr< SaveTable > m_pSavedTable
Definition: UndoTable.hxx:314
virtual ~SwUndoTableStyleDelete() override
Definition: untbl.cxx:3089
SwHistory * GetHistory()
Definition: UndoTable.hxx:331
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:802
void SaveSection(SwStartNode *pSttNd)
Definition: untbl.cxx:1618
std::vector< std::unique_ptr< SwUndoSaveSection, o3tl::default_delete< SwUndoSaveSection >>> SwUndoSaveSections
Definition: UndoTable.hxx:165
sal_uInt16 const m_nAdjust
Definition: UndoTable.hxx:57
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:3058
tools::Long m_nMin
Definition: UndoTable.hxx:180
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2108
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:455
std::unique_ptr< SaveTable > m_pSaveTable
Definition: UndoTable.hxx:129
std::vector< std::unique_ptr< UndoTableCpyTable_Entry > > m_vArr
Definition: UndoTable.hxx:270
sal_uLong m_nTableNode
Definition: UndoTable.hxx:297
sal_uInt16 m_nCount
Definition: UndoTable.hxx:182
sal_uInt16 m_nRows
Definition: UndoTable.hxx:56
SwUndoTableMerge(const SwPaM &rTableSel)
Definition: untbl.cxx:1822
bool hasMoved
Has this box been moved already.
Definition: UndoTable.hxx:174
sal_uLong m_nTableNode
Definition: UndoTable.hxx:338
SwUndoTableNdsChg(SwUndoTableNdsChg const &)=delete
sal_uInt16 m_nFormulaEnd
Definition: UndoTable.hxx:317
void SaveCollection(const SwTableBox &rBox)
Definition: untbl.cxx:2019
SwHistory & GetHistory()
Definition: untbl.cxx:829
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1447
bool operator<(const BoxMove &other) const
Definition: UndoTable.hxx:176
SwTableBox is one table cell in the document model.
Definition: swtable.hxx:393
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:640
virtual ~SwUndoTableStyleMake() override
Definition: untbl.cxx:3055
void InsertSort(std::vector< sal_uInt16 > &rArr, sal_uInt16 nIdx)
Definition: untbl.cxx:3010
std::unique_ptr< SwRedlineData > m_pRedlineData
Definition: UndoTable.hxx:53
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2856
virtual ~SwUndoInsTable() override
Definition: untbl.cxx:255
virtual ~SwUndoMergeTable() override
Definition: untbl.cxx:2905
void SetNumFormat(sal_uLong nNewNumFormatIdx, const double &rNewNumber)
Definition: UndoTable.hxx:261
SwHistory * m_pHistory
Definition: UndoTable.hxx:80
OUString m_sTableName
Definition: UndoTable.hxx:49
SwUndoTableNdsChg & operator=(SwUndoTableNdsChg const &)=delete
std::set< sal_uLong > m_Boxes
Definition: UndoTable.hxx:170
SwUndoInsTable(const SwPosition &, sal_uInt16 nCols, sal_uInt16 nRows, sal_uInt16 eAdjust, const SwInsertTableOptions &rInsTableOpts, const SwTableAutoFormat *pTAFormat, const std::vector< sal_uInt16 > *pColArr, const OUString &rName)
Definition: untbl.cxx:228
void AddNewBox(sal_uLong nSttNdIdx)
Definition: UndoTable.hxx:232
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1632
virtual void RepeatImpl(::sw::RepeatContext &) override
Definition: untbl.cxx:868
OUString m_sTableName
Definition: UndoTable.hxx:76
std::unique_ptr< SwUndoSaveSections > m_pDelSects
Definition: UndoTable.hxx:179
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:724
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:3063
Definition: untbl.cxx:81
virtual ~SwUndoTextToTable() override
Definition: untbl.cxx:719
virtual SwRewriter GetRewriter() const override
Returns the rewriter for this object.
Definition: untbl.cxx:3106
void SetBox(const SwTableBox &rBox)
Definition: untbl.cxx:2295
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2317
void SetRange(const SwNodeRange &)
Definition: untbl.cxx:691
void AddFillBox(const SwTableBox &rBox)
Definition: untbl.cxx:824
void SaveFormula(SwHistory &rHistory)
Definition: untbl.cxx:2877
virtual void RepeatImpl(::sw::RepeatContext &) override
Definition: untbl.cxx:348
sal_uLong m_nStartNode
Definition: UndoTable.hxx:55
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2203
sal_uInt16 m_nHeadlineRepeat
Definition: UndoTable.hxx:109
std::unique_ptr< std::vector< sal_uInt16 > > m_pColumnWidth
Definition: UndoTable.hxx:52
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:3122
SwTableToTextSaves m_vBoxSaves
Definition: UndoTable.hxx:105
void AddBoxAfter(const SwTableBox &rBox, const SwNodeIndex &rIdx, bool bDelContent)
Definition: untbl.cxx:2589
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:3092
SwUndoAttrTable(const SwTableNode &rTableNd, bool bClearTabCols=false)
Definition: untbl.cxx:1343
void SaveBoxContent(const SwTableBox &rBox)
Definition: untbl.cxx:1403
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1442