1 /* 2 * Copyright (C) 1998, 1999 Alex Roberts, Evan Lawrence 3 * Copyright (C) 2000, 2001 Chema Celorio, Paolo Maggi 4 * Copyright (C) 2002, 2003 Paolo Maggi 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 */ 20 21 #ifndef CHROME_BROWSER_AUTOCOMPLETE_UNDO_MANAGER_H_ 22 #define CHROME_BROWSER_AUTOCOMPLETE_UNDO_MANAGER_H_ 23 24 #include <gtk/gtk.h> 25 26 G_BEGIN_DECLS 27 28 #define GTK_SOURCE_TYPE_UNDO_MANAGER (gtk_source_undo_manager_get_type()) 29 30 #define GTK_SOURCE_UNDO_MANAGER(obj) \ 31 (G_TYPE_CHECK_INSTANCE_CAST((obj), GTK_SOURCE_TYPE_UNDO_MANAGER, GtkSourceUndoManager)) 32 33 #define GTK_SOURCE_UNDO_MANAGER_CLASS(klass) \ 34 (G_TYPE_CHECK_CLASS_CAST((klass), GTK_SOURCE_TYPE_UNDO_MANAGER, GtkSourceUndoManagerClass)) 35 36 #define GTK_SOURCE_IS_UNDO_MANAGER(obj) \ 37 (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTK_SOURCE_TYPE_UNDO_MANAGER)) 38 39 #define GTK_SOURCE_IS_UNDO_MANAGER_CLASS(klass) \ 40 (G_TYPE_CHECK_CLASS_TYPE((klass), GTK_SOURCE_TYPE_UNDO_MANAGER)) 41 42 #define GTK_SOURCE_UNDO_MANAGER_GET_CLASS(obj) \ 43 (G_TYPE_INSTANCE_GET_CLASS((obj), GTK_SOURCE_TYPE_UNDO_MANAGER, GtkSourceUndoManagerClass)) 44 45 typedef struct _GtkSourceUndoManager GtkSourceUndoManager; 46 typedef struct _GtkSourceUndoManagerClass GtkSourceUndoManagerClass; 47 48 typedef struct _GtkSourceUndoManagerPrivate GtkSourceUndoManagerPrivate; 49 50 struct _GtkSourceUndoManager 51 { 52 GObject base; 53 54 GtkSourceUndoManagerPrivate *priv; 55 }; 56 57 struct _GtkSourceUndoManagerClass 58 { 59 GObjectClass parent_class; 60 61 /* Signals */ 62 void ( *can_undo ) ( GtkSourceUndoManager *um, gboolean can_undo ); 63 void ( *can_redo ) ( GtkSourceUndoManager *um, gboolean can_redo ); 64 }; 65 66 GType gtk_source_undo_manager_get_type ( void ) G_GNUC_CONST; 67 68 GtkSourceUndoManager* gtk_source_undo_manager_new ( GtkTextBuffer *buffer ); 69 70 gboolean gtk_source_undo_manager_can_undo ( const GtkSourceUndoManager *um ); 71 gboolean gtk_source_undo_manager_can_redo ( const GtkSourceUndoManager *um ); 72 73 void gtk_source_undo_manager_undo ( GtkSourceUndoManager *um ); 74 void gtk_source_undo_manager_redo ( GtkSourceUndoManager *um ); 75 76 void gtk_source_undo_manager_begin_not_undoable_action ( GtkSourceUndoManager *um ); 77 void gtk_source_undo_manager_end_not_undoable_action ( GtkSourceUndoManager *um ); 78 79 gint gtk_source_undo_manager_get_max_undo_levels ( GtkSourceUndoManager *um ); 80 void gtk_source_undo_manager_set_max_undo_levels ( GtkSourceUndoManager *um, 81 gint undo_levels ); 82 83 G_END_DECLS 84 85 #endif // CHROME_BROWSER_AUTOCOMPLETE_UNDO_MANAGER_H_ 86 87