]> Pileus Git - ~andy/gtk/commitdiff
add marshal function types.
authorJames Henstridge <james@daa.com.au>
Tue, 25 Sep 2001 01:12:08 +0000 (01:12 +0000)
committerJames Henstridge <jamesh@src.gnome.org>
Tue, 25 Sep 2001 01:12:08 +0000 (01:12 +0000)
2001-09-24  James Henstridge  <james@daa.com.au>

* gtk/gtkmarshal.list (VOID): add marshal function types.

* gtk/gtkctree.c (gtk_ctree_class_init): make arguments have type
GTK_TYPE_CTREE_NODE|G_SIGNAL_TYPE_STATIC_SCOPE rather than
GTK_TYPE_POINTER.
(gtk_ctree_node_get_type): implement boxed type for GtkCTreeNodes
with no-op copy/free functions.

* gtk/gtkctree.h (gtk_ctree_node_get_type): add prototype for
GtkCTreeNode get_type function.

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/gtkctree.c
gtk/gtkctree.h
gtk/gtkmarshal.list
gtk/gtkmarshalers.list

index 38dc70b5b7b814f8f01b3c165b1cc237c0a37786..ed0b5266ae2a0cd4b09a7fe8809177fc454ca206 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2001-09-24  James Henstridge  <james@daa.com.au>
+
+       * gtk/gtkmarshal.list (VOID): add marshal function types.
+
+       * gtk/gtkctree.c (gtk_ctree_class_init): make arguments have type
+       GTK_TYPE_CTREE_NODE|G_SIGNAL_TYPE_STATIC_SCOPE rather than
+       GTK_TYPE_POINTER.
+       (gtk_ctree_node_get_type): implement boxed type for GtkCTreeNodes
+       with no-op copy/free functions.
+
+       * gtk/gtkctree.h (gtk_ctree_node_get_type): add prototype for
+       GtkCTreeNode get_type function.
+
 2001-09-24  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextiter.c, gtk/gtktextbuffer.c, gtk/gtktextbtree.c,
index 38dc70b5b7b814f8f01b3c165b1cc237c0a37786..ed0b5266ae2a0cd4b09a7fe8809177fc454ca206 100644 (file)
@@ -1,3 +1,16 @@
+2001-09-24  James Henstridge  <james@daa.com.au>
+
+       * gtk/gtkmarshal.list (VOID): add marshal function types.
+
+       * gtk/gtkctree.c (gtk_ctree_class_init): make arguments have type
+       GTK_TYPE_CTREE_NODE|G_SIGNAL_TYPE_STATIC_SCOPE rather than
+       GTK_TYPE_POINTER.
+       (gtk_ctree_node_get_type): implement boxed type for GtkCTreeNodes
+       with no-op copy/free functions.
+
+       * gtk/gtkctree.h (gtk_ctree_node_get_type): add prototype for
+       GtkCTreeNode get_type function.
+
 2001-09-24  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextiter.c, gtk/gtktextbuffer.c, gtk/gtktextbtree.c,
index 38dc70b5b7b814f8f01b3c165b1cc237c0a37786..ed0b5266ae2a0cd4b09a7fe8809177fc454ca206 100644 (file)
@@ -1,3 +1,16 @@
+2001-09-24  James Henstridge  <james@daa.com.au>
+
+       * gtk/gtkmarshal.list (VOID): add marshal function types.
+
+       * gtk/gtkctree.c (gtk_ctree_class_init): make arguments have type
+       GTK_TYPE_CTREE_NODE|G_SIGNAL_TYPE_STATIC_SCOPE rather than
+       GTK_TYPE_POINTER.
+       (gtk_ctree_node_get_type): implement boxed type for GtkCTreeNodes
+       with no-op copy/free functions.
+
+       * gtk/gtkctree.h (gtk_ctree_node_get_type): add prototype for
+       GtkCTreeNode get_type function.
+
 2001-09-24  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextiter.c, gtk/gtktextbuffer.c, gtk/gtktextbtree.c,
index 38dc70b5b7b814f8f01b3c165b1cc237c0a37786..ed0b5266ae2a0cd4b09a7fe8809177fc454ca206 100644 (file)
@@ -1,3 +1,16 @@
+2001-09-24  James Henstridge  <james@daa.com.au>
+
+       * gtk/gtkmarshal.list (VOID): add marshal function types.
+
+       * gtk/gtkctree.c (gtk_ctree_class_init): make arguments have type
+       GTK_TYPE_CTREE_NODE|G_SIGNAL_TYPE_STATIC_SCOPE rather than
+       GTK_TYPE_POINTER.
+       (gtk_ctree_node_get_type): implement boxed type for GtkCTreeNodes
+       with no-op copy/free functions.
+
+       * gtk/gtkctree.h (gtk_ctree_node_get_type): add prototype for
+       GtkCTreeNode get_type function.
+
 2001-09-24  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextiter.c, gtk/gtktextbuffer.c, gtk/gtktextbtree.c,
index 38dc70b5b7b814f8f01b3c165b1cc237c0a37786..ed0b5266ae2a0cd4b09a7fe8809177fc454ca206 100644 (file)
@@ -1,3 +1,16 @@
+2001-09-24  James Henstridge  <james@daa.com.au>
+
+       * gtk/gtkmarshal.list (VOID): add marshal function types.
+
+       * gtk/gtkctree.c (gtk_ctree_class_init): make arguments have type
+       GTK_TYPE_CTREE_NODE|G_SIGNAL_TYPE_STATIC_SCOPE rather than
+       GTK_TYPE_POINTER.
+       (gtk_ctree_node_get_type): implement boxed type for GtkCTreeNodes
+       with no-op copy/free functions.
+
+       * gtk/gtkctree.h (gtk_ctree_node_get_type): add prototype for
+       GtkCTreeNode get_type function.
+
 2001-09-24  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextiter.c, gtk/gtktextbuffer.c, gtk/gtktextbtree.c,
index 38dc70b5b7b814f8f01b3c165b1cc237c0a37786..ed0b5266ae2a0cd4b09a7fe8809177fc454ca206 100644 (file)
@@ -1,3 +1,16 @@
+2001-09-24  James Henstridge  <james@daa.com.au>
+
+       * gtk/gtkmarshal.list (VOID): add marshal function types.
+
+       * gtk/gtkctree.c (gtk_ctree_class_init): make arguments have type
+       GTK_TYPE_CTREE_NODE|G_SIGNAL_TYPE_STATIC_SCOPE rather than
+       GTK_TYPE_POINTER.
+       (gtk_ctree_node_get_type): implement boxed type for GtkCTreeNodes
+       with no-op copy/free functions.
+
+       * gtk/gtkctree.h (gtk_ctree_node_get_type): add prototype for
+       GtkCTreeNode get_type function.
+
 2001-09-24  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextiter.c, gtk/gtktextbuffer.c, gtk/gtktextbtree.c,
index 38dc70b5b7b814f8f01b3c165b1cc237c0a37786..ed0b5266ae2a0cd4b09a7fe8809177fc454ca206 100644 (file)
@@ -1,3 +1,16 @@
+2001-09-24  James Henstridge  <james@daa.com.au>
+
+       * gtk/gtkmarshal.list (VOID): add marshal function types.
+
+       * gtk/gtkctree.c (gtk_ctree_class_init): make arguments have type
+       GTK_TYPE_CTREE_NODE|G_SIGNAL_TYPE_STATIC_SCOPE rather than
+       GTK_TYPE_POINTER.
+       (gtk_ctree_node_get_type): implement boxed type for GtkCTreeNodes
+       with no-op copy/free functions.
+
+       * gtk/gtkctree.h (gtk_ctree_node_get_type): add prototype for
+       GtkCTreeNode get_type function.
+
 2001-09-24  Havoc Pennington  <hp@redhat.com>
 
        * gtk/gtktextiter.c, gtk/gtktextbuffer.c, gtk/gtktextbtree.c,
index c250eeaba51c9dc6bd6446b807d09ee5a2b7fa61..1fac2ce5cbbe4dc4177a2a8561fb189f6c82e5c4 100644 (file)
@@ -432,37 +432,45 @@ gtk_ctree_class_init (GtkCTreeClass *klass)
                    GTK_RUN_FIRST,
                    GTK_CLASS_TYPE (object_class),
                    GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_select_row),
-                   gtk_marshal_VOID__POINTER_INT,
-                   GTK_TYPE_NONE, 2, GTK_TYPE_POINTER, GTK_TYPE_INT);
+                   gtk_marshal_VOID__BOXED_INT,
+                   GTK_TYPE_NONE, 2,
+                   GTK_TYPE_CTREE_NODE | G_SIGNAL_TYPE_STATIC_SCOPE,
+                   GTK_TYPE_INT);
   ctree_signals[TREE_UNSELECT_ROW] =
     gtk_signal_new ("tree_unselect_row",
                    GTK_RUN_FIRST,
                    GTK_CLASS_TYPE (object_class),
                    GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_unselect_row),
-                   gtk_marshal_VOID__POINTER_INT,
-                   GTK_TYPE_NONE, 2, GTK_TYPE_POINTER, GTK_TYPE_INT);
+                   gtk_marshal_VOID__BOXED_INT,
+                   GTK_TYPE_NONE, 2,
+                   GTK_TYPE_CTREE_NODE | G_SIGNAL_TYPE_STATIC_SCOPE,
+                   GTK_TYPE_INT);
   ctree_signals[TREE_EXPAND] =
     gtk_signal_new ("tree_expand",
                    GTK_RUN_LAST,
                    GTK_CLASS_TYPE (object_class),
                    GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_expand),
-                   gtk_marshal_VOID__POINTER,
-                   GTK_TYPE_NONE, 1, GTK_TYPE_POINTER);
+                   gtk_marshal_VOID__BOXED,
+                   GTK_TYPE_NONE, 1,
+                   GTK_TYPE_CTREE_NODE | G_SIGNAL_TYPE_STATIC_SCOPE);
   ctree_signals[TREE_COLLAPSE] =
     gtk_signal_new ("tree_collapse",
                    GTK_RUN_LAST,
                    GTK_CLASS_TYPE (object_class),
                    GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_collapse),
-                   gtk_marshal_VOID__POINTER,
-                   GTK_TYPE_NONE, 1, GTK_TYPE_POINTER);
+                   gtk_marshal_VOID__BOXED,
+                   GTK_TYPE_NONE, 1,
+                   GTK_TYPE_CTREE_NODE | G_SIGNAL_TYPE_STATIC_SCOPE);
   ctree_signals[TREE_MOVE] =
     gtk_signal_new ("tree_move",
                    GTK_RUN_LAST,
                    GTK_CLASS_TYPE (object_class),
                    GTK_SIGNAL_OFFSET (GtkCTreeClass, tree_move),
-                   gtk_marshal_VOID__POINTER_POINTER_POINTER,
-                   GTK_TYPE_NONE, 3, GTK_TYPE_POINTER,
-                   GTK_TYPE_POINTER, GTK_TYPE_POINTER);
+                   gtk_marshal_VOID__BOXED_BOXED_BOXED,
+                   GTK_TYPE_NONE, 3,
+                   GTK_TYPE_CTREE_NODE | G_SIGNAL_TYPE_STATIC_SCOPE,
+                   GTK_TYPE_CTREE_NODE | G_SIGNAL_TYPE_STATIC_SCOPE,
+                   GTK_TYPE_CTREE_NODE | G_SIGNAL_TYPE_STATIC_SCOPE);
   ctree_signals[CHANGE_FOCUS_ROW_EXPANSION] =
     gtk_signal_new ("change_focus_row_expansion",
                    GTK_RUN_LAST | GTK_RUN_ACTION,
@@ -6116,3 +6124,31 @@ gtk_ctree_drag_data_received (GtkWidget        *widget,
        }
     }
 }
+
+/* dummy boxed type definition, used so that the GtkCTreeNode signal
+ * arguments have a reasonable type.
+ */
+gpointer
+ctree_node_copy (gpointer boxed)
+{
+  return boxed;
+}
+
+void
+ctree_node_free (gpointer boxed)
+{
+  /* nothing */
+}
+
+GType
+gtk_ctree_node_get_type (void)
+{
+  static GType our_type = 0;
+  
+  if (our_type == 0)
+    our_type = g_boxed_type_register_static ("GtkCTreeNode",
+                                             (GBoxedCopyFunc)ctree_node_copy,
+                                             (GBoxedFreeFunc)ctree_node_free);
+
+  return our_type;
+}
index 6763ea9f1efefbf6cae5194250a8c60a2308faff..5f5594ba6edc2f85229384a2d54372b117ecb18a 100644 (file)
@@ -52,6 +52,8 @@ extern "C" {
 #define GTK_CTREE_NODE_PREV(_pnode_) ((GtkCTreeNode *)(((GList *)(_pnode_))->prev))
 #define GTK_CTREE_FUNC(_func_) ((GtkCTreeFunc)(_func_))
 
+#define GTK_TYPE_CTREE_NODE (gtk_ctree_node_get_type ())
+
 typedef enum
 {
   GTK_CTREE_POS_BEFORE,
@@ -432,6 +434,12 @@ void gtk_ctree_sort_recursive                    (GtkCTree     *ctree,
 
 #define gtk_ctree_set_reorderable(t,r)                    gtk_clist_set_reorderable((GtkCList*) (t),(r))
 
+/* GType for the GtkCTreeNode.  This is a boxed type, although it uses
+ * no-op's for the copy and free routines.  It is defined in order to
+ * provide type information for the signal arguments
+ */
+GType   gtk_ctree_node_get_type                  (void) G_GNUC_CONST;
+
 #ifdef __cplusplus
 }
 #endif                         /* __cplusplus */
index cf1dcf1351c0e95f03702a0d72ab0d6527d6c666..186140fbaa6a31cc54416a210db572bded0d3df2 100644 (file)
@@ -43,10 +43,12 @@ VOID:BOOLEAN
 VOID:BOOLEAN,BOOLEAN,BOOLEAN
 VOID:BOXED
 VOID:BOXED,BOXED
+VOID:BOXED,BOXED,BOXED
 VOID:BOXED,BOXED,POINTER
 VOID:BOXED,POINTER
 VOID:BOXED,OBJECT
 VOID:BOXED,STRING,INT
+VOID:BOXED,INT
 VOID:BOXED,UINT
 VOID:BOXED,UINT,FLAGS
 VOID:BOXED,UINT,UINT
index cf1dcf1351c0e95f03702a0d72ab0d6527d6c666..186140fbaa6a31cc54416a210db572bded0d3df2 100644 (file)
@@ -43,10 +43,12 @@ VOID:BOOLEAN
 VOID:BOOLEAN,BOOLEAN,BOOLEAN
 VOID:BOXED
 VOID:BOXED,BOXED
+VOID:BOXED,BOXED,BOXED
 VOID:BOXED,BOXED,POINTER
 VOID:BOXED,POINTER
 VOID:BOXED,OBJECT
 VOID:BOXED,STRING,INT
+VOID:BOXED,INT
 VOID:BOXED,UINT
 VOID:BOXED,UINT,FLAGS
 VOID:BOXED,UINT,UINT