diff options
Diffstat (limited to 'gtk/gtktreemodelsimple.c')
-rw-r--r-- | gtk/gtktreemodelsimple.c | 494 |
1 files changed, 0 insertions, 494 deletions
diff --git a/gtk/gtktreemodelsimple.c b/gtk/gtktreemodelsimple.c deleted file mode 100644 index 2c49db8dd4..0000000000 --- a/gtk/gtktreemodelsimple.c +++ /dev/null @@ -1,494 +0,0 @@ -/* gtktreemodelsimple.c - * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford <jrb@redhat.com> - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include "gtktreemodelsimple.h" -#include "gtksignal.h" -enum { - CHANGED, - INSERTED, - CHILD_TOGGLED, - DELETED, - - GET_N_COLUMNS, - GET_COLUMN_TYPE, - GET_ITER, - GET_PATH, - GET_VALUE, - ITER_NEXT, - ITER_CHILDREN, - ITER_HAS_CHILD, - ITER_N_CHILDREN, - ITER_NTH_CHILD, - ITER_PARENT, - REF_ITER, - UNREF_ITER, - LAST_SIGNAL -}; - -static void gtk_tree_model_simple_init (GtkTreeModelSimple *model_simple); -static void gtk_tree_model_simple_class_init (GtkTreeModelSimpleClass *class); -static void gtk_tree_model_simple_tree_model_init (GtkTreeModelIface *iface); -static gint gtk_real_model_simple_get_n_columns (GtkTreeModel *tree_model); -static GType gtk_real_model_simple_get_column_type (GtkTreeModel *tree_model, - gint index); -static gboolean gtk_real_model_simple_get_iter (GtkTreeModel *tree_model, - GtkTreeIter *iter, - GtkTreePath *path); -static GtkTreePath *gtk_real_model_simple_get_path (GtkTreeModel *tree_model, - GtkTreeIter *iter); -static void gtk_real_model_simple_get_value (GtkTreeModel *tree_model, - GtkTreeIter *iter, - gint column, - GValue *value); -static gboolean gtk_real_model_simple_iter_next (GtkTreeModel *tree_model, - GtkTreeIter *iter); -static gboolean gtk_real_model_simple_iter_children (GtkTreeModel *tree_model, - GtkTreeIter *iter, - GtkTreeIter *parent); -static gboolean gtk_real_model_simple_iter_has_child (GtkTreeModel *tree_model, - GtkTreeIter *iter); -static gint gtk_real_model_simple_iter_n_children (GtkTreeModel *tree_model, - GtkTreeIter *iter); -static gboolean gtk_real_model_simple_iter_nth_child (GtkTreeModel *tree_model, - GtkTreeIter *iter, - GtkTreeIter *parent, - gint n); -static gboolean gtk_real_model_simple_iter_parent (GtkTreeModel *tree_model, - GtkTreeIter *iter, - GtkTreeIter *child); -static void gtk_real_model_simple_ref_iter (GtkTreeModel *tree_model, - GtkTreeIter *iter); -static void gtk_real_model_simple_unref_iter (GtkTreeModel *tree_model, - GtkTreeIter *iter); - - -static guint model_simple_signals[LAST_SIGNAL] = { 0 }; - - -GtkType -gtk_tree_model_simple_get_type (void) -{ - static GtkType model_simple_type = 0; - - if (!model_simple_type) - { - static const GTypeInfo model_simple_info = - { - sizeof (GtkTreeModelSimpleClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) gtk_tree_model_simple_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GtkTreeModelSimple), - 0, - (GInstanceInitFunc) gtk_tree_model_simple_init - }; - - static const GInterfaceInfo tree_model_info = - { - (GInterfaceInitFunc) gtk_tree_model_simple_tree_model_init, - NULL, - NULL - }; - - model_simple_type = g_type_register_static (GTK_TYPE_OBJECT, "GtkTreeModelSimple", &model_simple_info, 0); - g_type_add_interface_static (model_simple_type, - GTK_TYPE_TREE_MODEL, - &tree_model_info); - } - - return model_simple_type; -} - -GtkTreeModelSimple * -gtk_tree_model_simple_new (void) -{ - GtkTreeModelSimple *retval; - - retval = GTK_TREE_MODEL_SIMPLE (gtk_type_new (GTK_TYPE_TREE_MODEL_SIMPLE)); - - return retval; -} - -static void -gtk_tree_model_simple_class_init (GtkTreeModelSimpleClass *class) -{ - GtkObjectClass *object_class; - - object_class = (GtkObjectClass*) class; - - model_simple_signals[CHANGED] = - gtk_signal_new ("changed", - GTK_RUN_FIRST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, changed), - gtk_marshal_VOID__BOXED_BOXED, - G_TYPE_NONE, 2, - G_TYPE_POINTER, - G_TYPE_POINTER); - model_simple_signals[INSERTED] = - gtk_signal_new ("inserted", - GTK_RUN_FIRST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, inserted), - gtk_marshal_VOID__BOXED_BOXED, - G_TYPE_NONE, 2, - G_TYPE_POINTER, - G_TYPE_POINTER); - model_simple_signals[CHILD_TOGGLED] = - gtk_signal_new ("child_toggled", - GTK_RUN_FIRST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, child_toggled), - gtk_marshal_VOID__BOXED_BOXED, - G_TYPE_NONE, 2, - G_TYPE_POINTER, - G_TYPE_POINTER); - model_simple_signals[DELETED] = - gtk_signal_new ("deleted", - GTK_RUN_FIRST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, deleted), - gtk_marshal_VOID__BOXED, - G_TYPE_NONE, 1, - G_TYPE_POINTER); - - model_simple_signals[GET_N_COLUMNS] = - gtk_signal_new ("get_n_columns", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, get_n_columns), - gtk_marshal_INT__VOID, - G_TYPE_INT, 0); - model_simple_signals[GET_COLUMN_TYPE] = - gtk_signal_new ("get_column_type", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, get_column_type), - gtk_marshal_INT__INT, - G_TYPE_INT, 1, - G_TYPE_INT); - model_simple_signals[GET_ITER] = - gtk_signal_new ("get_iter", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, get_iter), - gtk_marshal_BOOLEAN__BOXED_BOXED, - G_TYPE_BOOLEAN, 2, - G_TYPE_POINTER, - G_TYPE_POINTER); - model_simple_signals[GET_PATH] = - gtk_signal_new ("get_path", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, get_path), - gtk_marshal_BOXED__BOXED, - G_TYPE_POINTER, 1, - G_TYPE_POINTER); - model_simple_signals[GET_VALUE] = - gtk_signal_new ("get_value", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, get_value), - gtk_marshal_VOID__BOXED_INT_POINTER, - G_TYPE_NONE, 3, - G_TYPE_POINTER, - G_TYPE_INT, - G_TYPE_POINTER); - model_simple_signals[ITER_NEXT] = - gtk_signal_new ("iter_next", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, iter_next), - gtk_marshal_BOOLEAN__BOXED, - G_TYPE_BOOLEAN, 1, - G_TYPE_POINTER); - model_simple_signals[ITER_CHILDREN] = - gtk_signal_new ("iter_children", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, iter_children), - gtk_marshal_BOOLEAN__BOXED_BOXED, - G_TYPE_BOOLEAN, 2, - G_TYPE_POINTER, - G_TYPE_POINTER); - model_simple_signals[ITER_HAS_CHILD] = - gtk_signal_new ("iter_has_child", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, iter_has_child), - gtk_marshal_BOOLEAN__BOXED, - G_TYPE_BOOLEAN, 1, - G_TYPE_POINTER); - model_simple_signals[ITER_N_CHILDREN] = - gtk_signal_new ("iter_n_children", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, iter_n_children), - gtk_marshal_INT__BOXED, - G_TYPE_INT, 1, - G_TYPE_POINTER); - model_simple_signals[ITER_NTH_CHILD] = - gtk_signal_new ("iter_nth_child", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, iter_nth_child), - gtk_marshal_BOOLEAN__BOXED_BOXED_INT, - GTK_TYPE_BOOL, 3, - G_TYPE_POINTER, - G_TYPE_POINTER, - G_TYPE_INT); - model_simple_signals[ITER_PARENT] = - gtk_signal_new ("iter_parent", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, iter_parent), - gtk_marshal_BOOLEAN__BOXED_BOXED, - G_TYPE_BOOLEAN, 2, - G_TYPE_POINTER, - G_TYPE_POINTER); - model_simple_signals[REF_ITER] = - gtk_signal_new ("ref_iter", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, ref_iter), - gtk_marshal_NONE__BOXED, - G_TYPE_NONE, 1, - G_TYPE_POINTER); - model_simple_signals[UNREF_ITER] = - gtk_signal_new ("unref_iter", - GTK_RUN_LAST, - GTK_CLASS_TYPE (object_class), - GTK_SIGNAL_OFFSET (GtkTreeModelSimpleClass, unref_iter), - gtk_marshal_NONE__BOXED, - G_TYPE_NONE, 1, - G_TYPE_POINTER); -} - -static void -gtk_tree_model_simple_tree_model_init (GtkTreeModelIface *iface) -{ - iface->get_n_columns = gtk_real_model_simple_get_n_columns; - iface->get_column_type = gtk_real_model_simple_get_column_type; - iface->get_iter = gtk_real_model_simple_get_iter; - iface->get_path = gtk_real_model_simple_get_path; - iface->get_value = gtk_real_model_simple_get_value; - iface->iter_next = gtk_real_model_simple_iter_next; - iface->iter_children = gtk_real_model_simple_iter_children; - iface->iter_has_child = gtk_real_model_simple_iter_has_child; - iface->iter_n_children = gtk_real_model_simple_iter_n_children; - iface->iter_nth_child = gtk_real_model_simple_iter_nth_child; - iface->iter_parent = gtk_real_model_simple_iter_parent; - iface->ref_iter = gtk_real_model_simple_ref_iter; - iface->unref_iter = gtk_real_model_simple_unref_iter; -} - - -static void -gtk_tree_model_simple_init (GtkTreeModelSimple *model_simple) -{ - model_simple->stamp = 1; -} - -static gint -gtk_real_model_simple_get_n_columns (GtkTreeModel *tree_model) -{ - gint retval = 0; - - gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_N_COLUMNS], &retval); - - return retval; -} - -static GType -gtk_real_model_simple_get_column_type (GtkTreeModel *tree_model, - gint index) -{ - GType retval = G_TYPE_INVALID; - - gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_COLUMN_TYPE], index, &retval); - - return retval; -} - -static gboolean -gtk_real_model_simple_get_iter (GtkTreeModel *tree_model, - GtkTreeIter *iter, - GtkTreePath *path) -{ - gboolean retval; - - gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_ITER], iter, path, &retval); - - return retval; -} - -static GtkTreePath * -gtk_real_model_simple_get_path (GtkTreeModel *tree_model, - GtkTreeIter *iter) -{ - GtkTreePath *retval; - - gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_PATH], iter, &retval); - - return retval; -} - -static void -gtk_real_model_simple_get_value (GtkTreeModel *tree_model, - GtkTreeIter *iter, - gint column, - GValue *value) -{ - gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[GET_VALUE], iter, column, value); -} - -static gboolean -gtk_real_model_simple_iter_next (GtkTreeModel *tree_model, - GtkTreeIter *iter) -{ - gboolean retval = FALSE; - - gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_NEXT], iter, &retval); - - return retval; -} - -static gboolean -gtk_real_model_simple_iter_children (GtkTreeModel *tree_model, - GtkTreeIter *iter, - GtkTreeIter *parent) -{ - gboolean retval = FALSE; - - gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_CHILDREN], iter, parent, &retval); - - return retval; -} - -static gboolean -gtk_real_model_simple_iter_has_child (GtkTreeModel *tree_model, - GtkTreeIter *iter) -{ - gboolean retval = FALSE; - - gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_HAS_CHILD], iter, &retval); - - return retval; -} - -static gint -gtk_real_model_simple_iter_n_children (GtkTreeModel *tree_model, - GtkTreeIter *iter) -{ - gint retval = 0; - - gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_N_CHILDREN], iter, &retval); - - return retval; -} - -static gboolean -gtk_real_model_simple_iter_nth_child (GtkTreeModel *tree_model, - GtkTreeIter *iter, - GtkTreeIter *parent, - gint n) -{ - gboolean retval = FALSE; - - gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_NTH_CHILD], iter, parent, n, &retval); - - return retval; -} - -static gboolean -gtk_real_model_simple_iter_parent (GtkTreeModel *tree_model, - GtkTreeIter *iter, - GtkTreeIter *child) -{ - gboolean retval = FALSE; - - gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[ITER_PARENT], iter, child, &retval); - - return retval; -} - -static void -gtk_real_model_simple_ref_iter (GtkTreeModel *tree_model, - GtkTreeIter *iter) -{ - gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[REF_ITER], iter); -} - -static void -gtk_real_model_simple_unref_iter (GtkTreeModel *tree_model, - GtkTreeIter *iter) -{ - gtk_signal_emit (GTK_OBJECT (tree_model), model_simple_signals[UNREF_ITER], iter); -} - -/* Public functions */ -void -gtk_tree_model_simple_changed (GtkTreeModelSimple *simple, - GtkTreePath *path, - GtkTreeIter *iter) -{ - g_return_if_fail (simple != NULL); - g_return_if_fail (GTK_IS_TREE_MODEL_SIMPLE (simple)); - g_return_if_fail (path != NULL); - - gtk_signal_emit_by_name (GTK_OBJECT (simple), "changed", path, iter); -} - -void -gtk_tree_model_simple_inserted (GtkTreeModelSimple *simple, - GtkTreePath *path, - GtkTreeIter *iter) -{ - g_return_if_fail (simple != NULL); - g_return_if_fail (GTK_IS_TREE_MODEL_SIMPLE (simple)); - g_return_if_fail (path != NULL); - - gtk_signal_emit_by_name (GTK_OBJECT (simple), "inserted", path, iter); -} - -void -gtk_tree_model_simple_child_toggled (GtkTreeModelSimple *simple, - GtkTreePath *path, - GtkTreeIter *iter) -{ - g_return_if_fail (simple != NULL); - g_return_if_fail (GTK_IS_TREE_MODEL_SIMPLE (simple)); - g_return_if_fail (path != NULL); - - gtk_signal_emit_by_name (GTK_OBJECT (simple), "child_toggled", path, iter); -} - -void -gtk_tree_model_simple_iter_deleted (GtkTreeModelSimple *simple, - GtkTreePath *path, - GtkTreeIter *iter) -{ - g_return_if_fail (simple != NULL); - g_return_if_fail (GTK_IS_TREE_MODEL_SIMPLE (simple)); - g_return_if_fail (path != NULL); - - gtk_signal_emit_by_name (GTK_OBJECT (simple), "iter_deleted", path, iter); -} |