xref: /trunk/main/sc/source/ui/inc/undodat.hxx (revision 914d351e5f5b84e4342a86d6ab8d4aca7308b9bd)
1*38d50f7bSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*38d50f7bSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*38d50f7bSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*38d50f7bSAndrew Rist  * distributed with this work for additional information
6*38d50f7bSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*38d50f7bSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*38d50f7bSAndrew Rist  * "License"); you may not use this file except in compliance
9*38d50f7bSAndrew Rist  * with the License.  You may obtain a copy of the License at
10cdf0e10cSrcweir  *
11*38d50f7bSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12cdf0e10cSrcweir  *
13*38d50f7bSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*38d50f7bSAndrew Rist  * software distributed under the License is distributed on an
15*38d50f7bSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*38d50f7bSAndrew Rist  * KIND, either express or implied.  See the License for the
17*38d50f7bSAndrew Rist  * specific language governing permissions and limitations
18*38d50f7bSAndrew Rist  * under the License.
19cdf0e10cSrcweir  *
20*38d50f7bSAndrew Rist  *************************************************************/
21*38d50f7bSAndrew Rist 
22*38d50f7bSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef SC_UNDODAT_HXX
25cdf0e10cSrcweir #define SC_UNDODAT_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include "undobase.hxx"
28cdf0e10cSrcweir #include "rangeutl.hxx"     // ScArea
29cdf0e10cSrcweir #include "rangelst.hxx"     // ScRangeListRef
30cdf0e10cSrcweir #include "markdata.hxx"
31cdf0e10cSrcweir #include "sortparam.hxx"
32cdf0e10cSrcweir #include "queryparam.hxx"
33cdf0e10cSrcweir #include "pivot.hxx"
34cdf0e10cSrcweir 
35cdf0e10cSrcweir class ScDocShell;
36cdf0e10cSrcweir class ScDocument;
37cdf0e10cSrcweir class ScOutlineTable;
38cdf0e10cSrcweir class ScRangeName;
39cdf0e10cSrcweir class ScDBData;
40cdf0e10cSrcweir class ScDBCollection;
41cdf0e10cSrcweir class ScDPObject;
42cdf0e10cSrcweir class SdrUndoAction;
43cdf0e10cSrcweir 
44cdf0e10cSrcweir //----------------------------------------------------------------------------
45cdf0e10cSrcweir 
46cdf0e10cSrcweir class ScUndoDoOutline: public ScSimpleUndo
47cdf0e10cSrcweir {
48cdf0e10cSrcweir public:
49cdf0e10cSrcweir                     TYPEINFO();
50cdf0e10cSrcweir                     ScUndoDoOutline( ScDocShell* pNewDocShell,
51cdf0e10cSrcweir                             SCCOLROW nNewStart, SCCOLROW nNewEnd, SCTAB nNewTab,
52cdf0e10cSrcweir                             ScDocument* pNewUndoDoc, sal_Bool bNewColumns,
53cdf0e10cSrcweir                             sal_uInt16 nNewLevel, sal_uInt16 nNewEntry, sal_Bool bNewShow );
54cdf0e10cSrcweir     virtual         ~ScUndoDoOutline();
55cdf0e10cSrcweir 
56cdf0e10cSrcweir     virtual void    Undo();
57cdf0e10cSrcweir     virtual void    Redo();
58cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
59cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
60cdf0e10cSrcweir 
61cdf0e10cSrcweir     virtual String  GetComment() const;
62cdf0e10cSrcweir 
63cdf0e10cSrcweir private:
64cdf0e10cSrcweir     SCCOLROW        nStart;
65cdf0e10cSrcweir     SCCOLROW        nEnd;
66cdf0e10cSrcweir     SCTAB           nTab;
67cdf0e10cSrcweir     ScDocument*     pUndoDoc;
68cdf0e10cSrcweir     sal_Bool            bColumns;
69cdf0e10cSrcweir     sal_uInt16          nLevel;
70cdf0e10cSrcweir     sal_uInt16          nEntry;
71cdf0e10cSrcweir     sal_Bool            bShow;
72cdf0e10cSrcweir };
73cdf0e10cSrcweir 
74cdf0e10cSrcweir 
75cdf0e10cSrcweir class ScUndoMakeOutline: public ScSimpleUndo
76cdf0e10cSrcweir {
77cdf0e10cSrcweir public:
78cdf0e10cSrcweir                     TYPEINFO();
79cdf0e10cSrcweir                     ScUndoMakeOutline( ScDocShell* pNewDocShell,
80cdf0e10cSrcweir                             SCCOL nStartX, SCROW nStartY, SCTAB nStartZ,
81cdf0e10cSrcweir                             SCCOL nEndX, SCROW nEndY, SCTAB nEndZ,
82cdf0e10cSrcweir                             ScOutlineTable* pNewUndoTab,
83cdf0e10cSrcweir                             sal_Bool bNewColumns, sal_Bool bNewMake );
84cdf0e10cSrcweir     virtual         ~ScUndoMakeOutline();
85cdf0e10cSrcweir 
86cdf0e10cSrcweir     virtual void    Undo();
87cdf0e10cSrcweir     virtual void    Redo();
88cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
89cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
90cdf0e10cSrcweir 
91cdf0e10cSrcweir     virtual String  GetComment() const;
92cdf0e10cSrcweir 
93cdf0e10cSrcweir private:
94cdf0e10cSrcweir     ScAddress       aBlockStart;
95cdf0e10cSrcweir     ScAddress       aBlockEnd;
96cdf0e10cSrcweir     ScOutlineTable* pUndoTable;
97cdf0e10cSrcweir     sal_Bool            bColumns;
98cdf0e10cSrcweir     sal_Bool            bMake;
99cdf0e10cSrcweir };
100cdf0e10cSrcweir 
101cdf0e10cSrcweir 
102cdf0e10cSrcweir class ScUndoOutlineLevel: public ScSimpleUndo
103cdf0e10cSrcweir {
104cdf0e10cSrcweir public:
105cdf0e10cSrcweir                     TYPEINFO();
106cdf0e10cSrcweir                     ScUndoOutlineLevel( ScDocShell* pNewDocShell,
107cdf0e10cSrcweir                             SCCOLROW nNewStart, SCCOLROW nNewEnd, SCTAB nNewTab,
108cdf0e10cSrcweir                             ScDocument* pNewUndoDoc, ScOutlineTable* pNewUndoTab,
109cdf0e10cSrcweir                             sal_Bool bNewColumns, sal_uInt16 nNewLevel );
110cdf0e10cSrcweir     virtual         ~ScUndoOutlineLevel();
111cdf0e10cSrcweir 
112cdf0e10cSrcweir     virtual void    Undo();
113cdf0e10cSrcweir     virtual void    Redo();
114cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
115cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
116cdf0e10cSrcweir 
117cdf0e10cSrcweir     virtual String  GetComment() const;
118cdf0e10cSrcweir 
119cdf0e10cSrcweir private:
120cdf0e10cSrcweir     SCCOLROW        nStart;
121cdf0e10cSrcweir     SCCOLROW        nEnd;
122cdf0e10cSrcweir     SCTAB           nTab;
123cdf0e10cSrcweir     ScDocument*     pUndoDoc;
124cdf0e10cSrcweir     ScOutlineTable* pUndoTable;
125cdf0e10cSrcweir     sal_Bool            bColumns;
126cdf0e10cSrcweir     sal_uInt16          nLevel;
127cdf0e10cSrcweir };
128cdf0e10cSrcweir 
129cdf0e10cSrcweir 
130cdf0e10cSrcweir class ScUndoOutlineBlock: public ScSimpleUndo
131cdf0e10cSrcweir {
132cdf0e10cSrcweir public:
133cdf0e10cSrcweir                     TYPEINFO();
134cdf0e10cSrcweir                     ScUndoOutlineBlock( ScDocShell* pNewDocShell,
135cdf0e10cSrcweir                             SCCOL nStartX, SCROW nStartY, SCTAB nStartZ,
136cdf0e10cSrcweir                             SCCOL nEndX, SCROW nEndY, SCTAB nEndZ,
137cdf0e10cSrcweir                             ScDocument* pNewUndoDoc, ScOutlineTable* pNewUndoTab,
138cdf0e10cSrcweir                             sal_Bool bNewShow );
139cdf0e10cSrcweir     virtual         ~ScUndoOutlineBlock();
140cdf0e10cSrcweir 
141cdf0e10cSrcweir     virtual void    Undo();
142cdf0e10cSrcweir     virtual void    Redo();
143cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
144cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
145cdf0e10cSrcweir 
146cdf0e10cSrcweir     virtual String  GetComment() const;
147cdf0e10cSrcweir 
148cdf0e10cSrcweir private:
149cdf0e10cSrcweir     ScAddress       aBlockStart;
150cdf0e10cSrcweir     ScAddress       aBlockEnd;
151cdf0e10cSrcweir     ScDocument*     pUndoDoc;
152cdf0e10cSrcweir     ScOutlineTable* pUndoTable;
153cdf0e10cSrcweir     sal_Bool            bShow;
154cdf0e10cSrcweir };
155cdf0e10cSrcweir 
156cdf0e10cSrcweir 
157cdf0e10cSrcweir class ScUndoRemoveAllOutlines: public ScSimpleUndo
158cdf0e10cSrcweir {
159cdf0e10cSrcweir public:
160cdf0e10cSrcweir                     TYPEINFO();
161cdf0e10cSrcweir                     ScUndoRemoveAllOutlines( ScDocShell* pNewDocShell,
162cdf0e10cSrcweir                             SCCOL nStartX, SCROW nStartY, SCTAB nStartZ,
163cdf0e10cSrcweir                             SCCOL nEndX, SCROW nEndY, SCTAB nEndZ,
164cdf0e10cSrcweir                             ScDocument* pNewUndoDoc, ScOutlineTable* pNewUndoTab );
165cdf0e10cSrcweir     virtual         ~ScUndoRemoveAllOutlines();
166cdf0e10cSrcweir 
167cdf0e10cSrcweir     virtual void    Undo();
168cdf0e10cSrcweir     virtual void    Redo();
169cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
170cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
171cdf0e10cSrcweir 
172cdf0e10cSrcweir     virtual String  GetComment() const;
173cdf0e10cSrcweir 
174cdf0e10cSrcweir private:
175cdf0e10cSrcweir     ScAddress       aBlockStart;
176cdf0e10cSrcweir     ScAddress       aBlockEnd;
177cdf0e10cSrcweir     ScDocument*     pUndoDoc;
178cdf0e10cSrcweir     ScOutlineTable* pUndoTable;
179cdf0e10cSrcweir };
180cdf0e10cSrcweir 
181cdf0e10cSrcweir 
182cdf0e10cSrcweir class ScUndoAutoOutline: public ScSimpleUndo
183cdf0e10cSrcweir {
184cdf0e10cSrcweir public:
185cdf0e10cSrcweir                     TYPEINFO();
186cdf0e10cSrcweir                     ScUndoAutoOutline( ScDocShell* pNewDocShell,
187cdf0e10cSrcweir                             SCCOL nStartX, SCROW nStartY, SCTAB nStartZ,
188cdf0e10cSrcweir                             SCCOL nEndX, SCROW nEndY, SCTAB nEndZ,
189cdf0e10cSrcweir                             ScDocument* pNewUndoDoc, ScOutlineTable* pNewUndoTab );
190cdf0e10cSrcweir     virtual         ~ScUndoAutoOutline();
191cdf0e10cSrcweir 
192cdf0e10cSrcweir     virtual void    Undo();
193cdf0e10cSrcweir     virtual void    Redo();
194cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
195cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
196cdf0e10cSrcweir 
197cdf0e10cSrcweir     virtual String  GetComment() const;
198cdf0e10cSrcweir 
199cdf0e10cSrcweir private:
200cdf0e10cSrcweir     ScAddress       aBlockStart;
201cdf0e10cSrcweir     ScAddress       aBlockEnd;
202cdf0e10cSrcweir     ScDocument*     pUndoDoc;
203cdf0e10cSrcweir     ScOutlineTable* pUndoTable;
204cdf0e10cSrcweir };
205cdf0e10cSrcweir 
206cdf0e10cSrcweir 
207cdf0e10cSrcweir class ScUndoSubTotals: public ScDBFuncUndo
208cdf0e10cSrcweir {
209cdf0e10cSrcweir public:
210cdf0e10cSrcweir                     TYPEINFO();
211cdf0e10cSrcweir                     ScUndoSubTotals( ScDocShell* pNewDocShell, SCTAB nNewTab,
212cdf0e10cSrcweir                             const ScSubTotalParam& rNewParam, SCROW nNewEndY,
213cdf0e10cSrcweir                             ScDocument* pNewUndoDoc, ScOutlineTable* pNewUndoTab,
214cdf0e10cSrcweir //                          ScDBData* pNewData,
215cdf0e10cSrcweir                             ScRangeName* pNewUndoRange, ScDBCollection* pNewUndoDB );
216cdf0e10cSrcweir     virtual         ~ScUndoSubTotals();
217cdf0e10cSrcweir 
218cdf0e10cSrcweir     virtual void    Undo();
219cdf0e10cSrcweir     virtual void    Redo();
220cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
221cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
222cdf0e10cSrcweir 
223cdf0e10cSrcweir     virtual String  GetComment() const;
224cdf0e10cSrcweir 
225cdf0e10cSrcweir private:
226cdf0e10cSrcweir     SCTAB           nTab;
227cdf0e10cSrcweir     ScSubTotalParam aParam;                         // Original uebergebener Parameter
228cdf0e10cSrcweir     SCROW           nNewEndRow;                     // Ergebnis-Groesse
229cdf0e10cSrcweir     ScDocument*     pUndoDoc;
230cdf0e10cSrcweir     ScOutlineTable* pUndoTable;
231cdf0e10cSrcweir //  ScDBData*       pUndoDBData;
232cdf0e10cSrcweir     ScRangeName*    pUndoRange;
233cdf0e10cSrcweir     ScDBCollection* pUndoDB;
234cdf0e10cSrcweir };
235cdf0e10cSrcweir 
236cdf0e10cSrcweir 
237cdf0e10cSrcweir class ScUndoSort: public ScDBFuncUndo
238cdf0e10cSrcweir {
239cdf0e10cSrcweir public:
240cdf0e10cSrcweir                     TYPEINFO();
241cdf0e10cSrcweir                     ScUndoSort( ScDocShell* pNewDocShell, SCTAB nNewTab,
242cdf0e10cSrcweir                             const ScSortParam& rParam,
243cdf0e10cSrcweir                             sal_Bool bQuery, ScDocument* pNewUndoDoc,
244cdf0e10cSrcweir                             ScDBCollection* pNewUndoDB, const ScRange* pDest = NULL );
245cdf0e10cSrcweir     virtual         ~ScUndoSort();
246cdf0e10cSrcweir 
247cdf0e10cSrcweir     virtual void    Undo();
248cdf0e10cSrcweir     virtual void    Redo();
249cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
250cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
251cdf0e10cSrcweir 
252cdf0e10cSrcweir     virtual String  GetComment() const;
253cdf0e10cSrcweir 
254cdf0e10cSrcweir private:
255cdf0e10cSrcweir     SCTAB           nTab;
256cdf0e10cSrcweir     ScSortParam     aSortParam;
257cdf0e10cSrcweir     sal_Bool            bRepeatQuery;
258cdf0e10cSrcweir     ScDocument*     pUndoDoc;
259cdf0e10cSrcweir     ScDBCollection* pUndoDB;                // wegen Quell- und Zielbereich
260cdf0e10cSrcweir     sal_Bool            bDestArea;
261cdf0e10cSrcweir     ScRange         aDestRange;
262cdf0e10cSrcweir };
263cdf0e10cSrcweir 
264cdf0e10cSrcweir 
265cdf0e10cSrcweir class ScUndoQuery: public ScDBFuncUndo
266cdf0e10cSrcweir {
267cdf0e10cSrcweir public:
268cdf0e10cSrcweir                     TYPEINFO();
269cdf0e10cSrcweir                     ScUndoQuery( ScDocShell* pNewDocShell, SCTAB nNewTab,
270cdf0e10cSrcweir                             const ScQueryParam& rParam, ScDocument* pNewUndoDoc,
271cdf0e10cSrcweir                             ScDBCollection* pNewUndoDB, const ScRange* pOld,
272cdf0e10cSrcweir                             sal_Bool bSize, const ScRange* pAdvSrc );
273cdf0e10cSrcweir     virtual         ~ScUndoQuery();
274cdf0e10cSrcweir 
275cdf0e10cSrcweir     virtual void    Undo();
276cdf0e10cSrcweir     virtual void    Redo();
277cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
278cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
279cdf0e10cSrcweir 
280cdf0e10cSrcweir     virtual String  GetComment() const;
281cdf0e10cSrcweir 
282cdf0e10cSrcweir private:
283cdf0e10cSrcweir     SdrUndoAction*  pDrawUndo;
284cdf0e10cSrcweir     SCTAB           nTab;
285cdf0e10cSrcweir     ScQueryParam    aQueryParam;
286cdf0e10cSrcweir     ScDocument*     pUndoDoc;
287cdf0e10cSrcweir     ScDBCollection* pUndoDB;                // wegen Quell- und Zielbereich
288cdf0e10cSrcweir     ScRange         aOldDest;
289cdf0e10cSrcweir     ScRange         aAdvSource;
290cdf0e10cSrcweir     sal_Bool            bIsAdvanced;
291cdf0e10cSrcweir     sal_Bool            bDestArea;
292cdf0e10cSrcweir     sal_Bool            bDoSize;
293cdf0e10cSrcweir };
294cdf0e10cSrcweir 
295cdf0e10cSrcweir 
296cdf0e10cSrcweir class ScUndoAutoFilter: public ScDBFuncUndo
297cdf0e10cSrcweir {
298cdf0e10cSrcweir private:
299cdf0e10cSrcweir     String          aDBName;
300cdf0e10cSrcweir     sal_Bool            bFilterSet;
301cdf0e10cSrcweir 
302cdf0e10cSrcweir     void            DoChange( sal_Bool bUndo );
303cdf0e10cSrcweir 
304cdf0e10cSrcweir public:
305cdf0e10cSrcweir                     TYPEINFO();
306cdf0e10cSrcweir                     ScUndoAutoFilter( ScDocShell* pNewDocShell, const ScRange& rRange,
307cdf0e10cSrcweir                             const String& rName, sal_Bool bSet );
308cdf0e10cSrcweir     virtual         ~ScUndoAutoFilter();
309cdf0e10cSrcweir 
310cdf0e10cSrcweir     virtual void    Undo();
311cdf0e10cSrcweir     virtual void    Redo();
312cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
313cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
314cdf0e10cSrcweir 
315cdf0e10cSrcweir     virtual String  GetComment() const;
316cdf0e10cSrcweir };
317cdf0e10cSrcweir 
318cdf0e10cSrcweir 
319cdf0e10cSrcweir class ScUndoDBData: public ScSimpleUndo
320cdf0e10cSrcweir {
321cdf0e10cSrcweir public:
322cdf0e10cSrcweir                     TYPEINFO();
323cdf0e10cSrcweir                     ScUndoDBData( ScDocShell* pNewDocShell,
324cdf0e10cSrcweir                             ScDBCollection* pNewUndoColl, ScDBCollection* pNewRedoColl );
325cdf0e10cSrcweir     virtual         ~ScUndoDBData();
326cdf0e10cSrcweir 
327cdf0e10cSrcweir     virtual void    Undo();
328cdf0e10cSrcweir     virtual void    Redo();
329cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
330cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
331cdf0e10cSrcweir 
332cdf0e10cSrcweir     virtual String  GetComment() const;
333cdf0e10cSrcweir 
334cdf0e10cSrcweir private:
335cdf0e10cSrcweir     ScDBCollection* pUndoColl;
336cdf0e10cSrcweir     ScDBCollection* pRedoColl;
337cdf0e10cSrcweir };
338cdf0e10cSrcweir 
339cdf0e10cSrcweir 
340cdf0e10cSrcweir class ScUndoImportData: public ScSimpleUndo
341cdf0e10cSrcweir {
342cdf0e10cSrcweir public:
343cdf0e10cSrcweir                     TYPEINFO();
344cdf0e10cSrcweir                     ScUndoImportData( ScDocShell* pNewDocShell, SCTAB nNewTab,
345cdf0e10cSrcweir                             const ScImportParam& rParam, SCCOL nNewEndX, SCROW nNewEndY,
346cdf0e10cSrcweir                             SCCOL nNewFormula,
347cdf0e10cSrcweir                             ScDocument* pNewUndoDoc, ScDocument* pNewRedoDoc,
348cdf0e10cSrcweir                             ScDBData* pNewUndoData, ScDBData* pNewRedoData );
349cdf0e10cSrcweir     virtual         ~ScUndoImportData();
350cdf0e10cSrcweir 
351cdf0e10cSrcweir     virtual void    Undo();
352cdf0e10cSrcweir     virtual void    Redo();
353cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
354cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
355cdf0e10cSrcweir 
356cdf0e10cSrcweir     virtual String  GetComment() const;
357cdf0e10cSrcweir 
358cdf0e10cSrcweir private:
359cdf0e10cSrcweir     SCTAB           nTab;
360cdf0e10cSrcweir     ScImportParam   aImportParam;
361cdf0e10cSrcweir     SCCOL           nEndCol;
362cdf0e10cSrcweir     SCROW           nEndRow;
363cdf0e10cSrcweir     ScDocument*     pUndoDoc;
364cdf0e10cSrcweir     ScDocument*     pRedoDoc;
365cdf0e10cSrcweir     ScDBData*       pUndoDBData;
366cdf0e10cSrcweir     ScDBData*       pRedoDBData;
367cdf0e10cSrcweir     SCCOL           nFormulaCols;
368cdf0e10cSrcweir     sal_Bool            bRedoFilled;
369cdf0e10cSrcweir };
370cdf0e10cSrcweir 
371cdf0e10cSrcweir 
372cdf0e10cSrcweir class ScUndoRepeatDB: public ScSimpleUndo
373cdf0e10cSrcweir {
374cdf0e10cSrcweir public:
375cdf0e10cSrcweir                     TYPEINFO();
376cdf0e10cSrcweir                     ScUndoRepeatDB( ScDocShell* pNewDocShell, SCTAB nNewTab,
377cdf0e10cSrcweir                             SCCOL nStartX, SCROW nStartY, SCCOL nEndX, SCROW nEndY,
378cdf0e10cSrcweir                             SCROW nResultEndRow, SCCOL nCurX, SCROW nCurY,
379cdf0e10cSrcweir                             ScDocument* pNewUndoDoc, ScOutlineTable* pNewUndoTab,
380cdf0e10cSrcweir                             ScRangeName* pNewUndoRange, ScDBCollection* pNewUndoDB,
381cdf0e10cSrcweir                             const ScRange* pOldQ, const ScRange* pNewQ );
382cdf0e10cSrcweir     virtual         ~ScUndoRepeatDB();
383cdf0e10cSrcweir 
384cdf0e10cSrcweir     virtual void    Undo();
385cdf0e10cSrcweir     virtual void    Redo();
386cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
387cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
388cdf0e10cSrcweir 
389cdf0e10cSrcweir     virtual String  GetComment() const;
390cdf0e10cSrcweir 
391cdf0e10cSrcweir private:
392cdf0e10cSrcweir     ScAddress       aBlockStart;
393cdf0e10cSrcweir     ScAddress       aBlockEnd;
394cdf0e10cSrcweir     SCROW           nNewEndRow;
395cdf0e10cSrcweir     ScAddress       aCursorPos;
396cdf0e10cSrcweir     ScDocument*     pUndoDoc;
397cdf0e10cSrcweir     ScOutlineTable* pUndoTable;
398cdf0e10cSrcweir     ScRangeName*    pUndoRange;
399cdf0e10cSrcweir     ScDBCollection* pUndoDB;
400cdf0e10cSrcweir     ScRange         aOldQuery;
401cdf0e10cSrcweir     ScRange         aNewQuery;
402cdf0e10cSrcweir     sal_Bool            bQuerySize;
403cdf0e10cSrcweir };
404cdf0e10cSrcweir 
405cdf0e10cSrcweir //UNUSED2008-05  class ScUndoPivot: public ScSimpleUndo
406cdf0e10cSrcweir //UNUSED2008-05  {
407cdf0e10cSrcweir //UNUSED2008-05  public:
408cdf0e10cSrcweir //UNUSED2008-05                      TYPEINFO();
409cdf0e10cSrcweir //UNUSED2008-05                      ScUndoPivot( ScDocShell* pNewDocShell,
410cdf0e10cSrcweir //UNUSED2008-05                              const ScArea& rOld, const ScArea& rNew,
411cdf0e10cSrcweir //UNUSED2008-05                              ScDocument* pOldDoc, ScDocument* pNewDoc,
412cdf0e10cSrcweir //UNUSED2008-05                              const ScPivot* pOldPivot, const ScPivot* pNewPivot );
413cdf0e10cSrcweir //UNUSED2008-05      virtual         ~ScUndoPivot();
414cdf0e10cSrcweir //UNUSED2008-05
415cdf0e10cSrcweir //UNUSED2008-05      virtual void    Undo();
416cdf0e10cSrcweir //UNUSED2008-05      virtual void    Redo();
417cdf0e10cSrcweir //UNUSED2008-05      virtual void    Repeat(SfxRepeatTarget& rTarget);
418cdf0e10cSrcweir //UNUSED2008-05      virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
419cdf0e10cSrcweir //UNUSED2008-05
420cdf0e10cSrcweir //UNUSED2008-05      virtual String  GetComment() const;
421cdf0e10cSrcweir //UNUSED2008-05
422cdf0e10cSrcweir //UNUSED2008-05  private:
423cdf0e10cSrcweir //UNUSED2008-05      ScArea          aOldArea;
424cdf0e10cSrcweir //UNUSED2008-05      ScArea          aNewArea;
425cdf0e10cSrcweir //UNUSED2008-05      ScDocument*     pOldUndoDoc;
426cdf0e10cSrcweir //UNUSED2008-05      ScDocument*     pNewUndoDoc;
427cdf0e10cSrcweir //UNUSED2008-05      ScPivotParam    aOldParam;              // fuer Redo
428cdf0e10cSrcweir //UNUSED2008-05      ScQueryParam    aOldQuery;
429cdf0e10cSrcweir //UNUSED2008-05      ScArea          aOldSrc;
430cdf0e10cSrcweir //UNUSED2008-05      ScPivotParam    aNewParam;              // fuer Undo in Collection
431cdf0e10cSrcweir //UNUSED2008-05      ScQueryParam    aNewQuery;
432cdf0e10cSrcweir //UNUSED2008-05      ScArea          aNewSrc;
433cdf0e10cSrcweir //UNUSED2008-05      String          aOldName;
434cdf0e10cSrcweir //UNUSED2008-05      String          aOldTag;
435cdf0e10cSrcweir //UNUSED2008-05      String          aNewName;
436cdf0e10cSrcweir //UNUSED2008-05      String          aNewTag;
437cdf0e10cSrcweir //UNUSED2008-05  };
438cdf0e10cSrcweir 
439cdf0e10cSrcweir class ScUndoDataPilot: public ScSimpleUndo
440cdf0e10cSrcweir {
441cdf0e10cSrcweir public:
442cdf0e10cSrcweir                     TYPEINFO();
443cdf0e10cSrcweir                     ScUndoDataPilot( ScDocShell* pNewDocShell,
444cdf0e10cSrcweir                             ScDocument* pOldDoc, ScDocument* pNewDoc,
445cdf0e10cSrcweir                             const ScDPObject* pOldObj, const ScDPObject* pNewObj,
446cdf0e10cSrcweir                             sal_Bool bMove );
447cdf0e10cSrcweir     virtual         ~ScUndoDataPilot();
448cdf0e10cSrcweir 
449cdf0e10cSrcweir     virtual void    Undo();
450cdf0e10cSrcweir     virtual void    Redo();
451cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
452cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
453cdf0e10cSrcweir 
454cdf0e10cSrcweir     virtual String  GetComment() const;
455cdf0e10cSrcweir 
456cdf0e10cSrcweir private:
457cdf0e10cSrcweir     ScDocument*     pOldUndoDoc;
458cdf0e10cSrcweir     ScDocument*     pNewUndoDoc;
459cdf0e10cSrcweir     ScDPObject*     pOldDPObject;
460cdf0e10cSrcweir     ScDPObject*     pNewDPObject;
461cdf0e10cSrcweir     sal_Bool            bAllowMove;
462cdf0e10cSrcweir };
463cdf0e10cSrcweir 
464cdf0e10cSrcweir 
465cdf0e10cSrcweir class ScUndoConsolidate: public ScSimpleUndo
466cdf0e10cSrcweir {
467cdf0e10cSrcweir public:
468cdf0e10cSrcweir                         TYPEINFO();
469cdf0e10cSrcweir                         ScUndoConsolidate( ScDocShell* pNewDocShell,
470cdf0e10cSrcweir                                 const ScArea& rArea, const ScConsolidateParam& rPar,
471cdf0e10cSrcweir                                 ScDocument* pNewUndoDoc, sal_Bool bReference,
472cdf0e10cSrcweir                                 SCROW nInsCount, ScOutlineTable* pTab,
473cdf0e10cSrcweir                                 ScDBData* pData );
474cdf0e10cSrcweir     virtual             ~ScUndoConsolidate();
475cdf0e10cSrcweir 
476cdf0e10cSrcweir     virtual void        Undo();
477cdf0e10cSrcweir     virtual void        Redo();
478cdf0e10cSrcweir     virtual void        Repeat(SfxRepeatTarget& rTarget);
479cdf0e10cSrcweir     virtual sal_Bool        CanRepeat(SfxRepeatTarget& rTarget) const;
480cdf0e10cSrcweir 
481cdf0e10cSrcweir     virtual String      GetComment() const;
482cdf0e10cSrcweir 
483cdf0e10cSrcweir private:
484cdf0e10cSrcweir     ScArea              aDestArea;
485cdf0e10cSrcweir     ScDocument*         pUndoDoc;
486cdf0e10cSrcweir     ScConsolidateParam  aParam;
487cdf0e10cSrcweir     sal_Bool                bInsRef;
488cdf0e10cSrcweir     SCSIZE              nInsertCount;
489cdf0e10cSrcweir     ScOutlineTable*     pUndoTab;
490cdf0e10cSrcweir     ScDBData*           pUndoData;
491cdf0e10cSrcweir };
492cdf0e10cSrcweir 
493cdf0e10cSrcweir 
494cdf0e10cSrcweir class ScUndoChartData: public ScSimpleUndo
495cdf0e10cSrcweir {
496cdf0e10cSrcweir public:
497cdf0e10cSrcweir                         TYPEINFO();
498cdf0e10cSrcweir                         ScUndoChartData( ScDocShell* pNewDocShell,
499cdf0e10cSrcweir                                 const String& rName, const ScRange& rNew,
500cdf0e10cSrcweir                                 sal_Bool bColHdr, sal_Bool bRowHdr, sal_Bool bAdd );
501cdf0e10cSrcweir                         ScUndoChartData( ScDocShell* pNewDocShell,
502cdf0e10cSrcweir                                 const String& rName, const ScRangeListRef& rNew,
503cdf0e10cSrcweir                                 sal_Bool bColHdr, sal_Bool bRowHdr, sal_Bool bAdd );
504cdf0e10cSrcweir     virtual             ~ScUndoChartData();
505cdf0e10cSrcweir 
506cdf0e10cSrcweir     virtual void        Undo();
507cdf0e10cSrcweir     virtual void        Redo();
508cdf0e10cSrcweir     virtual void        Repeat(SfxRepeatTarget& rTarget);
509cdf0e10cSrcweir     virtual sal_Bool        CanRepeat(SfxRepeatTarget& rTarget) const;
510cdf0e10cSrcweir 
511cdf0e10cSrcweir     virtual String      GetComment() const;
512cdf0e10cSrcweir 
513cdf0e10cSrcweir private:
514cdf0e10cSrcweir     String              aChartName;
515cdf0e10cSrcweir     ScRangeListRef      aOldRangeListRef;
516cdf0e10cSrcweir     sal_Bool                bOldColHeaders;
517cdf0e10cSrcweir     sal_Bool                bOldRowHeaders;
518cdf0e10cSrcweir //  ScRange             aNewRange;
519cdf0e10cSrcweir     ScRangeListRef      aNewRangeListRef;
520cdf0e10cSrcweir     sal_Bool                bNewColHeaders;
521cdf0e10cSrcweir     sal_Bool                bNewRowHeaders;
522cdf0e10cSrcweir     sal_Bool                bAddRange;
523cdf0e10cSrcweir 
524cdf0e10cSrcweir     void                Init();
525cdf0e10cSrcweir };
526cdf0e10cSrcweir 
527cdf0e10cSrcweir 
528cdf0e10cSrcweir 
529cdf0e10cSrcweir 
530cdf0e10cSrcweir #endif
531