tree-model-filter
[cl-gtk2.git] / gtk / gtk.tree-model-filter.lisp
1 (in-package :gtk)
2
3 (defcallback gtk-tree-model-filter-visible-func-callback :boolean
4   ((tree-model g-object) (iter (g-boxed-foreign tree-iter)) (data :pointer))
5   (let ((fn (get-stable-pointer-value data)))
6     (funcall fn tree-model iter)))
7
8 (defcfun gtk-tree-model-filter-set-visible-func :void
9   (filter g-object)
10   (func :pointer)
11   (data :pointer)
12   (destroy-notify :pointer))
13
14 (defun tree-model-filter-set-visible-function (tree-model-filter function)
15   (gtk-tree-model-filter-set-visible-func
16    tree-model-filter
17    (callback gtk-tree-model-filter-visible-func-callback)
18    (allocate-stable-pointer function)
19    (callback stable-pointer-free-destroy-notify-callback)))
20
21 (export 'tree-model-filter-set-visible-function)
22
23 #|
24
25 typedef void (* GtkTreeModelFilterModifyFunc) (GtkTreeModel *model,
26                                                GtkTreeIter  *iter,
27                                                GValue       *value,
28                                                gint          column,
29                                                gpointer      data);
30
31 void          gtk_tree_model_filter_set_modify_func            (GtkTreeModelFilter           *filter,
32                                                                 gint                          n_columns,
33                                                                 GType                        *types,
34                                                                 GtkTreeModelFilterModifyFunc  func,
35                                                                 gpointer                      data,
36                                                                 GDestroyNotify                destroy);
37
38 void          gtk_tree_model_filter_set_visible_column         (GtkTreeModelFilter           *filter,
39                                                                 gint                          column);
40
41 /* conversion */
42 gboolean      gtk_tree_model_filter_convert_child_iter_to_iter (GtkTreeModelFilter           *filter,
43                                                                 GtkTreeIter                  *filter_iter,
44                                                                 GtkTreeIter                  *child_iter);
45 |#
46
47 (defcfun gtk-tree-model-filter-convert-iter-to-child-iter :void
48   (filter g-object)
49   (child-iter (g-boxed-foreign tree-iter))
50   (filter-iter (g-boxed-foreign tree-iter)))
51
52 (defun tree-model-filter-convert-iter-to-child-iter (filter iter)
53   (let ((child-iter (make-instance 'tree-iter)))
54     (gtk-tree-model-filter-convert-iter-to-child-iter filter child-iter iter)
55     child-iter))
56
57 (export 'tree-model-filter-convert-iter-to-child-iter)
58
59 #|
60 GtkTreePath  *gtk_tree_model_filter_convert_child_path_to_path (GtkTreeModelFilter           *filter,
61                                                                 GtkTreePath                  *child_path);
62
63 GtkTreePath  *gtk_tree_model_filter_convert_path_to_child_path (GtkTreeModelFilter           *filter,
64                                                                 GtkTreePath                  *filter_path);
65 |#
66
67 ;; extras
68
69 (defcfun gtk-tree-model-filter-refilter :void
70   (filter g-object))
71
72 (defun tree-model-filter-refilter (filter)
73   (gtk-tree-model-filter-refilter filter))
74
75 (export 'tree-model-filter-refilter)
76
77 (defcfun gtk-tree-model-filter-clear-cache :void
78   (filter g-object))
79
80 (defun tree-model-filter-clear-cache (filter)
81   (gtk-tree-model-filter-clear-cache filter))
82
83 (export 'tree-model-filter-clear-cache)
84