Hello all,
I was wondering why not to make that component treeview sorted
alphabetically, so I'm trying to modify the code for it to become
sortable...
I already made some progress but still not working...
Already converted the treeview into a treeviewsortable...
below.. my (preliminary) patch... code anyone comment out the code and
help me getting this working ??
Index: gschem/src/x_compselect.c
===================================================================
--- gschem.orig/src/x_compselect.c
+++ gschem/src/x_compselect.c
@@ -705,6 +705,11 @@ compselect_init (Compselect *compselect)
child_model = compselect_create_child_model ();
- model = (GtkTreeModel*)g_object_new (GTK_TYPE_TREE_MODEL_FILTER,
- "child-model", child_model,
- "virtual-root", NULL,
- NULL);
+ model = gtk_tree_model_filter_new (child_model, NULL);
+ gtk_tree_model_filter_set_visible_func (GTK_TREE_MODEL_FILTER(model),
+ compselect_model_filter_visible_func,
+ compselect,
+ NULL);
+// model = (GtkTreeModel*)g_object_new (GTK_TYPE_TREE_MODEL_FILTER,
+// "child-model", child_model,
+// "virtual-root", NULL,
+// NULL);
/* gtk_tree_model_filter_set_visible_func ((GtkTreeModelFilter*)model, */
@@ -721,8 +726,11 @@ compselect_init (Compselect *compselect)
NULL));
+ /* FOR SORTING STUFF */
+ model = gtk_tree_model_sort_new_with_model (child_model);
/* create the treeview */
- treeview = GTK_WIDGET (g_object_new (GTK_TYPE_TREE_VIEW,
- /* GtkTreeView */
- "model", model,
- "rules-hint", TRUE,
- NULL));
+ treeview = gtk_tree_view_new_with_model (model);
+// treeview = GTK_WIDGET (g_object_new (GTK_TYPE_TREE_VIEW,
+// /* GtkTreeView */
+// "model", model,
+// "rules-hint", TRUE,
+// NULL));
/* connect callback to selection */
@@ -741,7 +749,8 @@ compselect_init (Compselect *compselect)
NULL));
- column = GTK_TREE_VIEW_COLUMN (
- g_object_new (GTK_TYPE_TREE_VIEW_COLUMN,
- /* GtkTreeViewColumn */
- "title", _("Components"),
- NULL));
+ column = gtk_tree_view_column_new_with_attributes (_("Components"),
renderer, NULL);
+// column = GTK_TREE_VIEW_COLUMN (
+// g_object_new (GTK_TYPE_TREE_VIEW_COLUMN,
+// /* GtkTreeViewColumn */
+// "title", _("Components"),
+// NULL));
gtk_tree_view_column_pack_start (column, renderer, TRUE);
@@ -756,2 +765,8 @@ compselect_init (Compselect *compselect)
compselect->treeview = GTK_TREE_VIEW (treeview);
+ /* for sorting stuff */
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (model),
+ 1, GTK_SORT_ASCENDING);
+ gtk_tree_view_column_set_sort_column_id (column, 1);
+ gtk_tree_view_column_set_sort_indicator (column, TRUE);
+ gtk_tree_view_column_set_sort_order (column, GTK_SORT_ASCENDING);
PS: Why are you guys using such low-level GTK functions if we have
higher level ones ??
Thanks in advance...
--
Best Regards,
Felipe Balbi
[EMAIL PROTECTED]
_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev