transfer from internal tree r5311 branches/1.4-gpl
[xonotic/netradiant.git] / radiant / undo.h
1 /*\r
2 Copyright (C) 1999-2007 id Software, Inc. and contributors.\r
3 For a list of contributors, see the accompanying CONTRIBUTORS file.\r
4 \r
5 This file is part of GtkRadiant.\r
6 \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
11 \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
16 \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
20 */\r
21 \r
22 //\r
23 //\r
24 // QERadiant Multilevel Undo/Redo\r
25 //\r
26 // \r
27 \r
28 //start operation\r
29 void Undo_Start(char *operation);\r
30 //end 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
66 \r