2 Copyright (C) 1999-2007 id Software, Inc. and contributors.
\r
3 For a list of contributors, see the accompanying CONTRIBUTORS file.
\r
5 This file is part of GtkRadiant.
\r
7 GtkRadiant is free software; you can redistribute it and/or modify
\r
8 it under the terms of the GNU General Public License as published by
\r
9 the Free Software Foundation; either version 2 of the License, or
\r
10 (at your option) any later version.
\r
12 GtkRadiant is distributed in the hope that it will be useful,
\r
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
15 GNU General Public License for more details.
\r
17 You should have received a copy of the GNU General Public License
\r
18 along with GtkRadiant; if not, write to the Free Software
\r
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\r
24 // QERadiant Multilevel Undo/Redo
\r
29 void Undo_Start(char *operation);
\r
31 void Undo_End(void);
\r
32 //add brush to the undo
\r
33 void Undo_AddBrush(brush_t *pBrush);
\r
34 //add a list with brushes to the undo
\r
35 void Undo_AddBrushList(brush_t *brushlist);
\r
36 //end a brush after the operation is performed
\r
37 void Undo_EndBrush(brush_t *pBrush);
\r
38 //end a list with brushes after the operation is performed
\r
39 void Undo_EndBrushList(brush_t *brushlist);
\r
40 //add entity to undo
\r
41 void Undo_AddEntity(entity_t *entity);
\r
42 //end an entity after the operation is performed
\r
43 void Undo_EndEntity(entity_t *entity);
\r
44 //undo last operation (bSilent == true -> will not print the "undone blah blah message")
\r
45 void Undo_Undo(boolean bSilent = false);
\r
46 //redo last undone operation
\r
47 void Undo_Redo(void);
\r
48 //get the undo Id of the next undo (0 if none available)
\r
49 int Undo_GetUndoId(void);
\r
50 //returns true if there is something to be undone available
\r
51 int Undo_UndoAvailable(void);
\r
52 //returns true if there is something to redo available
\r
53 int Undo_RedoAvailable(void);
\r
54 //clear the undo buffer
\r
55 void Undo_Clear(void);
\r
56 //set maximum undo size (default 64)
\r
57 void Undo_SetMaxSize(int size);
\r
58 //get maximum undo size
\r
59 int Undo_GetMaxSize(void);
\r
60 //set maximum undo memory in bytes (default 2 MB)
\r
61 void Undo_SetMaxMemorySize(int size);
\r
62 //get maximum undo memory in bytes
\r
63 int Undo_GetMaxMemorySize(void);
\r
64 //returns the amount of memory used by undo
\r
65 int Undo_MemorySize(void);
\r