static void gtk2perl_tree_selection_foreach_func (GtkTreeModel * model, GtkTreePath * path, GtkTreeIter * iter, gpointer data) { gperl_callback_invoke ((GPerlCallback*)data, NULL, model, path, iter); }
/* typedef void (* GtkTreeModelFilterModifyFunc) (GtkTreeModel *model, GtkTreeIter *iter, GValue *value, gint column, gpointer data); */ static void gtk2perl_tree_model_filter_modify_func (GtkTreeModel *model, GtkTreeIter *iter, GValue *value, gint column, gpointer data) { GPerlCallback * callback = (GPerlCallback*) data; gperl_callback_invoke (callback, value, model, iter, column); }
static void gtk2perl_cell_layout_data_func (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkTreeModel *tree_model, GtkTreeIter *iter, gpointer data) { GPerlCallback * callback = (GPerlCallback *) data; gperl_callback_invoke (callback, NULL, cell_layout, cell, tree_model, iter); }
/* typedef gboolean (* GtkTreeModelFilterVisibleFunc) (GtkTreeModel *model, GtkTreeIter *iter, gpointer data); */ static gboolean gtk2perl_tree_model_filter_visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data) { GPerlCallback * callback = (GPerlCallback*) data; GValue retval = {0, }; gboolean ret; g_value_init (&retval, G_TYPE_BOOLEAN); gperl_callback_invoke (callback, &retval, model, iter); ret = g_value_get_boolean (&retval); g_value_unset (&retval); return ret; }
static void gtk2perl_menu_detach_func (GtkWidget *attach_widget, GtkMenu *menu) { GPerlCallback *callback; callback = g_object_get_data (G_OBJECT (attach_widget), "__gtk2perl_menu_detach_func__"); if (callback) { gperl_callback_invoke (callback, NULL, attach_widget, menu); /* free the handler after it's been called */ g_object_set_data (G_OBJECT (attach_widget), "__gtk2perl_menu_detach_func__", NULL); } }
/* typedef gboolean (* GtkEntryCompletionMatchFunc) (GtkEntryCompletion *completion, const gchar *key, GtkTreeIter *iter, gpointer user_data); */ static gboolean gtk2perl_entry_completion_match_func (GtkEntryCompletion *completion, const gchar *key, GtkTreeIter *iter, gpointer user_data) { GPerlCallback * callback = (GPerlCallback*)user_data; GValue value = {0,}; gboolean ret; g_value_init (&value, G_TYPE_BOOLEAN); gperl_callback_invoke (callback, &value, completion, key, iter); ret = g_value_get_boolean (&value); g_value_unset (&value); return ret; }
static gboolean gtk2perl_tree_selection_func (GtkTreeSelection * selection, GtkTreeModel * model, GtkTreePath * path, gboolean path_currently_selected, gpointer data) { GPerlCallback * callback = (GPerlCallback*)data; GValue value = {0,}; gboolean retval; g_value_init (&value, callback->return_type); gperl_callback_invoke (callback, &value, selection, model, path, path_currently_selected); retval = g_value_get_boolean (&value); g_value_unset (&value); return retval; }