diff options
author | Havoc Pennington <hp@redhat.com> | 2000-12-18 21:01:17 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 2000-12-18 21:01:17 +0000 |
commit | 00a6a1b219cab25dd06e812aea9c8d473fbb0134 (patch) | |
tree | 9edb79e1d3752a46956063678ea60146d7bf855c /gtk/gtktextbuffer.h | |
parent | d788d9b05488b129d1f98fe1b1c77066b762a610 (diff) | |
download | gtk+-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.h | 17 |
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); |