summaryrefslogtreecommitdiff
path: root/gtk/gtktextbuffer.h
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2000-12-18 21:01:17 +0000
committerHavoc Pennington <hp@src.gnome.org>2000-12-18 21:01:17 +0000
commit00a6a1b219cab25dd06e812aea9c8d473fbb0134 (patch)
tree9edb79e1d3752a46956063678ea60146d7bf855c /gtk/gtktextbuffer.h
parentd788d9b05488b129d1f98fe1b1c77066b762a610 (diff)
downloadgtk+-00a6a1b219cab25dd06e812aea9c8d473fbb0134.tar.gz
do begin/end user action where appropriate (gtk_text_view_commit_handler):
2000-12-18 Havoc Pennington <hp@redhat.com> * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do begin/end user action where appropriate (gtk_text_view_commit_handler): add begin/end user action * gtk/gtktextbuffer.c: add begin/end user action signals, and bracket interactive operations with begin/end user action pair. * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove "interactive" arg from insert_text and delete_text signals. Add begin_user_action, end_user_action signals (gtk_text_buffer_begin_user_action): (gtk_text_buffer_end_user_action): New functions to delimit a user-visible action * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer signals.
Diffstat (limited to 'gtk/gtktextbuffer.h')
-rw-r--r--gtk/gtktextbuffer.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/gtk/gtktextbuffer.h b/gtk/gtktextbuffer.h
index b68b98ea8f..9265103bd2 100644
--- a/gtk/gtktextbuffer.h
+++ b/gtk/gtktextbuffer.h
@@ -65,6 +65,8 @@ struct _GtkTextBuffer
GtkTextBuffer *clipboard_contents;
GtkTextLogAttrCache *log_attr_cache;
+
+ guint user_action_count;
/* Whether the buffer has been modified since last save */
guint modified : 1;
@@ -77,14 +79,12 @@ struct _GtkTextBufferClass
void (* insert_text) (GtkTextBuffer *buffer,
GtkTextIter *pos,
const gchar *text,
- gint length,
- gboolean interactive);
+ gint length);
void (* delete_text) (GtkTextBuffer *buffer,
GtkTextIter *start,
- GtkTextIter *end,
- gboolean interactive);
+ GtkTextIter *end);
/* Only for text/widgets/pixbuf changed, marks/tags don't cause this
* to be emitted
@@ -113,6 +113,9 @@ struct _GtkTextBufferClass
const GtkTextIter *start_char,
const GtkTextIter *end_char);
+ /* Called at the start and end of an atomic user action */
+ void (* begin_user_action) (GtkTextBuffer *buffer);
+ void (* end_user_action) (GtkTextBuffer *buffer);
};
GType gtk_text_buffer_get_type (void) G_GNUC_CONST;
@@ -317,7 +320,11 @@ gboolean gtk_text_buffer_get_selection_bounds (GtkTextBuffer *buffer,
gboolean gtk_text_buffer_delete_selection (GtkTextBuffer *buffer,
gboolean interactive,
gboolean default_editable);
-
+
+/* Called to specify atomic user actions, used to implement undo */
+void gtk_text_buffer_begin_user_action (GtkTextBuffer *buffer);
+void gtk_text_buffer_end_user_action (GtkTextBuffer *buffer);
+
/* INTERNAL private stuff */
void _gtk_text_buffer_spew (GtkTextBuffer *buffer);