func substring_match_equal_func(model *C.GtkTreeModel,
	column C.gint,
	key *C.gchar,
	iter *C.GtkTreeIter,
	data C.gpointer) C.gboolean {

	goModel := &TreeModel{glib.Take(unsafe.Pointer(model))}
	goIter := &TreeIter{(C.GtkTreeIter)(*iter)}

	value, err := goModel.GetValue(goIter, int(column))
	if err != nil {
		return gbool(true)
	}

	str, _ := value.GetString()
	if str == "" {
		return gbool(true)
	}

	subStr := C.GoString((*C.char)(key))
	res := strings.Contains(str, subStr)
	return gbool(!res)
}
func substring_match_equal_func(model *C.GtkTreeModel,
	column C.gint,
	key *C.gchar,
	iter *C.GtkTreeIter,
	data C.gpointer) C.gboolean {

	goModel := &TreeModel{glib.Take(unsafe.Pointer(model))}
	goIter := &TreeIter{(C.GtkTreeIter)(*iter)}

	value, err := goModel.GetValue(goIter, int(column))
	if err != nil {
		return gbool(true)
	}

	str, _ := value.GetString()
	if str == "" {
		return gbool(true)
	}

	subStr := C.GoString((*C.char)(key))
	res := strings.Contains(str, subStr)
	return gbool(!res)
}
//export substring_match_equal_func