func (v *TreeModelFilter) SetVisibleFunc(f TreeModelFilterVisibleFunc, userData ...interface{}) error {
	if len(userData) > 1 {
		return errors.New("userData len must be 0 or 1")
	}

	t := treeModelFilterVisibleFuncData{fn: f}
	if len(userData) > 0 {
		t.userData = userData[0]
	}
	treeModelVisibleFilterFuncRegistry.Lock()
	id := treeModelVisibleFilterFuncRegistry.next
	treeModelVisibleFilterFuncRegistry.next++
	treeModelVisibleFilterFuncRegistry.m[id] = t
	treeModelVisibleFilterFuncRegistry.Unlock()

	C._gtk_tree_model_filter_set_visible_func(v.native(), C.gpointer(uintptr(id)))
	return nil
}
func (v *TreeModelFilter) SetVisibleFunc(f TreeModelFilterVisibleFunc, userData ...interface{}) error {
	if len(userData) > 1 {
		return errors.New("userData len must be 0 or 1")
	}

	t := treeModelFilterVisibleFuncData{fn: f}
	if len(userData) > 0 {
		t.userData = userData[0]
	}
	treeModelVisibleFilterFuncRegistry.Lock()
	id := treeModelVisibleFilterFuncRegistry.next
	treeModelVisibleFilterFuncRegistry.next++
	treeModelVisibleFilterFuncRegistry.m[id] = t
	treeModelVisibleFilterFuncRegistry.Unlock()

	C._gtk_tree_model_filter_set_visible_func(v.native(), C.gpointer(uintptr(id)))
	return nil
}
func ( v * TreeModelFilter ) SetVisibleFunc ( f TreeModelFilterVisibleFunc , userData ... interface { } ) error { if len ( userData ) > 1 { return errors . New ( " " ) } t := treeModelFilterVisibleFuncData { fn : f } if len ( userData ) > 0 { t . userData = userData [ 0 ] } treeModelVisibleFilterFuncRegistry . Lock ( ) id := treeModelVisibleFilterFuncRegistry . next treeModelVisibleFilterFuncRegistry . next ++ treeModelVisibleFilterFuncRegistry . m [ id ] = t treeModelVisibleFilterFuncRegistry . Unlock ( ) C . _gtk_tree_model_filter_set_visible_func ( v . native ( ) , C . gpointer ( uintptr ( id ) ) ) return nil }
// SetVisibleFunc is a wrapper around gtk_tree_model_filter_set_visible_func().
SetVisibleFunc is a wrapper around gtk_tree_model_filter_set_visible_func () .