use the new BOXED marshallers.

Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
	BOXED marshallers.

	* gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
	(gtk_list_store_class_init): use the new BOXED marshallers.

	* gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
	new_with_values to new_with_types.
	(gtk_tree_store_get_column_type): add this.
	(gtk_tree_store_class_init): use the new BOXED marshallers.

	* gtk/gtkmarshal.list: Added a number of BOXED marshallers to
	mirror some POINTER marshallers.
This commit is contained in:
Jonathan Blandford
2000-11-10 19:38:53 +00:00
committed by Jonathan Blandford
parent c97d57ebb8
commit f8faec4574
18 changed files with 359 additions and 158 deletions

View File

@ -1,3 +1,19 @@
Fri Nov 10 12:10:34 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
BOXED marshallers.
* gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
(gtk_list_store_class_init): use the new BOXED marshallers.
* gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
new_with_values to new_with_types.
(gtk_tree_store_get_column_type): add this.
(gtk_tree_store_class_init): use the new BOXED marshallers.
* gtk/gtkmarshal.list: Added a number of BOXED marshallers to
mirror some POINTER marshallers.
Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com> Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to

View File

@ -1,3 +1,19 @@
Fri Nov 10 12:10:34 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
BOXED marshallers.
* gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
(gtk_list_store_class_init): use the new BOXED marshallers.
* gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
new_with_values to new_with_types.
(gtk_tree_store_get_column_type): add this.
(gtk_tree_store_class_init): use the new BOXED marshallers.
* gtk/gtkmarshal.list: Added a number of BOXED marshallers to
mirror some POINTER marshallers.
Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com> Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to

View File

@ -1,3 +1,19 @@
Fri Nov 10 12:10:34 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
BOXED marshallers.
* gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
(gtk_list_store_class_init): use the new BOXED marshallers.
* gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
new_with_values to new_with_types.
(gtk_tree_store_get_column_type): add this.
(gtk_tree_store_class_init): use the new BOXED marshallers.
* gtk/gtkmarshal.list: Added a number of BOXED marshallers to
mirror some POINTER marshallers.
Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com> Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to

View File

@ -1,3 +1,19 @@
Fri Nov 10 12:10:34 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
BOXED marshallers.
* gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
(gtk_list_store_class_init): use the new BOXED marshallers.
* gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
new_with_values to new_with_types.
(gtk_tree_store_get_column_type): add this.
(gtk_tree_store_class_init): use the new BOXED marshallers.
* gtk/gtkmarshal.list: Added a number of BOXED marshallers to
mirror some POINTER marshallers.
Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com> Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to

View File

@ -1,3 +1,19 @@
Fri Nov 10 12:10:34 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
BOXED marshallers.
* gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
(gtk_list_store_class_init): use the new BOXED marshallers.
* gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
new_with_values to new_with_types.
(gtk_tree_store_get_column_type): add this.
(gtk_tree_store_class_init): use the new BOXED marshallers.
* gtk/gtkmarshal.list: Added a number of BOXED marshallers to
mirror some POINTER marshallers.
Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com> Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to

View File

@ -1,3 +1,19 @@
Fri Nov 10 12:10:34 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
BOXED marshallers.
* gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
(gtk_list_store_class_init): use the new BOXED marshallers.
* gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
new_with_values to new_with_types.
(gtk_tree_store_get_column_type): add this.
(gtk_tree_store_class_init): use the new BOXED marshallers.
* gtk/gtkmarshal.list: Added a number of BOXED marshallers to
mirror some POINTER marshallers.
Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com> Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to

View File

@ -1,3 +1,19 @@
Fri Nov 10 12:10:34 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
BOXED marshallers.
* gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
(gtk_list_store_class_init): use the new BOXED marshallers.
* gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
new_with_values to new_with_types.
(gtk_tree_store_get_column_type): add this.
(gtk_tree_store_class_init): use the new BOXED marshallers.
* gtk/gtkmarshal.list: Added a number of BOXED marshallers to
mirror some POINTER marshallers.
Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com> Thu Nov 9 11:23:22 2000 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to

View File

@ -299,7 +299,7 @@ create_tree (void)
GtkTreeIter iter; GtkTreeIter iter;
gint i; gint i;
model = gtk_tree_store_new_with_values (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_BOOLEAN); model = gtk_tree_store_new_with_types (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_BOOLEAN);
tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model)); tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));

View File

@ -299,7 +299,7 @@ create_tree (void)
GtkTreeIter iter; GtkTreeIter iter;
gint i; gint i;
model = gtk_tree_store_new_with_values (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_BOOLEAN); model = gtk_tree_store_new_with_types (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_BOOLEAN);
tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model)); tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view)); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));

View File

@ -40,6 +40,8 @@ static void gtk_list_store_class_init (GtkListStoreClass *class);
static void gtk_list_store_tree_model_init (GtkTreeModelIface *iface); static void gtk_list_store_tree_model_init (GtkTreeModelIface *iface);
static guint gtk_list_store_get_flags (GtkTreeModel *tree_model); static guint gtk_list_store_get_flags (GtkTreeModel *tree_model);
static gint gtk_list_store_get_n_columns (GtkTreeModel *tree_model); static gint gtk_list_store_get_n_columns (GtkTreeModel *tree_model);
static GType gtk_list_store_get_column_type (GtkTreeModel *tree_model,
gint index);
static gboolean gtk_list_store_get_iter (GtkTreeModel *tree_model, static gboolean gtk_list_store_get_iter (GtkTreeModel *tree_model,
GtkTreeIter *iter, GtkTreeIter *iter,
GtkTreePath *path); GtkTreePath *path);
@ -115,36 +117,36 @@ gtk_list_store_class_init (GtkListStoreClass *class)
GTK_RUN_FIRST, GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkListStoreClass, changed), GTK_SIGNAL_OFFSET (GtkListStoreClass, changed),
gtk_marshal_VOID__POINTER_POINTER, gtk_marshal_VOID__BOXED_BOXED,
GTK_TYPE_NONE, 2, G_TYPE_NONE, 2,
GTK_TYPE_POINTER, GTK_TYPE_TREE_PATH,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
list_store_signals[INSERTED] = list_store_signals[INSERTED] =
gtk_signal_new ("inserted", gtk_signal_new ("inserted",
GTK_RUN_FIRST, GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkListStoreClass, inserted), GTK_SIGNAL_OFFSET (GtkListStoreClass, inserted),
gtk_marshal_VOID__POINTER_POINTER, gtk_marshal_VOID__BOXED_BOXED,
GTK_TYPE_NONE, 2, G_TYPE_NONE, 2,
GTK_TYPE_POINTER, GTK_TYPE_TREE_PATH,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
list_store_signals[CHILD_TOGGLED] = list_store_signals[CHILD_TOGGLED] =
gtk_signal_new ("child_toggled", gtk_signal_new ("child_toggled",
GTK_RUN_FIRST, GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkListStoreClass, child_toggled), GTK_SIGNAL_OFFSET (GtkListStoreClass, child_toggled),
gtk_marshal_VOID__POINTER_POINTER, gtk_marshal_VOID__BOXED_BOXED,
GTK_TYPE_NONE, 2, G_TYPE_NONE, 2,
GTK_TYPE_POINTER, GTK_TYPE_TREE_PATH,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
list_store_signals[DELETED] = list_store_signals[DELETED] =
gtk_signal_new ("deleted", gtk_signal_new ("deleted",
GTK_RUN_FIRST, GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkListStoreClass, deleted), GTK_SIGNAL_OFFSET (GtkListStoreClass, deleted),
gtk_marshal_VOID__POINTER, gtk_marshal_VOID__BOXED,
GTK_TYPE_NONE, 1, G_TYPE_NONE, 1,
GTK_TYPE_POINTER); GTK_TYPE_TREE_PATH);
gtk_object_class_add_signals (object_class, list_store_signals, LAST_SIGNAL); gtk_object_class_add_signals (object_class, list_store_signals, LAST_SIGNAL);
@ -155,6 +157,7 @@ gtk_list_store_tree_model_init (GtkTreeModelIface *iface)
{ {
iface->get_flags = gtk_list_store_get_flags; iface->get_flags = gtk_list_store_get_flags;
iface->get_n_columns = gtk_list_store_get_n_columns; iface->get_n_columns = gtk_list_store_get_n_columns;
iface->get_column_type = gtk_list_store_get_column_type;
iface->get_iter = gtk_list_store_get_iter; iface->get_iter = gtk_list_store_get_iter;
iface->get_path = gtk_list_store_get_path; iface->get_path = gtk_list_store_get_path;
iface->get_value = gtk_list_store_get_value; iface->get_value = gtk_list_store_get_value;
@ -260,6 +263,17 @@ gtk_list_store_get_n_columns (GtkTreeModel *tree_model)
return GTK_LIST_STORE (tree_model)->n_columns; return GTK_LIST_STORE (tree_model)->n_columns;
} }
static GType
gtk_list_store_get_column_type (GtkTreeModel *tree_model,
gint index)
{
g_return_val_if_fail (GTK_IS_LIST_STORE (tree_model), G_TYPE_INVALID);
g_return_val_if_fail (index < GTK_LIST_STORE (tree_model)->n_columns &&
index >= 0, G_TYPE_INVALID);
return GTK_LIST_STORE (tree_model)->column_headers[index];
}
static gboolean static gboolean
gtk_list_store_get_iter (GtkTreeModel *tree_model, gtk_list_store_get_iter (GtkTreeModel *tree_model,
GtkTreeIter *iter, GtkTreeIter *iter,
@ -643,7 +657,6 @@ gtk_list_store_append (GtkListStore *list_store,
g_return_if_fail (list_store != NULL); g_return_if_fail (list_store != NULL);
g_return_if_fail (GTK_IS_LIST_STORE (list_store)); g_return_if_fail (GTK_IS_LIST_STORE (list_store));
g_return_if_fail (iter != NULL); g_return_if_fail (iter != NULL);
g_return_if_fail (G_SLIST (iter)->next == NULL);
iter->stamp = list_store->stamp; iter->stamp = list_store->stamp;
iter->tree_node = g_slist_alloc (); iter->tree_node = g_slist_alloc ();

View File

@ -21,6 +21,9 @@
# NONE deprecated alias for VOID # NONE deprecated alias for VOID
# BOOL deprecated alias for BOOLEAN # BOOL deprecated alias for BOOLEAN
BOOLEAN:BOXED
BOOLEAN:BOXED,BOXED
BOOLEAN:BOXED,BOXED,INT
BOOLEAN:POINTER BOOLEAN:POINTER
BOOLEAN:POINTER,POINTER BOOLEAN:POINTER,POINTER
BOOLEAN:POINTER,INT,INT BOOLEAN:POINTER,INT,INT
@ -29,8 +32,10 @@ BOOLEAN:POINTER,POINTER,INT
BOOLEAN:POINTER,POINTER,INT,INT BOOLEAN:POINTER,POINTER,INT,INT
BOOLEAN:POINTER,STRING,STRING,POINTER BOOLEAN:POINTER,STRING,STRING,POINTER
BOOLEAN:VOID BOOLEAN:VOID
BOXED:BOXED
ENUM:ENUM ENUM:ENUM
INT:INT INT:INT
INT:BOXED
INT:OBJECT,BOXED,BOXED INT:OBJECT,BOXED,BOXED
INT:POINTER INT:POINTER
INT:POINTER,CHAR,CHAR INT:POINTER,CHAR,CHAR
@ -40,9 +45,11 @@ POINTER:POINTER,INT
POINTER:VOID POINTER:VOID
VOID:BOOLEAN VOID:BOOLEAN
VOID:BOXED VOID:BOXED
VOID:BOXED,OBJECT VOID:BOXED,BOXED
VOID:BOXED,BOXED,BOOLEAN VOID:BOXED,BOXED,BOOLEAN
VOID:BOXED,BOXED,INT,BOOLEAN VOID:BOXED,BOXED,INT,BOOLEAN
VOID:BOXED,INT,POINTER
VOID:BOXED,OBJECT
VOID:BOXED,UINT,FLAGS VOID:BOXED,UINT,FLAGS
VOID:ENUM VOID:ENUM
VOID:ENUM,FLOAT VOID:ENUM,FLOAT
@ -63,7 +70,6 @@ VOID:POINTER,BOOLEAN
VOID:POINTER,INT VOID:POINTER,INT
VOID:POINTER,INT,INT,POINTER,UINT,UINT VOID:POINTER,INT,INT,POINTER,UINT,UINT
VOID:POINTER,INT,POINTER VOID:POINTER,INT,POINTER
VOID:POINTER,POINTER
VOID:POINTER,POINTER,BOOLEAN VOID:POINTER,POINTER,BOOLEAN
VOID:POINTER,POINTER,INT VOID:POINTER,POINTER,INT
VOID:POINTER,POINTER,INT,BOOLEAN VOID:POINTER,POINTER,INT,BOOLEAN

View File

@ -21,6 +21,9 @@
# NONE deprecated alias for VOID # NONE deprecated alias for VOID
# BOOL deprecated alias for BOOLEAN # BOOL deprecated alias for BOOLEAN
BOOLEAN:BOXED
BOOLEAN:BOXED,BOXED
BOOLEAN:BOXED,BOXED,INT
BOOLEAN:POINTER BOOLEAN:POINTER
BOOLEAN:POINTER,POINTER BOOLEAN:POINTER,POINTER
BOOLEAN:POINTER,INT,INT BOOLEAN:POINTER,INT,INT
@ -29,8 +32,10 @@ BOOLEAN:POINTER,POINTER,INT
BOOLEAN:POINTER,POINTER,INT,INT BOOLEAN:POINTER,POINTER,INT,INT
BOOLEAN:POINTER,STRING,STRING,POINTER BOOLEAN:POINTER,STRING,STRING,POINTER
BOOLEAN:VOID BOOLEAN:VOID
BOXED:BOXED
ENUM:ENUM ENUM:ENUM
INT:INT INT:INT
INT:BOXED
INT:OBJECT,BOXED,BOXED INT:OBJECT,BOXED,BOXED
INT:POINTER INT:POINTER
INT:POINTER,CHAR,CHAR INT:POINTER,CHAR,CHAR
@ -40,9 +45,11 @@ POINTER:POINTER,INT
POINTER:VOID POINTER:VOID
VOID:BOOLEAN VOID:BOOLEAN
VOID:BOXED VOID:BOXED
VOID:BOXED,OBJECT VOID:BOXED,BOXED
VOID:BOXED,BOXED,BOOLEAN VOID:BOXED,BOXED,BOOLEAN
VOID:BOXED,BOXED,INT,BOOLEAN VOID:BOXED,BOXED,INT,BOOLEAN
VOID:BOXED,INT,POINTER
VOID:BOXED,OBJECT
VOID:BOXED,UINT,FLAGS VOID:BOXED,UINT,FLAGS
VOID:ENUM VOID:ENUM
VOID:ENUM,FLOAT VOID:ENUM,FLOAT
@ -63,7 +70,6 @@ VOID:POINTER,BOOLEAN
VOID:POINTER,INT VOID:POINTER,INT
VOID:POINTER,INT,INT,POINTER,UINT,UINT VOID:POINTER,INT,INT,POINTER,UINT,UINT
VOID:POINTER,INT,POINTER VOID:POINTER,INT,POINTER
VOID:POINTER,POINTER
VOID:POINTER,POINTER,BOOLEAN VOID:POINTER,POINTER,BOOLEAN
VOID:POINTER,POINTER,INT VOID:POINTER,POINTER,INT
VOID:POINTER,POINTER,INT,BOOLEAN VOID:POINTER,POINTER,INT,BOOLEAN

View File

@ -135,36 +135,36 @@ gtk_model_simple_class_init (GtkModelSimpleClass *class)
GTK_RUN_FIRST, GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkModelSimpleClass, changed), GTK_SIGNAL_OFFSET (GtkModelSimpleClass, changed),
gtk_marshal_VOID__POINTER_POINTER, gtk_marshal_VOID__BOXED_BOXED,
GTK_TYPE_NONE, 2, G_TYPE_NONE, 2,
GTK_TYPE_POINTER, GTK_TYPE_TREE_PATH,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
model_simple_signals[INSERTED] = model_simple_signals[INSERTED] =
gtk_signal_new ("inserted", gtk_signal_new ("inserted",
GTK_RUN_FIRST, GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkModelSimpleClass, inserted), GTK_SIGNAL_OFFSET (GtkModelSimpleClass, inserted),
gtk_marshal_VOID__POINTER_POINTER, gtk_marshal_VOID__BOXED_BOXED,
GTK_TYPE_NONE, 2, G_TYPE_NONE, 2,
GTK_TYPE_POINTER, GTK_TYPE_TREE_PATH,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
model_simple_signals[CHILD_TOGGLED] = model_simple_signals[CHILD_TOGGLED] =
gtk_signal_new ("child_toggled", gtk_signal_new ("child_toggled",
GTK_RUN_FIRST, GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkModelSimpleClass, child_toggled), GTK_SIGNAL_OFFSET (GtkModelSimpleClass, child_toggled),
gtk_marshal_VOID__POINTER_POINTER, gtk_marshal_VOID__BOXED_BOXED,
GTK_TYPE_NONE, 2, G_TYPE_NONE, 2,
GTK_TYPE_POINTER, GTK_TYPE_TREE_PATH,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
model_simple_signals[DELETED] = model_simple_signals[DELETED] =
gtk_signal_new ("deleted", gtk_signal_new ("deleted",
GTK_RUN_FIRST, GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkModelSimpleClass, deleted), GTK_SIGNAL_OFFSET (GtkModelSimpleClass, deleted),
gtk_marshal_VOID__POINTER, gtk_marshal_VOID__BOXED,
GTK_TYPE_NONE, 1, G_TYPE_NONE, 1,
GTK_TYPE_POINTER); GTK_TYPE_TREE_PATH);
model_simple_signals[GET_N_COLUMNS] = model_simple_signals[GET_N_COLUMNS] =
gtk_signal_new ("get_n_columns", gtk_signal_new ("get_n_columns",
@ -172,93 +172,94 @@ gtk_model_simple_class_init (GtkModelSimpleClass *class)
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
0, 0,
gtk_marshal_INT__VOID, gtk_marshal_INT__VOID,
GTK_TYPE_INT, 0); G_TYPE_INT, 0);
model_simple_signals[GET_COLUMN_TYPE] = model_simple_signals[GET_COLUMN_TYPE] =
gtk_signal_new ("get_column_type", gtk_signal_new ("get_column_type",
GTK_RUN_LAST, GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
0, 0,
gtk_marshal_INT__INT, gtk_marshal_INT__INT,
GTK_TYPE_INT, 1, G_TYPE_INT, 1,
GTK_TYPE_INT); G_TYPE_INT);
model_simple_signals[GET_ITER] = model_simple_signals[GET_ITER] =
gtk_signal_new ("get_iter", gtk_signal_new ("get_iter",
GTK_RUN_LAST, GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
0, 0,
gtk_marshal_BOOLEAN__POINTER_POINTER, gtk_marshal_BOOLEAN__BOXED_BOXED,
GTK_TYPE_BOOL, 2, G_TYPE_BOOLEAN, 2,
GTK_TYPE_POINTER, GTK_TYPE_TREE_ITER,
GTK_TYPE_POINTER); GTK_TYPE_TREE_PATH);
model_simple_signals[GET_PATH] = model_simple_signals[GET_PATH] =
gtk_signal_new ("get_path", gtk_signal_new ("get_path",
GTK_RUN_LAST, GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
0, 0,
gtk_marshal_POINTER__POINTER, gtk_marshal_BOXED__BOXED,
GTK_TYPE_POINTER, 1, GTK_TYPE_TREE_PATH, 1,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
model_simple_signals[GET_VALUE] = model_simple_signals[GET_VALUE] =
gtk_signal_new ("get_value", gtk_signal_new ("get_value",
GTK_RUN_LAST, GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
0, 0,
gtk_marshal_VOID__POINTER_INT_POINTER, gtk_marshal_VOID__BOXED_INT_POINTER,
GTK_TYPE_NONE, 3, G_TYPE_NONE, 3,
GTK_TYPE_POINTER, GTK_TYPE_TREE_ITER,
GTK_TYPE_INT, G_TYPE_INT,
GTK_TYPE_POINTER); G_TYPE_POINTER);
model_simple_signals[ITER_NEXT] = model_simple_signals[ITER_NEXT] =
gtk_signal_new ("iter_next", gtk_signal_new ("iter_next",
GTK_RUN_LAST, GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
0, 0,
gtk_marshal_BOOLEAN__POINTER, gtk_marshal_BOOLEAN__BOXED,
GTK_TYPE_BOOL, 1, G_TYPE_BOOLEAN, 1,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
model_simple_signals[ITER_CHILDREN] = model_simple_signals[ITER_CHILDREN] =
gtk_signal_new ("iter_children", gtk_signal_new ("iter_children",
GTK_RUN_LAST, GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
0, 0,
gtk_marshal_BOOLEAN__POINTER_POINTER, gtk_marshal_BOOLEAN__BOXED_BOXED,
GTK_TYPE_POINTER, 2, G_TYPE_BOOLEAN, 2,
GTK_TYPE_POINTER, GTK_TYPE_TREE_ITER,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
model_simple_signals[ITER_HAS_CHILD] = model_simple_signals[ITER_HAS_CHILD] =
gtk_signal_new ("iter_has_child", gtk_signal_new ("iter_has_child",
GTK_RUN_LAST, GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
0, 0,
gtk_marshal_BOOLEAN__POINTER, gtk_marshal_BOOLEAN__BOXED,
GTK_TYPE_BOOL, 1, G_TYPE_BOOLEAN, 1,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
model_simple_signals[ITER_N_CHILDREN] = model_simple_signals[ITER_N_CHILDREN] =
gtk_signal_new ("iter_n_children", gtk_signal_new ("iter_n_children",
GTK_RUN_LAST, GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
0, 0,
gtk_marshal_INT__POINTER, gtk_marshal_INT__BOXED,
GTK_TYPE_INT, 1, G_TYPE_INT, 1,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
model_simple_signals[ITER_NTH_CHILD] = model_simple_signals[ITER_NTH_CHILD] =
gtk_signal_new ("node_nth_child", gtk_signal_new ("node_nth_child",
GTK_RUN_LAST, GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
0, 0,
gtk_marshal_BOOLEAN__POINTER_POINTER_INT, gtk_marshal_BOOLEAN__BOXED_BOXED_INT,
GTK_TYPE_BOOL, 2, GTK_TYPE_BOOL, 3,
GTK_TYPE_POINTER, GTK_TYPE_TREE_ITER,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER,
G_TYPE_INT);
model_simple_signals[ITER_PARENT] = model_simple_signals[ITER_PARENT] =
gtk_signal_new ("node_parent", gtk_signal_new ("node_parent",
GTK_RUN_LAST, GTK_RUN_LAST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
0, 0,
gtk_marshal_BOOLEAN__POINTER_POINTER, gtk_marshal_BOOLEAN__BOXED_BOXED,
GTK_TYPE_BOOL, 2, G_TYPE_BOOLEAN, 2,
GTK_TYPE_POINTER, GTK_TYPE_TREE_ITER,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
gtk_object_class_add_signals (object_class, model_simple_signals, LAST_SIGNAL); gtk_object_class_add_signals (object_class, model_simple_signals, LAST_SIGNAL);
} }

View File

@ -17,8 +17,16 @@
* Boston, MA 02111-1307, USA. * Boston, MA 02111-1307, USA.
*/ */
/* NOTE: There is a potential for confusion in this code as to whether an iter,
* path or value refers to the GtkTreeModelSort model, or the model being
* sorted. As a convention, variables referencing the sorted model will have an
* s_ prefix before them (ie. s_iter, s_value, s_path);
*/
#include "gtktreemodelsort.h" #include "gtktreemodelsort.h"
#include "gtksignal.h" #include "gtksignal.h"
#include <string.h>
enum { enum {
CHANGED, CHANGED,
@ -372,27 +380,31 @@ gtk_tree_model_sort_finalize (GObject *object)
} }
static void static void
gtk_tree_model_sort_changed (GtkTreeModel *model, gtk_tree_model_sort_changed (GtkTreeModel *s_model,
GtkTreePath *path, GtkTreePath *s_path,
GtkTreeIter *iter, GtkTreeIter *s_iter,
gpointer data) gpointer data)
{ {
GtkTreeModelSort *tree_model_sort = GTK_TREE_MODEL_SORT (data); GtkTreeModelSort *tree_model_sort = GTK_TREE_MODEL_SORT (data);
GtkTreePath *local_path; GtkTreePath *path;
GtkTreeIter local_iter; GtkTreeIter iter;
gboolean free_s_path = FALSE;
g_return_if_fail (path != NULL || iter != NULL); g_return_if_fail (s_path != NULL || s_iter != NULL);
if (path == NULL) if (s_path == NULL)
path = gtk_tree_model_get_path (model, iter); {
free_s_path = TRUE;
s_path = gtk_tree_model_get_path (s_model, s_iter);
}
local_path = gtk_tree_model_sort_convert_path (tree_model_sort, path); path = gtk_tree_model_sort_convert_path (tree_model_sort, s_path);
gtk_tree_model_get_iter (GTK_TREE_MODEL (data), &local_iter, local_path); gtk_tree_model_get_iter (GTK_TREE_MODEL (data), &iter, path);
gtk_signal_emit_by_name (GTK_OBJECT (data), gtk_signal_emit_by_name (GTK_OBJECT (data), "changed", path, &iter);
"changed",
local_path, gtk_tree_path_free (path);
&local_iter); if (free_s_path)
gtk_tree_path_free (local_path); gtk_tree_path_free (s_path);
} }
#if 0 #if 0
@ -442,12 +454,15 @@ gtk_tree_model_sort_insert_value (GtkTreeModelSort *sort,
new_elt.parent = ((SortElt *) iter.tree_node); new_elt.parent = ((SortElt *) iter.tree_node);
new_elt.children = NULL; new_elt.children = NULL;
last = 0; low = 0;
j = array->len/2; high = array->len;
middle = (low + high)/2;
/* Insert the value into the array */
while (1) while (1)
{ {
gint cmp; gint cmp;
tmp_elt = &(g_array_index (array, SortElt, j)); tmp_elt = &(g_array_index (array, SortElt,middle));
gtk_tree_model_get_value (sort->model, tmp_elt, sort->sort_col, &tmp_value); gtk_tree_model_get_value (sort->model, tmp_elt, sort->sort_col, &tmp_value);
cmp = ((func) (&tmp_value, value)); cmp = ((func) (&tmp_value, value));
@ -463,91 +478,123 @@ gtk_tree_model_sort_insert_value (GtkTreeModelSort *sort,
#endif #endif
static void static void
gtk_tree_model_sort_inserted (GtkTreeModel *model, gtk_tree_model_sort_inserted (GtkTreeModel *s_model,
GtkTreePath *path, GtkTreePath *s_path,
GtkTreeIter *iter, GtkTreeIter *s_iter,
gpointer data) gpointer data)
{ {
GtkTreeModelSort *tree_model_sort = GTK_TREE_MODEL_SORT (data); GtkTreeModelSort *tree_model_sort = GTK_TREE_MODEL_SORT (data);
GtkTreePath *local_path; GtkTreePath *path;
GtkTreeIter local_iter; GtkTreeIter iter;
GValue value;
g_return_if_fail (path != NULL || iter != NULL); g_return_if_fail (s_path != NULL || s_iter != NULL);
if (!(tree_model_sort->flags & GTK_TREE_MODEL_ITERS_PERSIST) && if (!(tree_model_sort->flags & GTK_TREE_MODEL_ITERS_PERSIST))
(tree_model_sort->root != NULL))
{ {
gtk_tree_model_sort_free_level ((GArray *)tree_model_sort->root); gtk_tree_model_sort_free_level ((GArray *)tree_model_sort->root);
tree_model_sort->root = NULL; tree_model_sort->root = NULL;
} }
else
{
}
if (path == NULL) if (s_path == NULL)
path = gtk_tree_model_get_path (model, iter); s_path = gtk_tree_model_get_path (s_model, s_iter);
local_path = gtk_tree_model_sort_convert_path (tree_model_sort, path); path = gtk_tree_model_sort_convert_path (tree_model_sort, s_path);
gtk_tree_model_get_iter (GTK_TREE_MODEL (data), &local_iter, local_path); gtk_tree_model_get_iter (GTK_TREE_MODEL (data), &iter, path);
gtk_signal_emit_by_name (GTK_OBJECT (data), gtk_signal_emit_by_name (GTK_OBJECT (data), "inserted", path, iter);
"inserted", gtk_tree_path_free (path);
local_path,
&local_iter);
gtk_tree_path_free (local_path);
} }
static void static void
gtk_tree_model_sort_child_toggled (GtkTreeModel *model, gtk_tree_model_sort_child_toggled (GtkTreeModel *s_model,
GtkTreePath *path, GtkTreePath *s_path,
GtkTreeIter *iter, GtkTreeIter *s_iter,
gpointer data) gpointer data)
{ {
GtkTreeModelSort *tree_model_sort = GTK_TREE_MODEL_SORT (data); GtkTreeModelSort *tree_model_sort = GTK_TREE_MODEL_SORT (data);
GtkTreePath *local_path; GtkTreePath *path;
GtkTreeIter local_iter; GtkTreeIter iter;
gboolean free_s_path = FALSE;
g_return_if_fail (path != NULL || iter != NULL); g_return_if_fail (s_path != NULL || s_iter != NULL);
if (!(tree_model_sort->flags & GTK_TREE_MODEL_ITERS_PERSIST) && if (!(tree_model_sort->flags & GTK_TREE_MODEL_ITERS_PERSIST))
(tree_model_sort->root != NULL))
{ {
gtk_tree_model_sort_free_level ((GArray *)tree_model_sort->root); gtk_tree_model_sort_free_level ((GArray *)tree_model_sort->root);
tree_model_sort->root = NULL; tree_model_sort->root = NULL;
} }
if (path == NULL) if (s_path == NULL)
path = gtk_tree_model_get_path (model, iter); {
s_path = gtk_tree_model_get_path (s_model, s_iter);
free_s_path = TRUE;
}
local_path = gtk_tree_model_sort_convert_path (tree_model_sort, path); path = gtk_tree_model_sort_convert_path (tree_model_sort, s_path);
gtk_tree_model_get_iter (GTK_TREE_MODEL (data), &local_iter, local_path); gtk_tree_model_get_iter (GTK_TREE_MODEL (data), &iter, path);
gtk_signal_emit_by_name (GTK_OBJECT (data), gtk_signal_emit_by_name (GTK_OBJECT (data),
"child_toggled", "child_toggled",
local_path, path, &iter);
&local_iter); gtk_tree_path_free (path);
gtk_tree_path_free (local_path); if (free_s_path)
gtk_tree_path_free (s_path);
} }
static void static void
gtk_tree_model_sort_deleted (GtkTreeModel *model, gtk_tree_model_sort_deleted (GtkTreeModel *s_model,
GtkTreePath *path, GtkTreePath *s_path,
gpointer data) gpointer data)
{ {
GtkTreeModelSort *tree_model_sort = GTK_TREE_MODEL_SORT (data); GtkTreeModelSort *tree_model_sort = GTK_TREE_MODEL_SORT (data);
GtkTreePath *local_path; GtkTreePath *path;
g_return_if_fail (s_path != NULL);
path = gtk_tree_model_sort_convert_path (tree_model_sort, s_path);
g_return_if_fail (path != NULL); g_return_if_fail (path != NULL);
if (!(tree_model_sort->flags & GTK_TREE_MODEL_ITERS_PERSIST) && if (!(tree_model_sort->flags & GTK_TREE_MODEL_ITERS_PERSIST))
(tree_model_sort->root != NULL))
{ {
gtk_tree_model_sort_free_level ((GArray *)tree_model_sort->root); gtk_tree_model_sort_free_level ((GArray *)tree_model_sort->root);
tree_model_sort->root = NULL; tree_model_sort->root = NULL;
} }
local_path = gtk_tree_model_sort_convert_path (tree_model_sort, path); else
tree_model_sort->stamp++; {
gtk_signal_emit_by_name (GTK_OBJECT (data), GArray *array;
"deleted", GtkTreeIter iter;
local_path); SortElt *elt;
gint offset;
gint i;
gtk_tree_path_free (local_path); gtk_tree_model_get_iter (GTK_TREE_MODEL (tree_model_sort), &iter, path);
elt = (SortElt *) iter.tree_node;
offset = elt->offset;
array = get_array (elt, tree_model_sort);
if (array->len == 1)
{
if (((SortElt *)array->data)->parent == NULL)
tree_model_sort->root = NULL;
else
(((SortElt *)array->data)->parent)->children = NULL;
gtk_tree_model_sort_free_level (array);
}
else
{
g_array_remove_index (array, elt - ((SortElt *) array->data));
for (i = 0; i < array->len; i++)
{
elt = & (g_array_index (array, SortElt, i));
if (elt->offset > offset)
elt->offset--;
}
}
}
tree_model_sort->stamp++;
gtk_signal_emit_by_name (GTK_OBJECT (data), "deleted", path);
gtk_tree_path_free (path);
} }
static gint static gint
@ -822,7 +869,7 @@ static void
gtk_tree_model_sort_build_level (GtkTreeModelSort *tree_model_sort, gtk_tree_model_sort_build_level (GtkTreeModelSort *tree_model_sort,
SortElt *place) SortElt *place)
{ {
gint n, i; gint n, i = 0;
GArray *children; GArray *children;
GtkTreeIter *parent_iter = NULL; GtkTreeIter *parent_iter = NULL;
GtkTreeIter iter; GtkTreeIter iter;
@ -848,7 +895,6 @@ gtk_tree_model_sort_build_level (GtkTreeModelSort *tree_model_sort,
&iter, &iter,
parent_iter); parent_iter);
i = 0;
do do
{ {
elt.iter = iter; elt.iter = iter;
@ -869,6 +915,9 @@ gtk_tree_model_sort_free_level (GArray *array)
{ {
gint i; gint i;
if (array == NULL)
return;
for (i = 0; i < array->len; i++) for (i = 0; i < array->len; i++)
{ {
SortElt *elt; SortElt *elt;

View File

@ -42,6 +42,8 @@ static void gtk_tree_store_class_init (GtkTreeStoreClass *tree_stor
static void gtk_tree_store_tree_model_init (GtkTreeModelIface *iface); static void gtk_tree_store_tree_model_init (GtkTreeModelIface *iface);
static guint gtk_tree_store_get_flags (GtkTreeModel *tree_model); static guint gtk_tree_store_get_flags (GtkTreeModel *tree_model);
static gint gtk_tree_store_get_n_columns (GtkTreeModel *tree_model); static gint gtk_tree_store_get_n_columns (GtkTreeModel *tree_model);
static GType gtk_tree_store_get_column_type (GtkTreeModel *tree_model,
gint index);
static GtkTreePath *gtk_tree_store_get_path (GtkTreeModel *tree_model, static GtkTreePath *gtk_tree_store_get_path (GtkTreeModel *tree_model,
GtkTreeIter *iter); GtkTreeIter *iter);
static void gtk_tree_store_get_value (GtkTreeModel *tree_model, static void gtk_tree_store_get_value (GtkTreeModel *tree_model,
@ -114,36 +116,36 @@ gtk_tree_store_class_init (GtkTreeStoreClass *tree_store_class)
GTK_RUN_FIRST, GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkTreeStoreClass, changed), GTK_SIGNAL_OFFSET (GtkTreeStoreClass, changed),
gtk_marshal_VOID__POINTER_POINTER, gtk_marshal_VOID__BOXED_BOXED,
GTK_TYPE_NONE, 2, G_TYPE_NONE, 2,
GTK_TYPE_POINTER, GTK_TYPE_TREE_PATH,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
tree_store_signals[INSERTED] = tree_store_signals[INSERTED] =
gtk_signal_new ("inserted", gtk_signal_new ("inserted",
GTK_RUN_FIRST, GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkTreeStoreClass, inserted), GTK_SIGNAL_OFFSET (GtkTreeStoreClass, inserted),
gtk_marshal_VOID__POINTER_POINTER, gtk_marshal_VOID__BOXED_BOXED,
GTK_TYPE_NONE, 2, G_TYPE_NONE, 2,
GTK_TYPE_POINTER, GTK_TYPE_TREE_PATH,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
tree_store_signals[CHILD_TOGGLED] = tree_store_signals[CHILD_TOGGLED] =
gtk_signal_new ("child_toggled", gtk_signal_new ("child_toggled",
GTK_RUN_FIRST, GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkTreeStoreClass, child_toggled), GTK_SIGNAL_OFFSET (GtkTreeStoreClass, child_toggled),
gtk_marshal_VOID__POINTER_POINTER, gtk_marshal_VOID__BOXED_BOXED,
GTK_TYPE_NONE, 2, G_TYPE_NONE, 2,
GTK_TYPE_POINTER, GTK_TYPE_TREE_PATH,
GTK_TYPE_POINTER); GTK_TYPE_TREE_ITER);
tree_store_signals[DELETED] = tree_store_signals[DELETED] =
gtk_signal_new ("deleted", gtk_signal_new ("deleted",
GTK_RUN_FIRST, GTK_RUN_FIRST,
GTK_CLASS_TYPE (object_class), GTK_CLASS_TYPE (object_class),
GTK_SIGNAL_OFFSET (GtkTreeStoreClass, deleted), GTK_SIGNAL_OFFSET (GtkTreeStoreClass, deleted),
gtk_marshal_VOID__POINTER, gtk_marshal_VOID__BOXED,
GTK_TYPE_NONE, 1, G_TYPE_NONE, 1,
GTK_TYPE_POINTER); GTK_TYPE_TREE_PATH);
gtk_object_class_add_signals (object_class, tree_store_signals, LAST_SIGNAL); gtk_object_class_add_signals (object_class, tree_store_signals, LAST_SIGNAL);
} }
@ -153,6 +155,7 @@ gtk_tree_store_tree_model_init (GtkTreeModelIface *iface)
{ {
iface->get_flags = gtk_tree_store_get_flags; iface->get_flags = gtk_tree_store_get_flags;
iface->get_n_columns = gtk_tree_store_get_n_columns; iface->get_n_columns = gtk_tree_store_get_n_columns;
iface->get_column_type = gtk_tree_store_get_column_type;
iface->get_path = gtk_tree_store_get_path; iface->get_path = gtk_tree_store_get_path;
iface->get_value = gtk_tree_store_get_value; iface->get_value = gtk_tree_store_get_value;
iface->iter_next = gtk_tree_store_iter_next; iface->iter_next = gtk_tree_store_iter_next;
@ -177,7 +180,7 @@ gtk_tree_store_new (void)
} }
GtkTreeStore * GtkTreeStore *
gtk_tree_store_new_with_values (gint n_columns, gtk_tree_store_new_with_types (gint n_columns,
...) ...)
{ {
GtkTreeStore *retval; GtkTreeStore *retval;
@ -262,6 +265,17 @@ gtk_tree_store_get_n_columns (GtkTreeModel *tree_model)
return GTK_TREE_STORE (tree_model)->n_columns; return GTK_TREE_STORE (tree_model)->n_columns;
} }
static GType
gtk_tree_store_get_column_type (GtkTreeModel *tree_model,
gint index)
{
g_return_val_if_fail (GTK_IS_TREE_STORE (tree_model), G_TYPE_INVALID);
g_return_val_if_fail (index < GTK_TREE_STORE (tree_model)->n_columns &&
index >= 0, G_TYPE_INVALID);
return GTK_TREE_STORE (tree_model)->column_headers[index];
}
static GtkTreePath * static GtkTreePath *
gtk_tree_store_get_path (GtkTreeModel *tree_model, gtk_tree_store_get_path (GtkTreeModel *tree_model,
GtkTreeIter *iter) GtkTreeIter *iter)

View File

@ -70,7 +70,7 @@ struct _GtkTreeStoreClass
GtkType gtk_tree_store_get_type (void); GtkType gtk_tree_store_get_type (void);
GtkTreeStore *gtk_tree_store_new (void); GtkTreeStore *gtk_tree_store_new (void);
GtkTreeStore *gtk_tree_store_new_with_values (gint n_columns, GtkTreeStore *gtk_tree_store_new_with_types (gint n_columns,
...); ...);
void gtk_tree_store_set_n_columns (GtkTreeStore *tree_store, void gtk_tree_store_set_n_columns (GtkTreeStore *tree_store,
gint n_columns); gint n_columns);

View File

@ -261,7 +261,7 @@ main (int argc, char *argv[])
{ {
gtk_init (&argc, &argv); gtk_init (&argc, &argv);
model = gtk_tree_store_new_with_values (2, G_TYPE_STRING, G_TYPE_STRING); model = gtk_tree_store_new_with_types (2, G_TYPE_STRING, G_TYPE_STRING);
make_window (); make_window ();
make_window (); make_window ();

View File

@ -261,7 +261,7 @@ main (int argc, char *argv[])
{ {
gtk_init (&argc, &argv); gtk_init (&argc, &argv);
model = gtk_tree_store_new_with_values (2, G_TYPE_STRING, G_TYPE_STRING); model = gtk_tree_store_new_with_types (2, G_TYPE_STRING, G_TYPE_STRING);
make_window (); make_window ();
make_window (); make_window ();