summaryrefslogtreecommitdiff
path: root/gtk/gtktreestore.c
diff options
context:
space:
mode:
authorKristian Rietveld <kris@gtk.org>2006-05-27 21:43:10 +0000
committerKristian Rietveld <kristian@src.gnome.org>2006-05-27 21:43:10 +0000
commite7b5cdb8e035e47e7a2741aaa93c5b325796938f (patch)
treeae154721e4b3500365176ce0dfdcc52808b8d103 /gtk/gtktreestore.c
parent29a3dba6a7e73145ba74048a86953b2fd314c53b (diff)
downloadgtk+-e7b5cdb8e035e47e7a2741aaa93c5b325796938f.tar.gz
Small refactoring. (#340428, Paolo Borelli).
2006-05-27 Kristian Rietveld <kris@gtk.org> Small refactoring. (#340428, Paolo Borelli). * gtk/gtkliststore.c (gtk_list_store_set_valist_internal), (gtk_list_store_insert_with_valuesv): refactor code to determine iter compare func into gtk_list_store_get_compare_func(). * gtk/gtktreestore.c (gtk_tree_store_set_valist_internal), (gtk_tree_store_insert_with_valuesv): likewise.
Diffstat (limited to 'gtk/gtktreestore.c')
-rw-r--r--gtk/gtktreestore.c49
1 files changed, 21 insertions, 28 deletions
diff --git a/gtk/gtktreestore.c b/gtk/gtktreestore.c
index 3f37f6e469..03dd170a31 100644
--- a/gtk/gtktreestore.c
+++ b/gtk/gtktreestore.c
@@ -840,18 +840,11 @@ gtk_tree_store_set_value (GtkTreeStore *tree_store,
}
}
-static void
-gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store,
- GtkTreeIter *iter,
- gboolean *emit_signal,
- gboolean *maybe_need_sort,
- va_list var_args)
+static GtkTreeIterCompareFunc
+gtk_tree_store_get_compare_func (GtkTreeStore *tree_store)
{
- gint column;
GtkTreeIterCompareFunc func = NULL;
- column = va_arg (var_args, gint);
-
if (GTK_TREE_STORE_IS_SORTED (tree_store))
{
if (tree_store->sort_column_id != -1)
@@ -859,8 +852,8 @@ gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store,
GtkTreeDataSortHeader *header;
header = _gtk_tree_data_list_get_header (tree_store->sort_list,
tree_store->sort_column_id);
- g_return_if_fail (header != NULL);
- g_return_if_fail (header->func != NULL);
+ g_return_val_if_fail (header != NULL, NULL);
+ g_return_val_if_fail (header->func != NULL, NULL);
func = header->func;
}
else
@@ -869,6 +862,22 @@ gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store,
}
}
+ return func;
+}
+
+static void
+gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store,
+ GtkTreeIter *iter,
+ gboolean *emit_signal,
+ gboolean *maybe_need_sort,
+ va_list var_args)
+{
+ gint column;
+ GtkTreeIterCompareFunc func = NULL;
+
+ column = va_arg (var_args, gint);
+
+ func = gtk_tree_store_get_compare_func (tree_store);
if (func != _gtk_tree_data_list_compare_func)
*maybe_need_sort = TRUE;
@@ -1403,23 +1412,7 @@ gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store,
iter->user_data = new_node;
g_node_insert (parent_node, position, new_node);
- if (GTK_TREE_STORE_IS_SORTED (tree_store))
- {
- if (tree_store->sort_column_id != -1)
- {
- GtkTreeDataSortHeader *header;
- header = _gtk_tree_data_list_get_header (tree_store->sort_list,
- tree_store->sort_column_id);
- g_return_if_fail (header != NULL);
- g_return_if_fail (header->func != NULL);
- func = header->func;
- }
- else
- {
- func = tree_store->default_sort_func;
- }
- }
-
+ func = gtk_tree_store_get_compare_func (tree_store);
if (func != _gtk_tree_data_list_compare_func)
maybe_need_sort = TRUE;