xref: /trunk/main/sc/source/ui/inc/undotab.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_UNDOTAB_HXX
25cdf0e10cSrcweir #define SC_UNDOTAB_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #include "undobase.hxx"
28cdf0e10cSrcweir #include "markdata.hxx"
29cdf0e10cSrcweir #include "formula/grammar.hxx"
30cdf0e10cSrcweir #include <tools/color.hxx>
31cdf0e10cSrcweir #include "tabbgcolor.hxx"
32cdf0e10cSrcweir 
33cdf0e10cSrcweir #ifndef _SVSTDARR_SHORTS
34cdf0e10cSrcweir 
35cdf0e10cSrcweir #define _SVSTDARR_SHORTS
36cdf0e10cSrcweir #include <svl/svstdarr.hxx>
37cdf0e10cSrcweir 
38cdf0e10cSrcweir #endif
39cdf0e10cSrcweir 
40cdf0e10cSrcweir #ifndef _SVSTDARR_STRINGS
41cdf0e10cSrcweir 
42cdf0e10cSrcweir #define _SVSTDARR_STRINGS
43cdf0e10cSrcweir #include <svl/svstdarr.hxx>
44cdf0e10cSrcweir 
45cdf0e10cSrcweir #endif
46cdf0e10cSrcweir 
47cdf0e10cSrcweir #include <com/sun/star/uno/Sequence.hxx>
48cdf0e10cSrcweir 
49cdf0e10cSrcweir #include <memory>
50cdf0e10cSrcweir 
51cdf0e10cSrcweir class ScDocShell;
52cdf0e10cSrcweir class ScDocument;
53cdf0e10cSrcweir class SdrUndoAction;
54cdf0e10cSrcweir class ScPrintRangeSaver;
55cdf0e10cSrcweir class SdrObject;
56cdf0e10cSrcweir class ScDocProtection;
57cdf0e10cSrcweir class ScTableProtection;
58cdf0e10cSrcweir 
59cdf0e10cSrcweir //----------------------------------------------------------------------------
60cdf0e10cSrcweir 
61cdf0e10cSrcweir class ScUndoInsertTab : public ScSimpleUndo
62cdf0e10cSrcweir {
63cdf0e10cSrcweir public:
64cdf0e10cSrcweir                     TYPEINFO();
65cdf0e10cSrcweir                     ScUndoInsertTab(
66cdf0e10cSrcweir                             ScDocShell* pNewDocShell,
67cdf0e10cSrcweir                             SCTAB nTabNum,
68cdf0e10cSrcweir                             sal_Bool bApp,
69cdf0e10cSrcweir                             const String& rNewName);
70cdf0e10cSrcweir     virtual         ~ScUndoInsertTab();
71cdf0e10cSrcweir 
72cdf0e10cSrcweir     virtual void    Undo();
73cdf0e10cSrcweir     virtual void    Redo();
74cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
75cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
76cdf0e10cSrcweir 
77cdf0e10cSrcweir     virtual String  GetComment() const;
78cdf0e10cSrcweir 
79cdf0e10cSrcweir private:
80cdf0e10cSrcweir     String          sNewName;
81cdf0e10cSrcweir     SdrUndoAction*  pDrawUndo;
82cdf0e10cSrcweir     sal_uLong           nEndChangeAction;
83cdf0e10cSrcweir     SCTAB           nTab;
84cdf0e10cSrcweir     sal_Bool            bAppend;
85cdf0e10cSrcweir 
86cdf0e10cSrcweir     void            SetChangeTrack();
87cdf0e10cSrcweir };
88cdf0e10cSrcweir 
89cdf0e10cSrcweir class ScUndoInsertTables : public ScSimpleUndo
90cdf0e10cSrcweir {
91cdf0e10cSrcweir public:
92cdf0e10cSrcweir                     TYPEINFO();
93cdf0e10cSrcweir                     ScUndoInsertTables(
94cdf0e10cSrcweir                             ScDocShell* pNewDocShell,
95cdf0e10cSrcweir                             SCTAB nTabNum,
96cdf0e10cSrcweir                             sal_Bool bApp,
97cdf0e10cSrcweir                             SvStrings *pNewNameList);
98cdf0e10cSrcweir     virtual         ~ScUndoInsertTables();
99cdf0e10cSrcweir 
100cdf0e10cSrcweir     virtual void    Undo();
101cdf0e10cSrcweir     virtual void    Redo();
102cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
103cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
104cdf0e10cSrcweir 
105cdf0e10cSrcweir     virtual String  GetComment() const;
106cdf0e10cSrcweir 
107cdf0e10cSrcweir private:
108cdf0e10cSrcweir 
109cdf0e10cSrcweir     SdrUndoAction*  pDrawUndo;
110cdf0e10cSrcweir     SvStrings*      pNameList;
111cdf0e10cSrcweir     sal_uLong           nStartChangeAction;
112cdf0e10cSrcweir     sal_uLong           nEndChangeAction;
113cdf0e10cSrcweir     SCTAB           nTab;
114cdf0e10cSrcweir     sal_Bool            bAppend;
115cdf0e10cSrcweir 
116cdf0e10cSrcweir     void            SetChangeTrack();
117cdf0e10cSrcweir };
118cdf0e10cSrcweir 
119cdf0e10cSrcweir 
120cdf0e10cSrcweir class ScUndoDeleteTab: public ScMoveUndo    // Draw vom Move fuer geloeschte Tabelle
121cdf0e10cSrcweir {
122cdf0e10cSrcweir public:
123cdf0e10cSrcweir                     TYPEINFO();
124cdf0e10cSrcweir                     ScUndoDeleteTab(
125cdf0e10cSrcweir                             ScDocShell* pNewDocShell,
126cdf0e10cSrcweir                             const SvShorts &theTabs,        //SCTAB nNewTab,
127cdf0e10cSrcweir                             ScDocument* pUndoDocument,
128cdf0e10cSrcweir                             ScRefUndoData* pRefData );
129cdf0e10cSrcweir     virtual         ~ScUndoDeleteTab();
130cdf0e10cSrcweir 
131cdf0e10cSrcweir     virtual void    Undo();
132cdf0e10cSrcweir     virtual void    Redo();
133cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
134cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
135cdf0e10cSrcweir 
136cdf0e10cSrcweir     virtual String  GetComment() const;
137cdf0e10cSrcweir 
138cdf0e10cSrcweir private:
139cdf0e10cSrcweir     SvShorts    theTabs;
140cdf0e10cSrcweir     sal_uLong           nStartChangeAction;
141cdf0e10cSrcweir     sal_uLong           nEndChangeAction;
142cdf0e10cSrcweir 
143cdf0e10cSrcweir     void            SetChangeTrack();
144cdf0e10cSrcweir };
145cdf0e10cSrcweir 
146cdf0e10cSrcweir 
147cdf0e10cSrcweir class ScUndoRenameTab: public ScSimpleUndo
148cdf0e10cSrcweir {
149cdf0e10cSrcweir public:
150cdf0e10cSrcweir                     TYPEINFO();
151cdf0e10cSrcweir                     ScUndoRenameTab(
152cdf0e10cSrcweir                             ScDocShell* pNewDocShell,
153cdf0e10cSrcweir                             SCTAB nT,
154cdf0e10cSrcweir                             const String& rOldName,
155cdf0e10cSrcweir                             const String& rNewName);
156cdf0e10cSrcweir     virtual         ~ScUndoRenameTab();
157cdf0e10cSrcweir 
158cdf0e10cSrcweir     virtual void    Undo();
159cdf0e10cSrcweir     virtual void    Redo();
160cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
161cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
162cdf0e10cSrcweir 
163cdf0e10cSrcweir     virtual String  GetComment() const;
164cdf0e10cSrcweir 
165cdf0e10cSrcweir private:
166cdf0e10cSrcweir     SCTAB   nTab;
167cdf0e10cSrcweir     String  sOldName;
168cdf0e10cSrcweir     String  sNewName;
169cdf0e10cSrcweir 
170cdf0e10cSrcweir     void DoChange( SCTAB nTab, const String& rName ) const;
171cdf0e10cSrcweir };
172cdf0e10cSrcweir 
173cdf0e10cSrcweir 
174cdf0e10cSrcweir class ScUndoMoveTab: public ScSimpleUndo
175cdf0e10cSrcweir {
176cdf0e10cSrcweir public:
177cdf0e10cSrcweir                     TYPEINFO();
178cdf0e10cSrcweir                     ScUndoMoveTab( ScDocShell* pNewDocShell,
179cdf0e10cSrcweir                                   const SvShorts &aOldTab,
180cdf0e10cSrcweir                                   const SvShorts &aNewTab);
181cdf0e10cSrcweir     virtual         ~ScUndoMoveTab();
182cdf0e10cSrcweir 
183cdf0e10cSrcweir     virtual void    Undo();
184cdf0e10cSrcweir     virtual void    Redo();
185cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
186cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
187cdf0e10cSrcweir 
188cdf0e10cSrcweir     virtual String  GetComment() const;
189cdf0e10cSrcweir 
190cdf0e10cSrcweir private:
191cdf0e10cSrcweir     SvShorts    theOldTabs;
192cdf0e10cSrcweir     SvShorts    theNewTabs;
193cdf0e10cSrcweir 
194cdf0e10cSrcweir     void DoChange( sal_Bool bUndo ) const;
195cdf0e10cSrcweir };
196cdf0e10cSrcweir 
197cdf0e10cSrcweir 
198cdf0e10cSrcweir class ScUndoCopyTab: public ScSimpleUndo
199cdf0e10cSrcweir {
200cdf0e10cSrcweir public:
201cdf0e10cSrcweir                     TYPEINFO();
202cdf0e10cSrcweir                     ScUndoCopyTab(ScDocShell* pNewDocShell,
203cdf0e10cSrcweir                                   const SvShorts &aOldTab,
204cdf0e10cSrcweir                                   const SvShorts &aNewTab);
205cdf0e10cSrcweir 
206cdf0e10cSrcweir     virtual         ~ScUndoCopyTab();
207cdf0e10cSrcweir 
208cdf0e10cSrcweir     virtual void    Undo();
209cdf0e10cSrcweir     virtual void    Redo();
210cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
211cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
212cdf0e10cSrcweir 
213cdf0e10cSrcweir     virtual String  GetComment() const;
214cdf0e10cSrcweir 
215cdf0e10cSrcweir private:
216cdf0e10cSrcweir     SdrUndoAction*  pDrawUndo;
217cdf0e10cSrcweir     SvShorts    theOldTabs;
218cdf0e10cSrcweir     SvShorts    theNewTabs;
219cdf0e10cSrcweir 
220cdf0e10cSrcweir     void DoChange() const;
221cdf0e10cSrcweir };
222cdf0e10cSrcweir 
223cdf0e10cSrcweir class ScUndoTabColor: public ScSimpleUndo
224cdf0e10cSrcweir {
225cdf0e10cSrcweir public:
226cdf0e10cSrcweir                     TYPEINFO();
227cdf0e10cSrcweir                     ScUndoTabColor(
228cdf0e10cSrcweir                             ScDocShell* pNewDocShell,
229cdf0e10cSrcweir                             SCTAB nT,
230cdf0e10cSrcweir                             const Color& aOTabBgColor,
231cdf0e10cSrcweir                             const Color& aNTabBgColor);
232cdf0e10cSrcweir                     ScUndoTabColor(
233cdf0e10cSrcweir                             ScDocShell* pNewDocShell,
234cdf0e10cSrcweir                             const ScUndoTabColorInfo::List& rUndoTabColorList);
235cdf0e10cSrcweir     virtual         ~ScUndoTabColor();
236cdf0e10cSrcweir 
237cdf0e10cSrcweir     virtual void    Undo();
238cdf0e10cSrcweir     virtual void    Redo();
239cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
240cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
241cdf0e10cSrcweir 
242cdf0e10cSrcweir virtual String  GetComment() const;
243cdf0e10cSrcweir 
244cdf0e10cSrcweir private:
245cdf0e10cSrcweir     ScUndoTabColorInfo::List aTabColorList;
246cdf0e10cSrcweir     bool    bIsMultipleUndo;
247cdf0e10cSrcweir 
248cdf0e10cSrcweir     void DoChange(bool bUndoType) const;
249cdf0e10cSrcweir };
250cdf0e10cSrcweir 
251cdf0e10cSrcweir class ScUndoMakeScenario: public ScSimpleUndo
252cdf0e10cSrcweir {
253cdf0e10cSrcweir public:
254cdf0e10cSrcweir                     TYPEINFO();
255cdf0e10cSrcweir                     ScUndoMakeScenario(
256cdf0e10cSrcweir                             ScDocShell* pNewDocShell,
257cdf0e10cSrcweir                             SCTAB nSrc, SCTAB nDest,
258cdf0e10cSrcweir                             const String& rN, const String& rC,
259cdf0e10cSrcweir                             const Color& rCol, sal_uInt16 nF,
260cdf0e10cSrcweir                             const ScMarkData& rMark );
261cdf0e10cSrcweir     virtual         ~ScUndoMakeScenario();
262cdf0e10cSrcweir 
263cdf0e10cSrcweir     virtual void    Undo();
264cdf0e10cSrcweir     virtual void    Redo();
265cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
266cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
267cdf0e10cSrcweir 
268cdf0e10cSrcweir     virtual String  GetComment() const;
269cdf0e10cSrcweir 
270cdf0e10cSrcweir private:
271cdf0e10cSrcweir     SCTAB       nSrcTab;
272cdf0e10cSrcweir     SCTAB       nDestTab;
273cdf0e10cSrcweir     String      aName;
274cdf0e10cSrcweir     String      aComment;
275cdf0e10cSrcweir     Color       aColor;
276cdf0e10cSrcweir     sal_uInt16      nFlags;
277cdf0e10cSrcweir     ScMarkData  aMarkData;
278cdf0e10cSrcweir     SdrUndoAction* pDrawUndo;
279cdf0e10cSrcweir };
280cdf0e10cSrcweir 
281cdf0e10cSrcweir 
282cdf0e10cSrcweir class ScUndoImportTab : public ScSimpleUndo
283cdf0e10cSrcweir {
284cdf0e10cSrcweir public:
285cdf0e10cSrcweir                     TYPEINFO();
286cdf0e10cSrcweir                     ScUndoImportTab(
287cdf0e10cSrcweir                             ScDocShell* pShell,
288cdf0e10cSrcweir                             SCTAB nNewTab, SCTAB nNewCount,
289cdf0e10cSrcweir                             sal_Bool bNewLink );
290cdf0e10cSrcweir     virtual         ~ScUndoImportTab();
291cdf0e10cSrcweir 
292cdf0e10cSrcweir     virtual void    Undo();
293cdf0e10cSrcweir     virtual void    Redo();
294cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
295cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
296cdf0e10cSrcweir 
297cdf0e10cSrcweir     virtual String  GetComment() const;
298cdf0e10cSrcweir 
299cdf0e10cSrcweir private:
300cdf0e10cSrcweir     SCTAB       nTab;
301cdf0e10cSrcweir     SCTAB       nCount;
302cdf0e10cSrcweir     sal_Bool        bLink;
303cdf0e10cSrcweir     ScDocument* pRedoDoc;
304cdf0e10cSrcweir     SdrUndoAction*  pDrawUndo;
305cdf0e10cSrcweir 
306cdf0e10cSrcweir     void DoChange() const;
307cdf0e10cSrcweir };
308cdf0e10cSrcweir 
309cdf0e10cSrcweir 
310cdf0e10cSrcweir class ScUndoRemoveLink : public ScSimpleUndo
311cdf0e10cSrcweir {
312cdf0e10cSrcweir public:
313cdf0e10cSrcweir                     TYPEINFO();
314cdf0e10cSrcweir                     ScUndoRemoveLink(               // vor dem Loeschen aufrufen!
315cdf0e10cSrcweir                             ScDocShell* pShell,
316cdf0e10cSrcweir                             const String& rDoc );
317cdf0e10cSrcweir     virtual         ~ScUndoRemoveLink();
318cdf0e10cSrcweir 
319cdf0e10cSrcweir     virtual void    Undo();
320cdf0e10cSrcweir     virtual void    Redo();
321cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
322cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
323cdf0e10cSrcweir 
324cdf0e10cSrcweir     virtual String  GetComment() const;
325cdf0e10cSrcweir 
326cdf0e10cSrcweir private:
327cdf0e10cSrcweir     String  aDocName;
328cdf0e10cSrcweir     String  aFltName;
329cdf0e10cSrcweir     String  aOptions;
330cdf0e10cSrcweir     sal_uLong   nRefreshDelay;
331cdf0e10cSrcweir     sal_uInt16  nCount;
332cdf0e10cSrcweir     SCTAB*  pTabs;
333cdf0e10cSrcweir     sal_uInt8*  pModes;
334cdf0e10cSrcweir     String* pTabNames;
335cdf0e10cSrcweir 
336cdf0e10cSrcweir     void DoChange( sal_Bool bLink ) const;
337cdf0e10cSrcweir };
338cdf0e10cSrcweir 
339cdf0e10cSrcweir 
340cdf0e10cSrcweir class ScUndoShowHideTab : public ScSimpleUndo
341cdf0e10cSrcweir {
342cdf0e10cSrcweir public:
343cdf0e10cSrcweir                     TYPEINFO();
344cdf0e10cSrcweir                     ScUndoShowHideTab(
345cdf0e10cSrcweir                             ScDocShell* pShell,
346cdf0e10cSrcweir                             SCTAB nNewTab, sal_Bool bNewShow );
347cdf0e10cSrcweir     virtual         ~ScUndoShowHideTab();
348cdf0e10cSrcweir 
349cdf0e10cSrcweir     virtual void    Undo();
350cdf0e10cSrcweir     virtual void    Redo();
351cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
352cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
353cdf0e10cSrcweir 
354cdf0e10cSrcweir     virtual String  GetComment() const;
355cdf0e10cSrcweir 
356cdf0e10cSrcweir private:
357cdf0e10cSrcweir     SCTAB   nTab;
358cdf0e10cSrcweir     sal_Bool    bShow;
359cdf0e10cSrcweir 
360cdf0e10cSrcweir     void DoChange( sal_Bool bShow ) const;
361cdf0e10cSrcweir };
362cdf0e10cSrcweir 
363cdf0e10cSrcweir // ============================================================================
364cdf0e10cSrcweir 
365cdf0e10cSrcweir /** This class implements undo & redo of document protect & unprotect
366cdf0e10cSrcweir     operations. */
367cdf0e10cSrcweir class ScUndoDocProtect : public ScSimpleUndo
368cdf0e10cSrcweir {
369cdf0e10cSrcweir public:
370cdf0e10cSrcweir                     ScUndoDocProtect(ScDocShell* pShell, ::std::auto_ptr<ScDocProtection> pProtectSettings);
371cdf0e10cSrcweir     virtual         ~ScUndoDocProtect();
372cdf0e10cSrcweir 
373cdf0e10cSrcweir     virtual void    Undo();
374cdf0e10cSrcweir     virtual void    Redo();
375cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
376cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
377cdf0e10cSrcweir 
378cdf0e10cSrcweir     virtual String  GetComment() const;
379cdf0e10cSrcweir 
380cdf0e10cSrcweir private:
381cdf0e10cSrcweir     ::std::auto_ptr<ScDocProtection> mpProtectSettings;
382cdf0e10cSrcweir 
383cdf0e10cSrcweir     void    DoProtect(bool bProtect);
384cdf0e10cSrcweir };
385cdf0e10cSrcweir 
386cdf0e10cSrcweir // ============================================================================
387cdf0e10cSrcweir 
388cdf0e10cSrcweir /** This class implements undo & redo of both protect and unprotect of
389cdf0e10cSrcweir     sheet. */
390cdf0e10cSrcweir class ScUndoTabProtect : public ScSimpleUndo
391cdf0e10cSrcweir {
392cdf0e10cSrcweir public:
393cdf0e10cSrcweir                     ScUndoTabProtect(ScDocShell* pShell, SCTAB nTab,
394cdf0e10cSrcweir                                      ::std::auto_ptr<ScTableProtection> pProtectSettings);
395cdf0e10cSrcweir     virtual         ~ScUndoTabProtect();
396cdf0e10cSrcweir 
397cdf0e10cSrcweir     virtual void    Undo();
398cdf0e10cSrcweir     virtual void    Redo();
399cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
400cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
401cdf0e10cSrcweir 
402cdf0e10cSrcweir     virtual String  GetComment() const;
403cdf0e10cSrcweir 
404cdf0e10cSrcweir private:
405cdf0e10cSrcweir     SCTAB   mnTab;
406cdf0e10cSrcweir     ::std::auto_ptr<ScTableProtection> mpProtectSettings;
407cdf0e10cSrcweir 
408cdf0e10cSrcweir     void    DoProtect(bool bProtect);
409cdf0e10cSrcweir };
410cdf0e10cSrcweir 
411cdf0e10cSrcweir 
412cdf0e10cSrcweir class ScUndoPrintRange : public ScSimpleUndo
413cdf0e10cSrcweir {
414cdf0e10cSrcweir public:
415cdf0e10cSrcweir                     TYPEINFO();
416cdf0e10cSrcweir                     ScUndoPrintRange( ScDocShell* pShell, SCTAB nNewTab,
417cdf0e10cSrcweir                                         ScPrintRangeSaver* pOld, ScPrintRangeSaver* pNew );
418cdf0e10cSrcweir     virtual         ~ScUndoPrintRange();
419cdf0e10cSrcweir 
420cdf0e10cSrcweir     virtual void    Undo();
421cdf0e10cSrcweir     virtual void    Redo();
422cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
423cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
424cdf0e10cSrcweir 
425cdf0e10cSrcweir     virtual String  GetComment() const;
426cdf0e10cSrcweir 
427cdf0e10cSrcweir private:
428cdf0e10cSrcweir     SCTAB               nTab;
429cdf0e10cSrcweir     ScPrintRangeSaver*  pOldRanges;
430cdf0e10cSrcweir     ScPrintRangeSaver*  pNewRanges;
431cdf0e10cSrcweir 
432cdf0e10cSrcweir     void DoChange( sal_Bool bUndo );
433cdf0e10cSrcweir };
434cdf0e10cSrcweir 
435cdf0e10cSrcweir 
436cdf0e10cSrcweir class ScUndoScenarioFlags: public ScSimpleUndo
437cdf0e10cSrcweir {
438cdf0e10cSrcweir public:
439cdf0e10cSrcweir                     TYPEINFO();
440cdf0e10cSrcweir                     ScUndoScenarioFlags(
441cdf0e10cSrcweir                             ScDocShell* pNewDocShell, SCTAB nT,
442cdf0e10cSrcweir                             const String& rON, const String& rNN,
443cdf0e10cSrcweir                             const String& rOC, const String& rNC,
444cdf0e10cSrcweir                             const Color& rOCol, const Color& rNCol,
445cdf0e10cSrcweir                             sal_uInt16 nOF, sal_uInt16 nNF );
446cdf0e10cSrcweir 
447cdf0e10cSrcweir     virtual         ~ScUndoScenarioFlags();
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     SCTAB   nTab;
458cdf0e10cSrcweir     String  aOldName;
459cdf0e10cSrcweir     String  aNewName;
460cdf0e10cSrcweir     String  aOldComment;
461cdf0e10cSrcweir     String  aNewComment;
462cdf0e10cSrcweir     Color   aOldColor;
463cdf0e10cSrcweir     Color   aNewColor;
464cdf0e10cSrcweir     sal_uInt16  nOldFlags;
465cdf0e10cSrcweir     sal_uInt16  nNewFlags;
466cdf0e10cSrcweir };
467cdf0e10cSrcweir 
468cdf0e10cSrcweir 
469cdf0e10cSrcweir class ScUndoRenameObject: public ScSimpleUndo
470cdf0e10cSrcweir {
471cdf0e10cSrcweir public:
472cdf0e10cSrcweir                     TYPEINFO();
473cdf0e10cSrcweir                     ScUndoRenameObject(
474cdf0e10cSrcweir                             ScDocShell* pNewDocShell, const String& rPN,
475cdf0e10cSrcweir                             const String& rON, const String& rNN );
476cdf0e10cSrcweir 
477cdf0e10cSrcweir     virtual         ~ScUndoRenameObject();
478cdf0e10cSrcweir 
479cdf0e10cSrcweir     virtual void    Undo();
480cdf0e10cSrcweir     virtual void    Redo();
481cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
482cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
483cdf0e10cSrcweir 
484cdf0e10cSrcweir     virtual String  GetComment() const;
485cdf0e10cSrcweir 
486cdf0e10cSrcweir private:
487cdf0e10cSrcweir     String  aPersistName;       // to find object (works only for OLE objects)
488cdf0e10cSrcweir     String  aOldName;
489cdf0e10cSrcweir     String  aNewName;
490cdf0e10cSrcweir 
491cdf0e10cSrcweir     SdrObject*  GetObject();
492cdf0e10cSrcweir };
493cdf0e10cSrcweir 
494cdf0e10cSrcweir 
495cdf0e10cSrcweir class ScUndoLayoutRTL : public ScSimpleUndo
496cdf0e10cSrcweir {
497cdf0e10cSrcweir public:
498cdf0e10cSrcweir                     TYPEINFO();
499cdf0e10cSrcweir                     ScUndoLayoutRTL( ScDocShell* pShell, SCTAB nNewTab, sal_Bool bNewRTL );
500cdf0e10cSrcweir     virtual         ~ScUndoLayoutRTL();
501cdf0e10cSrcweir 
502cdf0e10cSrcweir     virtual void    Undo();
503cdf0e10cSrcweir     virtual void    Redo();
504cdf0e10cSrcweir     virtual void    Repeat(SfxRepeatTarget& rTarget);
505cdf0e10cSrcweir     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
506cdf0e10cSrcweir 
507cdf0e10cSrcweir     virtual String  GetComment() const;
508cdf0e10cSrcweir 
509cdf0e10cSrcweir private:
510cdf0e10cSrcweir     SCTAB   nTab;
511cdf0e10cSrcweir     sal_Bool    bRTL;
512cdf0e10cSrcweir 
513cdf0e10cSrcweir     void DoChange( sal_Bool bNew );
514cdf0e10cSrcweir };
515cdf0e10cSrcweir 
516cdf0e10cSrcweir 
517cdf0e10cSrcweir //UNUSED2009-05 class ScUndoSetGrammar : public ScSimpleUndo
518cdf0e10cSrcweir //UNUSED2009-05 {
519cdf0e10cSrcweir //UNUSED2009-05 public:
520cdf0e10cSrcweir //UNUSED2009-05                     TYPEINFO();
521cdf0e10cSrcweir //UNUSED2009-05                     ScUndoSetGrammar( ScDocShell* pShell,
522cdf0e10cSrcweir //UNUSED2009-05                                       formula::FormulaGrammar::Grammar eGrammar );
523cdf0e10cSrcweir //UNUSED2009-05     virtual         ~ScUndoSetGrammar();
524cdf0e10cSrcweir //UNUSED2009-05
525cdf0e10cSrcweir //UNUSED2009-05     virtual void    Undo();
526cdf0e10cSrcweir //UNUSED2009-05     virtual void    Redo();
527cdf0e10cSrcweir //UNUSED2009-05     virtual void    Repeat(SfxRepeatTarget& rTarget);
528cdf0e10cSrcweir //UNUSED2009-05     virtual sal_Bool    CanRepeat(SfxRepeatTarget& rTarget) const;
529cdf0e10cSrcweir //UNUSED2009-05
530cdf0e10cSrcweir //UNUSED2009-05     virtual String  GetComment() const;
531cdf0e10cSrcweir //UNUSED2009-05
532cdf0e10cSrcweir //UNUSED2009-05 private:
533cdf0e10cSrcweir //UNUSED2009-05     formula::FormulaGrammar::Grammar meNewGrammar, meOldGrammar;
534cdf0e10cSrcweir //UNUSED2009-05
535cdf0e10cSrcweir //UNUSED2009-05     void DoChange( formula::FormulaGrammar::Grammar eGrammar );
536cdf0e10cSrcweir //UNUSED2009-05 };
537cdf0e10cSrcweir 
538cdf0e10cSrcweir #endif
539