/usr/include/tcl8.4/tk-private/generic/tkUndo.h is in tk8.4-dev 8.4.20-8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | /*
* tkUndo.h --
*
* Declarations shared among the files that implement an undo
* stack.
*
* Copyright (c) 2002 Ludwig Callewaert.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*/
#ifndef _TKUNDO
#define _TKUNDO
#ifndef _TK
#include "tk.h"
#endif
#ifdef BUILD_tk
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLEXPORT
#endif
/* enum definining the types used in an undo stack */
typedef enum {
TK_UNDO_SEPARATOR, /* Marker */
TK_UNDO_ACTION /* Command */
} TkUndoAtomType;
/* struct defining the basic undo/redo stack element */
typedef struct TkUndoAtom {
TkUndoAtomType type; /* The type that will trigger the
* required action*/
Tcl_Obj * apply; /* Command to apply the action that was taken */
Tcl_Obj * revert; /* The command to undo the action */
struct TkUndoAtom * next; /* Pointer to the next element in the
* stack */
} TkUndoAtom;
/* struct defining the basic undo/redo stack element */
typedef struct TkUndoRedoStack {
TkUndoAtom * undoStack; /* The undo stack */
TkUndoAtom * redoStack; /* The redo stack */
Tcl_Interp * interp ; /* The interpreter in which to execute the revert and apply scripts */
int maxdepth;
int depth;
} TkUndoRedoStack;
/* basic functions */
EXTERN void TkUndoPushStack _ANSI_ARGS_((TkUndoAtom ** stack,
TkUndoAtom * elem));
EXTERN TkUndoAtom * TkUndoPopStack _ANSI_ARGS_((TkUndoAtom ** stack));
EXTERN int TkUndoInsertSeparator _ANSI_ARGS_((TkUndoAtom ** stack));
EXTERN void TkUndoClearStack _ANSI_ARGS_((TkUndoAtom ** stack));
/* functions working on an undo/redo stack */
EXTERN TkUndoRedoStack * TkUndoInitStack _ANSI_ARGS_((Tcl_Interp * interp,
int maxdepth));
EXTERN void TkUndoSetDepth _ANSI_ARGS_((TkUndoRedoStack * stack,
int maxdepth));
EXTERN void TkUndoClearStacks _ANSI_ARGS_((TkUndoRedoStack * stack));
EXTERN void TkUndoFreeStack _ANSI_ARGS_((TkUndoRedoStack * stack));
EXTERN void TkUndoInsertUndoSeparator _ANSI_ARGS_((TkUndoRedoStack * stack));
EXTERN void TkUndoPushAction _ANSI_ARGS_((TkUndoRedoStack * stack,
Tcl_DString * actionScript, Tcl_DString * revertScript));
EXTERN int TkUndoRevert _ANSI_ARGS_((TkUndoRedoStack * stack));
EXTERN int TkUndoApply _ANSI_ARGS_((TkUndoRedoStack * stack));
# undef TCL_STORAGE_CLASS
# define TCL_STORAGE_CLASS DLLIMPORT
#endif /* _TKUNDO */
|