+Wed Feb 21 20:56:50 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtktreemodel.h: add functions for signal emission.
+
+ * gtk/gtktreestore.c: move to use above functions instead of
+ g_signal_emit.
+
+ * gtk/gtkliststore.c: ditto
+
Wed Feb 21 15:41:34 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c: removed signals. Moved to inherit from
+Wed Feb 21 20:56:50 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtktreemodel.h: add functions for signal emission.
+
+ * gtk/gtktreestore.c: move to use above functions instead of
+ g_signal_emit.
+
+ * gtk/gtkliststore.c: ditto
+
Wed Feb 21 15:41:34 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c: removed signals. Moved to inherit from
+Wed Feb 21 20:56:50 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtktreemodel.h: add functions for signal emission.
+
+ * gtk/gtktreestore.c: move to use above functions instead of
+ g_signal_emit.
+
+ * gtk/gtkliststore.c: ditto
+
Wed Feb 21 15:41:34 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c: removed signals. Moved to inherit from
+Wed Feb 21 20:56:50 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtktreemodel.h: add functions for signal emission.
+
+ * gtk/gtktreestore.c: move to use above functions instead of
+ g_signal_emit.
+
+ * gtk/gtkliststore.c: ditto
+
Wed Feb 21 15:41:34 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c: removed signals. Moved to inherit from
+Wed Feb 21 20:56:50 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtktreemodel.h: add functions for signal emission.
+
+ * gtk/gtktreestore.c: move to use above functions instead of
+ g_signal_emit.
+
+ * gtk/gtkliststore.c: ditto
+
Wed Feb 21 15:41:34 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c: removed signals. Moved to inherit from
+Wed Feb 21 20:56:50 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtktreemodel.h: add functions for signal emission.
+
+ * gtk/gtktreestore.c: move to use above functions instead of
+ g_signal_emit.
+
+ * gtk/gtkliststore.c: ditto
+
Wed Feb 21 15:41:34 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c: removed signals. Moved to inherit from
+Wed Feb 21 20:56:50 2001 Jonathan Blandford <jrb@redhat.com>
+
+ * gtk/gtktreemodel.h: add functions for signal emission.
+
+ * gtk/gtktreestore.c: move to use above functions instead of
+ g_signal_emit.
+
+ * gtk/gtkliststore.c: ditto
+
Wed Feb 21 15:41:34 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c: removed signals. Moved to inherit from
{
GtkTreeDataList *list;
GtkTreeDataList *prev;
+ GtkTreePath *path;
g_return_if_fail (list_store != NULL);
g_return_if_fail (GTK_IS_LIST_STORE (list_store));
{
if (column == 0)
{
+ path = gtk_list_store_get_path (GTK_TREE_MODEL (list_store), iter);
_gtk_tree_data_list_value_to_node (list, value);
- g_signal_emit_by_name (G_OBJECT (list_store),
- "changed",
- NULL, iter);
+ gtk_tree_model_changed (GTK_TREE_MODEL (list_store), path, iter);
+ gtk_tree_path_free (path);
return;
}
list->next = NULL;
column --;
}
+
+ path = gtk_list_store_get_path (GTK_TREE_MODEL (list_store), iter);
_gtk_tree_data_list_value_to_node (list, value);
- g_signal_emit_by_name (G_OBJECT (list_store),
- "changed",
- NULL, iter);
+ gtk_tree_model_changed (GTK_TREE_MODEL (list_store), path, iter);
+ gtk_tree_path_free (path);
}
/**
gtk_list_store_remove_silently (list_store, iter, path);
validate_list_store (list_store);
-
- g_signal_emit_by_name (G_OBJECT (list_store),
- "deleted",
- path);
+
+ gtk_tree_model_deleted (GTK_TREE_MODEL (list_store), path);
+
gtk_tree_path_free (path);
}
path = gtk_tree_path_new ();
gtk_tree_path_append_index (path, position);
- g_signal_emit_by_name (G_OBJECT (list_store),
- "inserted",
- path, iter);
+ gtk_tree_model_inserted (GTK_TREE_MODEL (list_store), path, iter);
gtk_tree_path_free (path);
}
path = gtk_tree_path_new ();
gtk_tree_path_append_index (path, i);
- g_signal_emit_by_name (G_OBJECT (list_store),
- "inserted",
- path, iter);
+ gtk_tree_model_inserted (GTK_TREE_MODEL (list_store), path, iter);
gtk_tree_path_free (path);
}
path = gtk_tree_path_new ();
gtk_tree_path_append_index (path, i);
- g_signal_emit_by_name (G_OBJECT (list_store),
- "inserted",
- path, iter);
+ gtk_tree_model_inserted (GTK_TREE_MODEL (list_store), path, iter);
gtk_tree_path_free (path);
}
path = gtk_tree_path_new ();
gtk_tree_path_append_index (path, 0);
- g_signal_emit_by_name (G_OBJECT (list_store),
- "inserted",
- path, iter);
+ gtk_tree_model_inserted (GTK_TREE_MODEL (list_store), path, iter);
gtk_tree_path_free (path);
}
path = gtk_tree_path_new ();
gtk_tree_path_append_index (path, i);
- g_signal_emit_by_name (G_OBJECT (list_store),
- "inserted",
- path, iter);
+ gtk_tree_model_inserted (GTK_TREE_MODEL (list_store), path, iter);
gtk_tree_path_free (path);
}
GtkTreeDataList *copy_head = NULL;
GtkTreeDataList *copy_prev = NULL;
GtkTreeDataList *copy_iter = NULL;
+ GtkTreePath *path;
gint col;
col = 0;
}
G_SLIST (dest_iter.user_data)->data = copy_head;
-
- g_signal_emit_by_name (G_OBJECT (tree_model),
- "changed",
- NULL, &dest_iter);
- }
+
+ path = gtk_list_store_get_path (GTK_TREE_MODEL (tree_model), &dest_iter);
+ gtk_tree_model_changed (GTK_TREE_MODEL (tree_model), path, &dest_iter);
+ gtk_tree_path_free (path);
+ }
}
else
{
column = va_arg (var_args, gint);
}
}
+
+void
+gtk_tree_model_changed (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter)
+{
+ g_return_if_fail (tree_model != NULL);
+ g_return_if_fail (GTK_IS_TREE_MODEL (tree_model));
+ g_return_if_fail (path != NULL);
+ g_return_if_fail (iter != NULL);
+
+ g_signal_emit_by_name (tree_model, "changed", path, iter);
+}
+
+void
+gtk_tree_model_inserted (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter)
+{
+ g_return_if_fail (tree_model != NULL);
+ g_return_if_fail (GTK_IS_TREE_MODEL (tree_model));
+ g_return_if_fail (path != NULL);
+ g_return_if_fail (iter != NULL);
+
+ g_signal_emit_by_name (tree_model, "inserted", path, iter);
+}
+
+void
+gtk_tree_model_child_toggled (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter)
+{
+ g_return_if_fail (tree_model != NULL);
+ g_return_if_fail (GTK_IS_TREE_MODEL (tree_model));
+ g_return_if_fail (path != NULL);
+ g_return_if_fail (iter != NULL);
+
+ g_signal_emit_by_name (tree_model, "child_toggled", path, iter);
+}
+
+void
+gtk_tree_model_deleted (GtkTreeModel *tree_model,
+ GtkTreePath *path)
+{
+ g_return_if_fail (tree_model != NULL);
+ g_return_if_fail (GTK_IS_TREE_MODEL (tree_model));
+ g_return_if_fail (path != NULL);
+
+ g_signal_emit_by_name (tree_model, "deleted", path);
+}
GtkTreeIter *gtk_tree_iter_copy (GtkTreeIter *iter);
void gtk_tree_iter_free (GtkTreeIter *iter);
-/* GtkTreeModel stuff */
GtkType gtk_tree_model_get_type (void) G_GNUC_CONST;
GtkTreeModelFlags gtk_tree_model_get_flags (GtkTreeModel *tree_model);
GtkTreeIter *iter,
va_list var_args);
+/* Signals */
+void gtk_tree_model_changed (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter);
+void gtk_tree_model_inserted (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter);
+void gtk_tree_model_child_toggled (GtkTreeModel *tree_model,
+ GtkTreePath *path,
+ GtkTreeIter *iter);
+void gtk_tree_model_deleted (GtkTreeModel *tree_model,
+ GtkTreePath *path);
#ifdef __cplusplus
#include "gtktreestore.h"
#include "gtktreedatalist.h"
#include "gtktreednd.h"
-#include "gtksignal.h"
#include <string.h>
#include <gobject/gvaluecollector.h>
{
GtkTreeDataList *list;
GtkTreeDataList *prev;
+ GtkTreePath *path = NULL;
g_return_if_fail (tree_store != NULL);
g_return_if_fail (GTK_IS_TREE_STORE (tree_store));
prev = list = G_NODE (iter->user_data)->data;
+ path = gtk_tree_store_get_path (GTK_TREE_MODEL (tree_store), iter);
+
while (list != NULL)
{
if (column == 0)
{
_gtk_tree_data_list_value_to_node (list, value);
- g_signal_emit_by_name (G_OBJECT (tree_store),
- "changed",
- NULL, iter);
+ gtk_tree_model_changed (GTK_TREE_MODEL (tree_store), path, iter);
+ gtk_tree_path_free (path);
return;
}
column --;
}
_gtk_tree_data_list_value_to_node (list, value);
- g_signal_emit_by_name (G_OBJECT (tree_store),
- "changed",
- NULL, iter);
+ gtk_tree_model_changed (GTK_TREE_MODEL (tree_store), path, iter);
+ gtk_tree_path_free (path);
}
/**
GtkTreeIter *iter)
{
GtkTreePath *path;
-
+ GtkTreeIter new_iter = {0,};
GNode *parent;
g_return_if_fail (model != NULL);
g_node_destroy (G_NODE (iter->user_data));
model->stamp++;
- g_signal_emit_by_name (G_OBJECT (model),
- "deleted",
- path);
+ gtk_tree_model_deleted (GTK_TREE_MODEL (model), path);
+
if (parent != G_NODE (model->root) && parent->children == NULL)
{
gtk_tree_path_up (path);
-
- g_signal_emit_by_name (G_OBJECT (model),
- "child_toggled",
- path,
- parent);
+
+ new_iter.stamp = model->stamp;
+ new_iter.user_data = parent;
+ gtk_tree_model_child_toggled (GTK_TREE_MODEL (model), path, &new_iter);
}
gtk_tree_path_free (path);
}
g_node_insert (parent_node, position, G_NODE (iter->user_data));
path = gtk_tree_store_get_path (GTK_TREE_MODEL (model), iter);
- g_signal_emit_by_name (G_OBJECT (model),
- "inserted",
- path, iter);
+ gtk_tree_model_inserted (GTK_TREE_MODEL (model), path, iter);
+
gtk_tree_path_free (path);
validate_tree ((GtkTreeStore*)model);
iter->user_data = new_node;
path = gtk_tree_store_get_path (GTK_TREE_MODEL (model), iter);
- g_signal_emit_by_name (G_OBJECT (model),
- "inserted",
- path, iter);
+ gtk_tree_model_inserted (GTK_TREE_MODEL (model), path, iter);
+
gtk_tree_path_free (path);
validate_tree ((GtkTreeStore*)model);
iter->user_data = new_node;
path = gtk_tree_store_get_path (GTK_TREE_MODEL (model), iter);
- g_signal_emit_by_name (G_OBJECT (model),
- "inserted",
- path, iter);
+ gtk_tree_model_inserted (GTK_TREE_MODEL (model), path, iter);
+
gtk_tree_path_free (path);
validate_tree ((GtkTreeStore*)model);
if (parent_node != model->root)
{
path = gtk_tree_store_get_path (GTK_TREE_MODEL (model), parent);
- g_signal_emit_by_name (G_OBJECT (model),
- "child_toggled",
- path,
- parent);
+ gtk_tree_model_child_toggled (GTK_TREE_MODEL (model), path, parent);
gtk_tree_path_append_index (path, 0);
}
else
{
path = gtk_tree_store_get_path (GTK_TREE_MODEL (model), iter);
}
- g_signal_emit_by_name (G_OBJECT (model),
- "inserted",
- path,
- iter);
+ gtk_tree_model_inserted (GTK_TREE_MODEL (model), path, iter);
gtk_tree_path_free (path);
}
else
if (parent_node != model->root)
{
path = gtk_tree_store_get_path (GTK_TREE_MODEL (model), parent);
- g_signal_emit_by_name (G_OBJECT (model),
- "child_toggled",
- path,
- parent);
+ gtk_tree_model_child_toggled (GTK_TREE_MODEL (model), path, parent);
gtk_tree_path_append_index (path, 0);
}
else
path = gtk_tree_store_get_path (GTK_TREE_MODEL (model), iter);
}
- g_signal_emit_by_name (G_OBJECT (model),
- "inserted",
- path,
- iter);
+ gtk_tree_model_inserted (GTK_TREE_MODEL (model), path, iter);
gtk_tree_path_free (path);
}
else
GtkTreeDataList *copy_head = NULL;
GtkTreeDataList *copy_prev = NULL;
GtkTreeDataList *copy_iter = NULL;
+ GtkTreePath *path;
gint col;
col = 0;
G_NODE (dest_iter->user_data)->data = copy_head;
- g_signal_emit_by_name (G_OBJECT (tree_store),
- "changed",
- NULL, dest_iter);
+ path = gtk_tree_store_get_path (tree_store, dest_iter);
+ gtk_tree_model_changed (GTK_TREE_MODEL (tree_store), path, dest_iter);
+ gtk_tree_path_free (path);
}
static void