more GtkTreeModelFilter methods are wrapped
[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     (restart-case
7         (funcall fn tree-model iter)
8       (return-true () t)
9       (return-false () nil))))
10
11 (defcfun gtk-tree-model-filter-set-visible-func :void
12   (filter (g-object tree-model-filter))
13   (func :pointer)
14   (data :pointer)
15   (destroy-notify :pointer))
16
17 (defun tree-model-filter-set-visible-function (tree-model-filter function)
18   (gtk-tree-model-filter-set-visible-func
19    tree-model-filter
20    (callback gtk-tree-model-filter-visible-func-callback)
21    (allocate-stable-pointer function)
22    (callback stable-pointer-free-destroy-notify-callback)))
23
24 (export 'tree-model-filter-set-visible-function)
25
26 #|
27
28 typedef void (* GtkTreeModelFilterModifyFunc) (GtkTreeModel *model,
29                                                GtkTreeIter  *iter,
30                                                GValue       *value,
31                                                gint          column,
32                                                gpointer      data);
33
34 void          gtk_tree_model_filter_set_modify_func            (GtkTreeModelFilter           *filter,
35                                                                 gint                          n_columns,
36                                                                 GType                        *types,
37                                                                 GtkTreeModelFilterModifyFunc  func,
38                                                                 gpointer                      data,
39                                                                 GDestroyNotify                destroy);
40 |#
41
42 (defcfun gtk-tree-model-filter-set-visible-column :void
43   (filter (g-object tree-model-filter))
44   (column :int))
45
46 (defun tree-model-filter-set-visible-column (filter column)
47   (gtk-tree-model-filter-set-visible-column filter column))
48
49 (export 'tree-model-filter-set-visible-column)
50
51 ;; conversion
52
53 (defcfun gtk-tree-model-filter-convert-child-iter-to-iter :boolean
54   (filter (g-object tree-model-filter))
55   (filter-iter (g-boxed-foreign tree-iter))
56   (child-iter (g-boxed-foreign tree-iter)))
57
58 (defun tree-model-filter-convert-child-iter-to-iter (filter iter)
59   (let ((filter-iter (make-instance 'tree-iter)))
60     (when (gtk-tree-model-filter-convert-child-iter-to-iter filter filter-iter iter)
61       filter-iter)))
62
63 (export 'tree-model-filter-convert-child-iter-to-iter)
64
65 (defcfun gtk-tree-model-filter-convert-iter-to-child-iter :void
66   (filter (g-object tree-model-filter))
67   (child-iter (g-boxed-foreign tree-iter))
68   (filter-iter (g-boxed-foreign tree-iter)))
69
70 (defun tree-model-filter-convert-iter-to-child-iter (filter iter)
71   (let ((child-iter (make-instance 'tree-iter)))
72     (gtk-tree-model-filter-convert-iter-to-child-iter filter child-iter iter)
73     child-iter))
74
75 (export 'tree-model-filter-convert-iter-to-child-iter)
76
77 (defcfun gtk-tree-model-filter-convert-child-path-to-path (g-boxed-foreign tree-path :return)
78   (filter (g-object tree-model-sort))
79   (child-path (g-boxed-foreign tree-path)))
80
81 (defun tree-model-filter-convert-child-path-to-path (filter child-path)
82   (gtk-tree-model-filter-convert-child-path-to-path))
83
84 (export 'tree-model-filter-convert-child-path-to-path)
85
86 (defcfun gtk-tree-model-filter-convert-path-to-child-path (g-boxed-foreign tree-path :return)
87   (filter (g-object tree-model-sort))
88   (filter-path (g-boxed-foreign tree-path)))
89
90 (defun tree-model-filter-convert-path-to-child-path (filter child-path)
91   (gtk-tree-model-filter-convert-path-to-child-path))
92
93 (export 'tree-model-filter-convert-path-to-child-path)
94
95 ;; extras
96
97 (defcfun gtk-tree-model-filter-refilter :void
98   (filter (g-object tree-model-filter)))
99
100 (defun tree-model-filter-refilter (filter)
101   (gtk-tree-model-filter-refilter filter))
102
103 (export 'tree-model-filter-refilter)
104
105 (defcfun gtk-tree-model-filter-clear-cache :void
106   (filter (g-object tree-model-filter)))
107
108 (defun tree-model-filter-clear-cache (filter)
109   (gtk-tree-model-filter-clear-cache filter))
110
111 (export 'tree-model-filter-clear-cache)