]> Pileus Git - ~andy/gtk/commitdiff
Add marshallers for changed GtkTextBuffer signals.
authorHavoc Pennington <hp@pobox.com>
Thu, 31 Aug 2000 03:48:50 +0000 (03:48 +0000)
committerHavoc Pennington <hp@src.gnome.org>
Thu, 31 Aug 2000 03:48:50 +0000 (03:48 +0000)
2000-08-30  Havoc Pennington  <hp@pobox.com>

* gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
signals.

* gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
delete_text signals. This allows the signals to be used for
implementing undo.

* gtk/gtktextbuffer.c: Change signal handler signatures;
provide "interactive" argument when emitting insert_text or
delete_text signal.

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkmarshal.list
gtk/gtkmarshalers.list
gtk/gtktextbuffer.c
gtk/gtktextbuffer.h

index e38ea2d321a5e8841a4135ca476f7c0b92dbc0e2..69196ea59a889d28e9efcd3f5c2b2a931fbef783 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2000-08-30  Havoc Pennington  <hp@pobox.com>
+
+       * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
+       signals.
+
+       * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
+       delete_text signals. This allows the signals to be used for
+       implementing undo.
+
+       * gtk/gtktextbuffer.c: Change signal handler signatures; 
+       provide "interactive" argument when emitting insert_text or
+       delete_text signal.
+       
 2000-08-30  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtktextbuffer.c: Docs
index e38ea2d321a5e8841a4135ca476f7c0b92dbc0e2..69196ea59a889d28e9efcd3f5c2b2a931fbef783 100644 (file)
@@ -1,3 +1,16 @@
+2000-08-30  Havoc Pennington  <hp@pobox.com>
+
+       * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
+       signals.
+
+       * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
+       delete_text signals. This allows the signals to be used for
+       implementing undo.
+
+       * gtk/gtktextbuffer.c: Change signal handler signatures; 
+       provide "interactive" argument when emitting insert_text or
+       delete_text signal.
+       
 2000-08-30  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtktextbuffer.c: Docs
index e38ea2d321a5e8841a4135ca476f7c0b92dbc0e2..69196ea59a889d28e9efcd3f5c2b2a931fbef783 100644 (file)
@@ -1,3 +1,16 @@
+2000-08-30  Havoc Pennington  <hp@pobox.com>
+
+       * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
+       signals.
+
+       * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
+       delete_text signals. This allows the signals to be used for
+       implementing undo.
+
+       * gtk/gtktextbuffer.c: Change signal handler signatures; 
+       provide "interactive" argument when emitting insert_text or
+       delete_text signal.
+       
 2000-08-30  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtktextbuffer.c: Docs
index e38ea2d321a5e8841a4135ca476f7c0b92dbc0e2..69196ea59a889d28e9efcd3f5c2b2a931fbef783 100644 (file)
@@ -1,3 +1,16 @@
+2000-08-30  Havoc Pennington  <hp@pobox.com>
+
+       * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
+       signals.
+
+       * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
+       delete_text signals. This allows the signals to be used for
+       implementing undo.
+
+       * gtk/gtktextbuffer.c: Change signal handler signatures; 
+       provide "interactive" argument when emitting insert_text or
+       delete_text signal.
+       
 2000-08-30  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtktextbuffer.c: Docs
index e38ea2d321a5e8841a4135ca476f7c0b92dbc0e2..69196ea59a889d28e9efcd3f5c2b2a931fbef783 100644 (file)
@@ -1,3 +1,16 @@
+2000-08-30  Havoc Pennington  <hp@pobox.com>
+
+       * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
+       signals.
+
+       * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
+       delete_text signals. This allows the signals to be used for
+       implementing undo.
+
+       * gtk/gtktextbuffer.c: Change signal handler signatures; 
+       provide "interactive" argument when emitting insert_text or
+       delete_text signal.
+       
 2000-08-30  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtktextbuffer.c: Docs
index e38ea2d321a5e8841a4135ca476f7c0b92dbc0e2..69196ea59a889d28e9efcd3f5c2b2a931fbef783 100644 (file)
@@ -1,3 +1,16 @@
+2000-08-30  Havoc Pennington  <hp@pobox.com>
+
+       * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
+       signals.
+
+       * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
+       delete_text signals. This allows the signals to be used for
+       implementing undo.
+
+       * gtk/gtktextbuffer.c: Change signal handler signatures; 
+       provide "interactive" argument when emitting insert_text or
+       delete_text signal.
+       
 2000-08-30  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtktextbuffer.c: Docs
index e38ea2d321a5e8841a4135ca476f7c0b92dbc0e2..69196ea59a889d28e9efcd3f5c2b2a931fbef783 100644 (file)
@@ -1,3 +1,16 @@
+2000-08-30  Havoc Pennington  <hp@pobox.com>
+
+       * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
+       signals.
+
+       * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
+       delete_text signals. This allows the signals to be used for
+       implementing undo.
+
+       * gtk/gtktextbuffer.c: Change signal handler signatures; 
+       provide "interactive" argument when emitting insert_text or
+       delete_text signal.
+       
 2000-08-30  Havoc Pennington  <hp@pobox.com>
 
        * gtk/gtktextbuffer.c: Docs
index 4b3c0bea1b8862fab909e01ca344380c1afda8e8..b3c828308bc55abe6162900e89020111e8a98fa5 100644 (file)
@@ -37,4 +37,5 @@ NONE:UINT
 NONE:UINT,POINTER,UINT,ENUM,ENUM,POINTER
 NONE:UINT,POINTER,UINT,UINT,ENUM
 NONE:UINT,STRING
+NONE:POINTER,POINTER,INT,INT
 NONE:POINTER,POINTER,INT
index 4b3c0bea1b8862fab909e01ca344380c1afda8e8..b3c828308bc55abe6162900e89020111e8a98fa5 100644 (file)
@@ -37,4 +37,5 @@ NONE:UINT
 NONE:UINT,POINTER,UINT,ENUM,ENUM,POINTER
 NONE:UINT,POINTER,UINT,UINT,ENUM
 NONE:UINT,STRING
+NONE:POINTER,POINTER,INT,INT
 NONE:POINTER,POINTER,INT
index 53487c5e823baf4ad6dcc306a0e22a25f709cc9e..9869902154c28601dbf522f498637c2a6e3fa4e9 100644 (file)
@@ -48,10 +48,12 @@ static void gtk_text_buffer_update_clipboard_selection (GtkTextBuffer     *buffe
 static void gtk_text_buffer_real_insert_text           (GtkTextBuffer     *buffer,
                                                         GtkTextIter       *iter,
                                                         const gchar       *text,
-                                                        gint               len);
+                                                        gint               len,
+                                                        gboolean           interactive);
 static void gtk_text_buffer_real_delete_text           (GtkTextBuffer     *buffer,
                                                         GtkTextIter       *start,
-                                                        GtkTextIter       *end);
+                                                        GtkTextIter       *end,
+                                                        gboolean           interactive);
 static void gtk_text_buffer_real_apply_tag             (GtkTextBuffer     *buffer,
                                                         GtkTextTag        *tag,
                                                         const GtkTextIter *start_char,
@@ -114,23 +116,25 @@ gtk_text_buffer_class_init (GtkTextBufferClass *klass)
                     GTK_RUN_LAST,
                     GTK_CLASS_TYPE (object_class),
                     GTK_SIGNAL_OFFSET (GtkTextBufferClass, insert_text),
-                    gtk_marshal_NONE__POINTER_POINTER_INT,
+                    gtk_marshal_NONE__POINTER_POINTER_INT_INT,
                     GTK_TYPE_NONE,
-                    3,
+                    4,
                     GTK_TYPE_POINTER,
                     GTK_TYPE_POINTER,
-                    GTK_TYPE_INT);
+                    GTK_TYPE_INT,
+                    GTK_TYPE_BOOL);
 
   signals[DELETE_TEXT] =
     gtk_signal_new ("delete_text",
                     GTK_RUN_LAST,
                     GTK_CLASS_TYPE (object_class),
                     GTK_SIGNAL_OFFSET (GtkTextBufferClass, delete_text),
-                    gtk_marshal_NONE__POINTER_POINTER,
+                    gtk_marshal_NONE__POINTER_POINTER_INT,
                     GTK_TYPE_NONE,
-                    2,
+                    3,
                     GTK_TYPE_POINTER,
-                    GTK_TYPE_POINTER);
+                    GTK_TYPE_POINTER,
+                    GTK_TYPE_BOOL);
 
   signals[CHANGED] =
     gtk_signal_new ("changed",
@@ -379,7 +383,8 @@ static void
 gtk_text_buffer_real_insert_text(GtkTextBuffer *buffer,
                                  GtkTextIter *iter,
                                  const gchar *text,
-                                 gint len)
+                                 gint len,
+                                 gboolean interactive)
 {
   g_return_if_fail(GTK_IS_TEXT_BUFFER(buffer));
   g_return_if_fail(iter != NULL);
@@ -395,7 +400,8 @@ static void
 gtk_text_buffer_emit_insert(GtkTextBuffer *buffer,
                             GtkTextIter *iter,
                             const gchar *text,
-                            gint len)
+                            gint len,
+                            gboolean interactive)
 {
   g_return_if_fail(GTK_IS_TEXT_BUFFER(buffer));
   g_return_if_fail(iter != NULL);
@@ -407,7 +413,7 @@ gtk_text_buffer_emit_insert(GtkTextBuffer *buffer,
   if (len > 0)
     {
       gtk_signal_emit(GTK_OBJECT(buffer), signals[INSERT_TEXT],
-                      iter, text, len);
+                      iter, text, len, interactive);
     }
 }
 
@@ -437,7 +443,7 @@ gtk_text_buffer_insert (GtkTextBuffer *buffer,
   g_return_if_fail(iter != NULL);
   g_return_if_fail(text != NULL);
   
-  gtk_text_buffer_emit_insert(buffer, iter, text, len);
+  gtk_text_buffer_emit_insert(buffer, iter, text, len, FALSE);
 }
 
 /**
@@ -493,7 +499,7 @@ gtk_text_buffer_insert_interactive(GtkTextBuffer *buffer,
   
   if (gtk_text_iter_editable (iter, editable_by_default))
     {
-      gtk_text_buffer_insert (buffer, iter, text, len);
+      gtk_text_buffer_emit_insert (buffer, iter, text, len, TRUE);
       return TRUE;
     }
   else
@@ -538,7 +544,8 @@ gtk_text_buffer_insert_interactive_at_cursor (GtkTextBuffer *buffer,
 static void
 gtk_text_buffer_real_delete_text(GtkTextBuffer *buffer,
                                  GtkTextIter *start,
-                                 GtkTextIter *end)
+                                 GtkTextIter *end,
+                                 gboolean interactive)
 {
   g_return_if_fail(GTK_IS_TEXT_BUFFER(buffer));
   g_return_if_fail(start != NULL);
@@ -557,7 +564,8 @@ gtk_text_buffer_real_delete_text(GtkTextBuffer *buffer,
 static void
 gtk_text_buffer_emit_delete(GtkTextBuffer *buffer,
                             GtkTextIter *start,
-                            GtkTextIter *end)
+                            GtkTextIter *end,
+                            gboolean interactive)
 {
   g_return_if_fail(GTK_IS_TEXT_BUFFER(buffer));
   g_return_if_fail(start != NULL);
@@ -575,7 +583,8 @@ gtk_text_buffer_emit_delete(GtkTextBuffer *buffer,
   
   gtk_signal_emit(GTK_OBJECT(buffer),
                   signals[DELETE_TEXT],
-                  start, end);
+                  start, end,
+                  interactive);
 }
 
 /**
@@ -607,7 +616,7 @@ gtk_text_buffer_delete (GtkTextBuffer *buffer,
   g_return_if_fail(start != NULL);
   g_return_if_fail(end != NULL);
   
-  gtk_text_buffer_emit_delete(buffer, start, end);
+  gtk_text_buffer_emit_delete(buffer, start, end, FALSE);
 }
 
 /**
@@ -680,7 +689,7 @@ gtk_text_buffer_delete_interactive (GtkTextBuffer *buffer,
                   
                   gtk_text_buffer_get_iter_at_mark (buffer, &start, start_mark);
                   
-                  gtk_text_buffer_delete (buffer, &start, &iter);
+                  gtk_text_buffer_emit_delete (buffer, &start, &iter, TRUE);
                   
                   deleted_stuff = TRUE;
                 }
@@ -698,7 +707,7 @@ gtk_text_buffer_delete_interactive (GtkTextBuffer *buffer,
           
           gtk_text_buffer_get_iter_at_mark (buffer, &start, start_mark);
           
-          gtk_text_buffer_delete (buffer, &start, &iter);
+          gtk_text_buffer_emit_delete (buffer, &start, &iter, TRUE);
 
           current_state = FALSE;
           deleted_stuff = TRUE;
index cb1226dca4bad096c8b1b0688fae29f5b53a2e19..63a620c8d833d29bb569eb37110018af33b23efd 100644 (file)
@@ -52,12 +52,14 @@ struct _GtkTextBufferClass {
   void (* insert_text)     (GtkTextBuffer *buffer,
                             GtkTextIter *pos,
                             const gchar *text,
-                            gint length);
+                            gint length,
+                            gboolean interactive);
 
 
   void (* delete_text)     (GtkTextBuffer *buffer,
                             GtkTextIter *start,
-                            GtkTextIter *end);
+                            GtkTextIter *end,
+                            gboolean interactive);
 
   /* Only for text changed, marks/tags don't cause this
      to be emitted */