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 <tools/solar.h>
26#include <ndarr.hxx>
27#include <undobj.hxx>
28#include <set>
29#include <itabenum.hxx>
30#include <tblenum.hxx>
31#include <memory>
32#include <vector>
33
34class SfxItemSet;
35
36struct SwSaveRowSpan;
37class SaveTable;
38class SwDDEFieldType;
39class SwUndoDelete;
40class SwSelBoxes;
41class SwTable;
42class SwTableBox;
43class SwStartNode;
44class SwTableNode;
47class SwContentNode;
48class SwCursorShell;
49
50namespace sw {
51
52void NotifyTableCollapsedParagraph(const SwContentNode* pNode, SwCursorShell *const pShell);
53
54}
55
56class SwUndoInsTable final : public SwUndo
57{
58 OUString m_sTableName;
60 std::unique_ptr<SwDDEFieldType> m_pDDEFieldType;
61 std::optional<std::vector<sal_uInt16>> m_oColumnWidth;
62 std::unique_ptr<SwRedlineData> m_pRedlineData;
63 std::unique_ptr<SwTableAutoFormat> m_pAutoFormat;
65 sal_uInt16 m_nRows, m_nColumns;
66 sal_uInt16 const m_nAdjust;
67
68public:
69 SwUndoInsTable( const SwPosition&, sal_uInt16 nCols, sal_uInt16 nRows,
70 sal_uInt16 eAdjust, const SwInsertTableOptions& rInsTableOpts,
71 const SwTableAutoFormat* pTAFormat, const std::vector<sal_uInt16> *pColArr,
72 const OUString & rName);
73
74 virtual ~SwUndoInsTable() override;
75
76 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
77 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
78 virtual void RepeatImpl( ::sw::RepeatContext & ) override;
79
80 virtual SwRewriter GetRewriter() const override;
81};
82
83class SwUndoTextToTable final : public SwUndo, public SwUndRng
84{
85 OUString m_sTableName;
87 std::vector<SwNodeOffset> mvDelBoxes;
88 std::unique_ptr<SwTableAutoFormat> m_pAutoFormat;
91 sal_uInt16 m_nAdjust;
92 bool m_bSplitEnd : 1;
93
94public:
96 sal_uInt16,
97 const SwTableAutoFormat* pAFormat );
98
99 virtual ~SwUndoTextToTable() override;
100
101 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
102 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
103 virtual void RepeatImpl( ::sw::RepeatContext & ) override;
104
105 SwHistory& GetHistory(); // will be created if necessary
106 void AddFillBox( const SwTableBox& rBox );
107};
108
109class SwUndoTableToText final : public SwUndo
110{
111 OUString m_sTableName;
112 std::unique_ptr<SwDDEFieldType> m_pDDEFieldType;
113 std::unique_ptr<SaveTable> m_pTableSave;
115 std::unique_ptr<SwHistory> m_pHistory;
120
121public:
122 SwUndoTableToText( const SwTable& rTable, sal_Unicode cCh );
123
124 virtual ~SwUndoTableToText() override;
125
126 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
127 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
128 virtual void RepeatImpl( ::sw::RepeatContext & ) override;
129
130 void SetRange( const SwNodeRange& );
131 void AddBoxPos( SwDoc& rDoc, SwNodeOffset nNdIdx, SwNodeOffset nEndIdx,
132 sal_Int32 nContentIdx = SAL_MAX_INT32);
133};
134
135class SwUndoAttrTable final : public SwUndo
136{
138 std::unique_ptr<SaveTable> m_pSaveTable;
140
141public:
142 SwUndoAttrTable( const SwTableNode& rTableNd, bool bClearTabCols = false );
143
144 virtual ~SwUndoAttrTable() override;
145
146 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
147 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
148};
149
151
152class SwUndoTableAutoFormat final : public SwUndo
153{
156 std::unique_ptr<SaveTable> m_pSaveTable;
157 std::vector< std::shared_ptr<SwUndoTableNumFormat> > m_Undos;
160
161 void UndoRedo(bool const bUndo, ::sw::UndoRedoContext & rContext);
162
163public:
164 SwUndoTableAutoFormat( const SwTableNode& rTableNd, const SwTableAutoFormat& );
165
166 virtual ~SwUndoTableAutoFormat() override;
167
168 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
169 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
170
171 void SaveBoxContent( const SwTableBox& rBox );
172};
173
174using SwUndoSaveSections = std::vector<std::unique_ptr<SwUndoSaveSection, o3tl::default_delete<SwUndoSaveSection>>>;
175
176class SwUndoTableNdsChg final : public SwUndo
177{
178 std::unique_ptr<SaveTable> m_pSaveTable;
179 std::set<SwNodeOffset> m_Boxes;
180 struct BoxMove
181 {
183 bool hasMoved;
184 BoxMove(SwNodeOffset idx, bool moved=false) : index(idx), hasMoved(moved) {};
185 bool operator<(const BoxMove& other) const { return index < other.index; };
186 };
187 std::optional< std::set<BoxMove> > m_xNewSttNds;
188 std::unique_ptr<SwUndoSaveSections> m_pDelSects;
189 tools::Long m_nMin, m_nMax; // for redo of delete column
191 sal_uInt16 m_nCount;
193 bool m_bSameHeight; // only used for SplitRow
194
197
198public:
200 const SwSelBoxes& rBoxes,
201 const SwTableNode& rTableNd,
202 tools::Long nMn, tools::Long nMx,
203 sal_uInt16 nCnt, bool bFlg, bool bSameHeight );
204
205 virtual ~SwUndoTableNdsChg() override;
206
207 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
208 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
209
210 void SaveNewBoxes( const SwTableNode& rTableNd, const SwTableSortBoxes& rOld );
211 void SaveNewBoxes( const SwTableNode& rTableNd, const SwTableSortBoxes& rOld,
212 const SwSelBoxes& rBoxes, const std::vector<SwNodeOffset> &rNodeCnts );
213 void SaveSection( SwStartNode* pSttNd );
214 void ReNewBoxes( const SwSelBoxes& rBoxes );
215
216};
217
218class SwUndoMove;
219
220class SwUndoTableMerge final : public SwUndo, private SwUndRng
221{
223 std::unique_ptr<SaveTable> m_pSaveTable;
224 std::set<SwNodeOffset> m_Boxes;
225 std::vector<SwNodeOffset> m_aNewStartNodes;
226 std::vector<std::unique_ptr<SwUndoMove>> m_vMoves;
227 std::unique_ptr<SwHistory> m_pHistory;
228
229public:
230 SwUndoTableMerge( const SwPaM& rTableSel );
231
232 virtual ~SwUndoTableMerge() override;
233
234 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
235 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
236
237 void MoveBoxContent( SwDoc& rDoc, SwNodeRange& rRg, SwNode& rPos );
238
239 void SetSelBoxes( const SwSelBoxes& rBoxes );
240
241 void AddNewBox( SwNodeOffset nSttNdIdx )
242 { m_aNewStartNodes.push_back( nSttNdIdx ); }
243
244 void SaveCollection( const SwTableBox& rBox );
245};
246
247class SwUndoTableNumFormat final : public SwUndo
248{
249 std::unique_ptr<SfxItemSet> m_pBoxSet;
250 std::unique_ptr<SwHistory> m_pHistory;
252
257
258 bool m_bNewFormat : 1;
260 bool m_bNewValue : 1;
261
262public:
263 SwUndoTableNumFormat( const SwTableBox& rBox, const SfxItemSet* pNewSet = nullptr );
264
265 virtual ~SwUndoTableNumFormat() override;
266
267 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
268 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
269
270 void SetNumFormat( sal_uLong nNewNumFormatIdx, const double& rNewNumber )
271 { m_nFormatIdx = nNewNumFormatIdx; m_fNum = rNewNumber; }
272 void SetBox( const SwTableBox& rBox );
273};
274
276
277class SwUndoTableCpyTable final : public SwUndo
278{
279 std::vector<std::unique_ptr<UndoTableCpyTable_Entry>> m_vArr;
280 std::unique_ptr<SwUndoTableNdsChg> m_pInsRowUndo;
281
282 //b6341295: When redlining is active, PrepareRedline has to create the
283 //redlining attributes for the new and the old table cell content
284 static std::unique_ptr<SwUndo> PrepareRedline( SwDoc* pDoc, const SwTableBox& rBox,
285 SwPosition& rPos, bool& rJoin, bool bRedo );
286
287public:
288 SwUndoTableCpyTable(const SwDoc& rDoc);
289
290 virtual ~SwUndoTableCpyTable() override;
291
292 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
293 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
294
295 void AddBoxBefore( const SwTableBox& rBox, bool bDelContent );
296 void AddBoxAfter( const SwTableBox& rBox, const SwNodeIndex& rIdx,
297 bool bDelContent );
298
299 bool IsEmpty() const;
300 bool InsertRow( SwTable& rTable, const SwSelBoxes& rBoxes, sal_uInt16 nCnt );
301 void dumpAsXml(xmlTextWriterPtr pWriter) const override;
302};
303
304class SwUndoCpyTable final : public SwUndo
305{
306 std::unique_ptr<SwUndoDelete> m_pDelete;
308
309public:
310 SwUndoCpyTable(const SwDoc& rDoc);
311
312 virtual ~SwUndoCpyTable() override;
313
314 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
315 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
316
317 void SetTableSttIdx( SwNodeOffset nIdx ) { m_nTableNode = nIdx; }
318};
319
320class SwUndoSplitTable final : public SwUndo
321{
323 std::unique_ptr<SwSaveRowSpan> mpSaveRowSpan; // stores row span values at the splitting row
324 std::unique_ptr<SaveTable> m_pSavedTable;
325 std::unique_ptr<SwHistory> m_pHistory;
327 sal_uInt16 m_nFormulaEnd;
329
330public:
331 SwUndoSplitTable( const SwTableNode& rTableNd, std::unique_ptr<SwSaveRowSpan> pRowSp,
332 SplitTable_HeadlineOption nMode, bool bCalcNewSize );
333
334 virtual ~SwUndoSplitTable() override;
335
336 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
337 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
338 virtual void RepeatImpl( ::sw::RepeatContext & ) override;
339
341 SwHistory* GetHistory() { return m_pHistory.get(); }
342 void SaveFormula( SwHistory& rHistory );
343};
344
345class SwUndoMergeTable final : public SwUndo
346{
347 OUString m_aName;
349 std::unique_ptr<SaveTable> m_pSaveTable, m_pSaveHdl;
350 std::unique_ptr<SwHistory> m_pHistory;
352
353public:
354 SwUndoMergeTable( const SwTableNode& rTableNd, const SwTableNode& rDelTableNd,
355 bool bWithPrev );
356
357 virtual ~SwUndoMergeTable() override;
358
359 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
360 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
361 virtual void RepeatImpl( ::sw::RepeatContext & ) override;
362
363 void SaveFormula( SwHistory& rHistory );
364};
365
366class SwUndoTableHeadline final : public SwUndo
367{
369 sal_uInt16 m_nOldHeadline;
370 sal_uInt16 m_nNewHeadline;
371
372public:
373 SwUndoTableHeadline( const SwTable&, sal_uInt16 nOldHdl, sal_uInt16 nNewHdl );
374
375 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
376 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
377 virtual void RepeatImpl( ::sw::RepeatContext & ) override;
378};
379
380void InsertSort( std::vector<sal_uInt16>& rArr, sal_uInt16 nIdx );
381
382class SwUndoTableStyleMake final : public SwUndo
383{
384 OUString m_sName;
385 std::unique_ptr<SwTableAutoFormat> m_pAutoFormat;
386public:
387 SwUndoTableStyleMake(OUString aName, const SwDoc& rDoc);
388
389 virtual ~SwUndoTableStyleMake() override;
390
391 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
392 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
393
394 virtual SwRewriter GetRewriter() const override;
395};
396
397class SwUndoTableStyleDelete final : public SwUndo
398{
399 std::unique_ptr<SwTableAutoFormat> m_pAutoFormat;
400 std::vector<SwTable*> m_rAffectedTables;
401public:
402 SwUndoTableStyleDelete(std::unique_ptr<SwTableAutoFormat> pAutoFormat, std::vector<SwTable*>&& rAffectedTables, const SwDoc& rDoc);
403
404 virtual ~SwUndoTableStyleDelete() override;
405
406 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
407 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
408
409 virtual SwRewriter GetRewriter() const override;
410};
411
412class SwUndoTableStyleUpdate final : public SwUndo
413{
414 std::unique_ptr<SwTableAutoFormat> m_pOldFormat, m_pNewFormat;
415public:
416 SwUndoTableStyleUpdate(const SwTableAutoFormat& rNewFormat, const SwTableAutoFormat& rOldFormat, const SwDoc& rDoc);
417
418 virtual ~SwUndoTableStyleUpdate() override;
419
420 virtual void UndoImpl( ::sw::UndoRedoContext & ) override;
421 virtual void RedoImpl( ::sw::UndoRedoContext & ) override;
422
423 virtual SwRewriter GetRewriter() const override;
424};
425
426#endif // INCLUDED_SW_SOURCE_CORE_INC_UNDOTABLE_HXX
427
428/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
struct _xmlTextWriter * xmlTextWriterPtr
std::vector< std::unique_ptr< SwUndoSaveSection, o3tl::default_delete< SwUndoSaveSection > > > SwUndoSaveSections
Definition: UndoTable.hxx:174
void InsertSort(std::vector< sal_uInt16 > &rArr, sal_uInt16 nIdx)
Definition: untbl.cxx:3056
Definition: doc.hxx:192
Marks a node in the document model.
Definition: ndindex.hxx:31
Base class of the Writer document model elements.
Definition: node.hxx:84
PaM is Point and Mark: a selection of the document model.
Definition: pam.hxx:187
Starts a section of nodes in the document model.
Definition: node.hxx:325
SwTableBox is one table cell in the document model.
Definition: swtable.hxx:419
SwTable is one table in the document model, containing rows (which contain cells).
Definition: swtable.hxx:113
SwNodeOffset m_nStartNode
Definition: UndoTable.hxx:137
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1391
SwUndoAttrTable(const SwTableNode &rTableNd, bool bClearTabCols=false)
Definition: untbl.cxx:1360
std::unique_ptr< SaveTable > m_pSaveTable
Definition: UndoTable.hxx:138
virtual ~SwUndoAttrTable() override
Definition: untbl.cxx:1368
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1372
SwNodeOffset m_nTableNode
Definition: UndoTable.hxx:307
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2774
virtual ~SwUndoCpyTable() override
Definition: untbl.cxx:2770
void SetTableSttIdx(SwNodeOffset nIdx)
Definition: UndoTable.hxx:317
SwUndoCpyTable(const SwDoc &rDoc)
Definition: untbl.cxx:2765
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2798
std::unique_ptr< SwUndoDelete > m_pDelete
Definition: UndoTable.hxx:306
std::optional< std::vector< sal_uInt16 > > m_oColumnWidth
Definition: UndoTable.hxx:61
virtual ~SwUndoInsTable() override
Definition: untbl.cxx:261
sal_uInt16 m_nColumns
Definition: UndoTable.hxx:65
sal_uInt16 m_nRows
Definition: UndoTable.hxx:65
SwNodeOffset m_nStartNode
Definition: UndoTable.hxx:64
OUString m_sTableName
Definition: UndoTable.hxx:58
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:234
virtual SwRewriter GetRewriter() const override
Returns the rewriter for this object.
Definition: untbl.cxx:360
std::unique_ptr< SwTableAutoFormat > m_pAutoFormat
Definition: UndoTable.hxx:63
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:311
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:269
std::unique_ptr< SwRedlineData > m_pRedlineData
Definition: UndoTable.hxx:62
virtual void RepeatImpl(::sw::RepeatContext &) override
Definition: untbl.cxx:352
sal_uInt16 const m_nAdjust
Definition: UndoTable.hxx:66
std::unique_ptr< SwDDEFieldType > m_pDDEFieldType
Definition: UndoTable.hxx:60
SwInsertTableOptions m_aInsTableOptions
Definition: UndoTable.hxx:59
SwNodeOffset m_nTableNode
Definition: UndoTable.hxx:348
std::unique_ptr< SaveTable > m_pSaveHdl
Definition: UndoTable.hxx:349
SwUndoMergeTable(const SwTableNode &rTableNd, const SwTableNode &rDelTableNd, bool bWithPrev)
Definition: untbl.cxx:2935
void SaveFormula(SwHistory &rHistory)
Definition: untbl.cxx:3049
virtual void RepeatImpl(::sw::RepeatContext &) override
Definition: untbl.cxx:3040
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2961
virtual ~SwUndoMergeTable() override
Definition: untbl.cxx:2954
std::unique_ptr< SaveTable > m_pSaveTable
Definition: UndoTable.hxx:349
std::unique_ptr< SwHistory > m_pHistory
Definition: UndoTable.hxx:350
OUString m_aName
Definition: UndoTable.hxx:347
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:3024
std::unique_ptr< SwSaveRowSpan > mpSaveRowSpan
Definition: UndoTable.hxx:323
std::unique_ptr< SwHistory > m_pHistory
Definition: UndoTable.hxx:325
SplitTable_HeadlineOption const m_nMode
Definition: UndoTable.hxx:326
SwHistory * GetHistory()
Definition: UndoTable.hxx:341
void SetTableNodeOffset(SwNodeOffset nIdx)
Definition: UndoTable.hxx:340
void SaveFormula(SwHistory &rHistory)
Definition: untbl.cxx:2926
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2830
SwNodeOffset m_nOffset
Definition: UndoTable.hxx:322
virtual ~SwUndoSplitTable() override
Definition: untbl.cxx:2823
virtual void RepeatImpl(::sw::RepeatContext &) override
Definition: untbl.cxx:2917
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2905
std::unique_ptr< SaveTable > m_pSavedTable
Definition: UndoTable.hxx:324
SwNodeOffset m_nTableNode
Definition: UndoTable.hxx:322
sal_uInt16 m_nFormulaEnd
Definition: UndoTable.hxx:327
SwUndoSplitTable(const SwTableNode &rTableNd, std::unique_ptr< SwSaveRowSpan > pRowSp, SplitTable_HeadlineOption nMode, bool bCalcNewSize)
Definition: untbl.cxx:2804
SwNodeOffset m_nStartNode
Definition: UndoTable.hxx:155
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1459
virtual ~SwUndoTableAutoFormat() override
Definition: untbl.cxx:1416
void UndoRedo(bool const bUndo, ::sw::UndoRedoContext &rContext)
Definition: untbl.cxx:1426
SwUndoTableAutoFormat(const SwTableNode &rTableNd, const SwTableAutoFormat &)
Definition: untbl.cxx:1397
void SaveBoxContent(const SwTableBox &rBox)
Definition: untbl.cxx:1420
sal_uInt16 m_nRepeatHeading
Definition: UndoTable.hxx:159
std::vector< std::shared_ptr< SwUndoTableNumFormat > > m_Undos
Definition: UndoTable.hxx:157
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1464
std::unique_ptr< SaveTable > m_pSaveTable
Definition: UndoTable.hxx:156
std::vector< std::unique_ptr< UndoTableCpyTable_Entry > > m_vArr
Definition: UndoTable.hxx:279
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2501
void AddBoxAfter(const SwTableBox &rBox, const SwNodeIndex &rIdx, bool bDelContent)
Definition: untbl.cxx:2620
static std::unique_ptr< SwUndo > PrepareRedline(SwDoc *pDoc, const SwTableBox &rBox, SwPosition &rPos, bool &rJoin, bool bRedo)
Definition: untbl.cxx:2649
virtual ~SwUndoTableCpyTable() override
Definition: untbl.cxx:2358
SwUndoTableCpyTable(const SwDoc &rDoc)
Definition: untbl.cxx:2353
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2364
std::unique_ptr< SwUndoTableNdsChg > m_pInsRowUndo
Definition: UndoTable.hxx:280
bool IsEmpty() const
Definition: untbl.cxx:2760
bool InsertRow(SwTable &rTable, const SwSelBoxes &rBoxes, sal_uInt16 nCnt)
Definition: untbl.cxx:2723
void dumpAsXml(xmlTextWriterPtr pWriter) const override
Definition: untbl.cxx:2743
void AddBoxBefore(const SwTableBox &rBox, bool bDelContent)
Definition: untbl.cxx:2589
SwUndoTableHeadline(const SwTable &, sal_uInt16 nOldHdl, sal_uInt16 nNewHdl)
Definition: untbl.cxx:837
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:859
SwNodeOffset m_nTableNode
Definition: UndoTable.hxx:368
virtual void RepeatImpl(::sw::RepeatContext &) override
Definition: untbl.cxx:869
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:850
sal_uInt16 m_nOldHeadline
Definition: UndoTable.hxx:369
sal_uInt16 m_nNewHeadline
Definition: UndoTable.hxx:370
virtual ~SwUndoTableMerge() override
Definition: untbl.cxx:1848
std::unique_ptr< SaveTable > m_pSaveTable
Definition: UndoTable.hxx:223
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1996
std::set< SwNodeOffset > m_Boxes
Definition: UndoTable.hxx:224
void SetSelBoxes(const SwSelBoxes &rBoxes)
Definition: untbl.cxx:2018
std::vector< SwNodeOffset > m_aNewStartNodes
Definition: UndoTable.hxx:225
SwNodeOffset m_nTableNode
Definition: UndoTable.hxx:222
void MoveBoxContent(SwDoc &rDoc, SwNodeRange &rRg, SwNode &rPos)
Definition: untbl.cxx:2003
void AddNewBox(SwNodeOffset nSttNdIdx)
Definition: UndoTable.hxx:241
SwUndoTableMerge(const SwPaM &rTableSel)
Definition: untbl.cxx:1839
std::vector< std::unique_ptr< SwUndoMove > > m_vMoves
Definition: UndoTable.hxx:226
void SaveCollection(const SwTableBox &rBox)
Definition: untbl.cxx:2035
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1855
std::unique_ptr< SwHistory > m_pHistory
Definition: UndoTable.hxx:227
SwUndoTableNdsChg & operator=(SwUndoTableNdsChg const &)=delete
std::optional< std::set< BoxMove > > m_xNewSttNds
Definition: UndoTable.hxx:187
void ReNewBoxes(const SwSelBoxes &rBoxes)
Definition: untbl.cxx:1488
virtual ~SwUndoTableNdsChg() override
Definition: untbl.cxx:1500
std::unique_ptr< SwUndoSaveSections > m_pDelSects
Definition: UndoTable.hxx:188
std::set< SwNodeOffset > m_Boxes
Definition: UndoTable.hxx:179
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1789
void SaveSection(SwStartNode *pSttNd)
Definition: untbl.cxx:1635
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:1649
tools::Long m_nMax
Definition: UndoTable.hxx:189
SwNodeOffset m_nSttNode
Definition: UndoTable.hxx:190
SwUndoTableNdsChg(SwUndoTableNdsChg const &)=delete
std::unique_ptr< SaveTable > m_pSaveTable
Definition: UndoTable.hxx:178
void SaveNewBoxes(const SwTableNode &rTableNd, const SwTableSortBoxes &rOld)
Definition: untbl.cxx:1504
tools::Long m_nMin
Definition: UndoTable.hxx:189
sal_uInt16 m_nCount
Definition: UndoTable.hxx:191
void SetNumFormat(sal_uLong nNewNumFormatIdx, const double &rNewNumber)
Definition: UndoTable.hxx:270
sal_uLong m_nNewFormatIdx
Definition: UndoTable.hxx:253
void SetBox(const SwTableBox &rBox)
Definition: untbl.cxx:2306
SwNodeOffset m_nNodePos
Definition: UndoTable.hxx:256
SwUndoTableNumFormat(const SwTableBox &rBox, const SfxItemSet *pNewSet=nullptr)
Definition: untbl.cxx:2050
std::unique_ptr< SwHistory > m_pHistory
Definition: UndoTable.hxx:250
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2217
virtual ~SwUndoTableNumFormat() override
Definition: untbl.cxx:2117
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:2123
std::unique_ptr< SfxItemSet > m_pBoxSet
Definition: UndoTable.hxx:249
SwNodeOffset m_nNode
Definition: UndoTable.hxx:255
sal_uLong m_nFormatIdx
Definition: UndoTable.hxx:253
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:3138
std::unique_ptr< SwTableAutoFormat > m_pAutoFormat
Definition: UndoTable.hxx:399
virtual ~SwUndoTableStyleDelete() override
Definition: untbl.cxx:3135
std::vector< SwTable * > m_rAffectedTables
Definition: UndoTable.hxx:400
SwUndoTableStyleDelete(std::unique_ptr< SwTableAutoFormat > pAutoFormat, std::vector< SwTable * > &&rAffectedTables, const SwDoc &rDoc)
Definition: untbl.cxx:3129
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:3146
virtual SwRewriter GetRewriter() const override
Returns the rewriter for this object.
Definition: untbl.cxx:3152
virtual SwRewriter GetRewriter() const override
Returns the rewriter for this object.
Definition: untbl.cxx:3122
SwUndoTableStyleMake(OUString aName, const SwDoc &rDoc)
Definition: untbl.cxx:3096
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:3109
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:3104
virtual ~SwUndoTableStyleMake() override
Definition: untbl.cxx:3101
std::unique_ptr< SwTableAutoFormat > m_pAutoFormat
Definition: UndoTable.hxx:385
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:3173
SwUndoTableStyleUpdate(const SwTableAutoFormat &rNewFormat, const SwTableAutoFormat &rOldFormat, const SwDoc &rDoc)
Definition: untbl.cxx:3159
std::unique_ptr< SwTableAutoFormat > m_pNewFormat
Definition: UndoTable.hxx:414
std::unique_ptr< SwTableAutoFormat > m_pOldFormat
Definition: UndoTable.hxx:414
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:3168
virtual SwRewriter GetRewriter() const override
Returns the rewriter for this object.
Definition: untbl.cxx:3178
virtual ~SwUndoTableStyleUpdate() override
Definition: untbl.cxx:3165
std::unique_ptr< SwHistory > m_pHistory
Definition: UndoTable.hxx:115
virtual void RepeatImpl(::sw::RepeatContext &) override
Definition: untbl.cxx:678
sal_Unicode m_cSeparator
Definition: UndoTable.hxx:117
std::unique_ptr< SwDDEFieldType > m_pDDEFieldType
Definition: UndoTable.hxx:112
void AddBoxPos(SwDoc &rDoc, SwNodeOffset nNdIdx, SwNodeOffset nEndIdx, sal_Int32 nContentIdx=SAL_MAX_INT32)
Definition: untbl.cxx:700
SwNodeOffset m_nEndNode
Definition: UndoTable.hxx:116
virtual ~SwUndoTableToText() override
Definition: untbl.cxx:452
OUString m_sTableName
Definition: UndoTable.hxx:111
SwNodeOffset m_nStartNode
Definition: UndoTable.hxx:116
std::unique_ptr< SaveTable > m_pTableSave
Definition: UndoTable.hxx:113
SwTableToTextSaves m_vBoxSaves
Definition: UndoTable.hxx:114
SwUndoTableToText(const SwTable &rTable, sal_Unicode cCh)
Definition: untbl.cxx:412
void SetRange(const SwNodeRange &)
Definition: untbl.cxx:694
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:460
sal_uInt16 m_nHeadlineRepeat
Definition: UndoTable.hxx:118
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:645
void AddFillBox(const SwTableBox &rBox)
Definition: untbl.cxx:825
SwHistory * m_pHistory
Definition: UndoTable.hxx:89
virtual void UndoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:727
sal_Unicode m_cSeparator
Definition: UndoTable.hxx:90
sal_uInt16 m_nAdjust
Definition: UndoTable.hxx:91
std::vector< SwNodeOffset > mvDelBoxes
Definition: UndoTable.hxx:87
SwUndoTextToTable(const SwPaM &, const SwInsertTableOptions &, sal_Unicode, sal_uInt16, const SwTableAutoFormat *pAFormat)
Definition: untbl.cxx:705
std::unique_ptr< SwTableAutoFormat > m_pAutoFormat
Definition: UndoTable.hxx:88
OUString m_sTableName
Definition: UndoTable.hxx:85
virtual void RepeatImpl(::sw::RepeatContext &) override
Definition: untbl.cxx:814
SwInsertTableOptions m_aInsertTableOpts
Definition: UndoTable.hxx:86
virtual ~SwUndoTextToTable() override
Definition: untbl.cxx:722
virtual void RedoImpl(::sw::UndoRedoContext &) override
Definition: untbl.cxx:803
SwHistory & GetHistory()
Definition: untbl.cxx:830
const sal_uInt16 idx[]
Dialog to specify the properties of date form field.
void NotifyTableCollapsedParagraph(const SwContentNode *const pNode, SwCursorShell *const pShell)
An empty paragraph inside a table with a nested table preceding it should be hidden,...
Definition: callnk.cxx:73
long Long
std::vector< std::unique_ptr< SwTableToTextSave > > SwTableToTextSaves
Definition: ndarr.hxx:87
sal_uIntPtr sal_uLong
Marks a position in the document model.
Definition: pam.hxx:37
This structure is needed by Undo to restore row span attributes when a table has been split into two ...
Definition: tblrwcl.hxx:111
SwNodeOffset index
Index of this box.
Definition: UndoTable.hxx:182
bool hasMoved
Has this box been moved already.
Definition: UndoTable.hxx:183
BoxMove(SwNodeOffset idx, bool moved=false)
Definition: UndoTable.hxx:184
bool operator<(const BoxMove &other) const
Definition: UndoTable.hxx:185
Definition: untbl.cxx:87
SwUndoId
Definition: swundo.hxx:30
SplitTable_HeadlineOption
Definition: tblenum.hxx:55
sal_uInt16 sal_Unicode