/* sliceTypeList.c generated by valac 0.56.18, the Vala compiler
 * generated from sliceTypeList.vala, do not modify */

/*///////////////////////////////////////////////////////////////////////*/
/* Copyright 2011-2021 Simon Schneegans*/
/**/
/* Permission is hereby granted, free of charge, to any person obtaining*/
/* a copy of this software and associated documentation files (the*/
/* "Software"), to deal in the Software without restriction, including*/
/* without limitation the rights to use, copy, modify, merge, publish,*/
/* distribute, sublicense, and/or sell copies of the Software, and to*/
/* permit persons to whom the Software is furnished to do so, subject to*/
/* the following conditions:*/
/* */
/* The above copyright notice and this permission notice shall be*/
/* included in all copies or substantial portions of the Software.*/
/* */
/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,*/
/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF*/
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY*/
/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,*/
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE*/
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/
/*///////////////////////////////////////////////////////////////////////*/

#include <gtk/gtk.h>
#include <glib-object.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <glib/gi18n-lib.h>
#include <gee.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define GNOME_PIE_TYPE_SLICE_TYPE_LIST (gnome_pie_slice_type_list_get_type ())
#define GNOME_PIE_SLICE_TYPE_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_PIE_TYPE_SLICE_TYPE_LIST, GnomePieSliceTypeList))
#define GNOME_PIE_SLICE_TYPE_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_PIE_TYPE_SLICE_TYPE_LIST, GnomePieSliceTypeListClass))
#define GNOME_PIE_IS_SLICE_TYPE_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_PIE_TYPE_SLICE_TYPE_LIST))
#define GNOME_PIE_IS_SLICE_TYPE_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_PIE_TYPE_SLICE_TYPE_LIST))
#define GNOME_PIE_SLICE_TYPE_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_PIE_TYPE_SLICE_TYPE_LIST, GnomePieSliceTypeListClass))

typedef struct _GnomePieSliceTypeList GnomePieSliceTypeList;
typedef struct _GnomePieSliceTypeListClass GnomePieSliceTypeListClass;
typedef struct _GnomePieSliceTypeListPrivate GnomePieSliceTypeListPrivate;
enum  {
	GNOME_PIE_SLICE_TYPE_LIST_0_PROPERTY,
	GNOME_PIE_SLICE_TYPE_LIST_NUM_PROPERTIES
};
static GParamSpec* gnome_pie_slice_type_list_properties[GNOME_PIE_SLICE_TYPE_LIST_NUM_PROPERTIES];
typedef enum  {
	GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ICON,
	GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ICON_NAME,
	GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_NAME,
	GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ID
} GnomePieSliceTypeListDataPos;

#define GNOME_PIE_SLICE_TYPE_LIST_TYPE_DATA_POS (gnome_pie_slice_type_list_data_pos_get_type ())
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))

#define GNOME_PIE_ACTION_REGISTRY_TYPE_TYPEDESCRIPTION (gnome_pie_action_registry_typedescription_get_type ())
#define GNOME_PIE_ACTION_REGISTRY_TYPEDESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_PIE_ACTION_REGISTRY_TYPE_TYPEDESCRIPTION, GnomePieActionRegistryTypeDescription))
#define GNOME_PIE_ACTION_REGISTRY_TYPEDESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_PIE_ACTION_REGISTRY_TYPE_TYPEDESCRIPTION, GnomePieActionRegistryTypeDescriptionClass))
#define GNOME_PIE_ACTION_REGISTRY_IS_TYPEDESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_PIE_ACTION_REGISTRY_TYPE_TYPEDESCRIPTION))
#define GNOME_PIE_ACTION_REGISTRY_IS_TYPEDESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_PIE_ACTION_REGISTRY_TYPE_TYPEDESCRIPTION))
#define GNOME_PIE_ACTION_REGISTRY_TYPEDESCRIPTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_PIE_ACTION_REGISTRY_TYPE_TYPEDESCRIPTION, GnomePieActionRegistryTypeDescriptionClass))

typedef struct _GnomePieActionRegistryTypeDescription GnomePieActionRegistryTypeDescription;
typedef struct _GnomePieActionRegistryTypeDescriptionClass GnomePieActionRegistryTypeDescriptionClass;

#define GNOME_PIE_TYPE_IMAGE (gnome_pie_image_get_type ())
#define GNOME_PIE_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_PIE_TYPE_IMAGE, GnomePieImage))
#define GNOME_PIE_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_PIE_TYPE_IMAGE, GnomePieImageClass))
#define GNOME_PIE_IS_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_PIE_TYPE_IMAGE))
#define GNOME_PIE_IS_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_PIE_TYPE_IMAGE))
#define GNOME_PIE_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_PIE_TYPE_IMAGE, GnomePieImageClass))

typedef struct _GnomePieImage GnomePieImage;
typedef struct _GnomePieImageClass GnomePieImageClass;

#define GNOME_PIE_TYPE_ICON (gnome_pie_icon_get_type ())
#define GNOME_PIE_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_PIE_TYPE_ICON, GnomePieIcon))
#define GNOME_PIE_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_PIE_TYPE_ICON, GnomePieIconClass))
#define GNOME_PIE_IS_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_PIE_TYPE_ICON))
#define GNOME_PIE_IS_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_PIE_TYPE_ICON))
#define GNOME_PIE_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_PIE_TYPE_ICON, GnomePieIconClass))

typedef struct _GnomePieIcon GnomePieIcon;
typedef struct _GnomePieIconClass GnomePieIconClass;
#define _gnome_pie_action_registry_typedescription_unref0(var) ((var == NULL) ? NULL : (var = (gnome_pie_action_registry_typedescription_unref (var), NULL)))

#define GNOME_PIE_GROUP_REGISTRY_TYPE_TYPEDESCRIPTION (gnome_pie_group_registry_typedescription_get_type ())
#define GNOME_PIE_GROUP_REGISTRY_TYPEDESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GNOME_PIE_GROUP_REGISTRY_TYPE_TYPEDESCRIPTION, GnomePieGroupRegistryTypeDescription))
#define GNOME_PIE_GROUP_REGISTRY_TYPEDESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GNOME_PIE_GROUP_REGISTRY_TYPE_TYPEDESCRIPTION, GnomePieGroupRegistryTypeDescriptionClass))
#define GNOME_PIE_GROUP_REGISTRY_IS_TYPEDESCRIPTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GNOME_PIE_GROUP_REGISTRY_TYPE_TYPEDESCRIPTION))
#define GNOME_PIE_GROUP_REGISTRY_IS_TYPEDESCRIPTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_PIE_GROUP_REGISTRY_TYPE_TYPEDESCRIPTION))
#define GNOME_PIE_GROUP_REGISTRY_TYPEDESCRIPTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GNOME_PIE_GROUP_REGISTRY_TYPE_TYPEDESCRIPTION, GnomePieGroupRegistryTypeDescriptionClass))

typedef struct _GnomePieGroupRegistryTypeDescription GnomePieGroupRegistryTypeDescription;
typedef struct _GnomePieGroupRegistryTypeDescriptionClass GnomePieGroupRegistryTypeDescriptionClass;
#define _gnome_pie_group_registry_typedescription_unref0(var) ((var == NULL) ? NULL : (var = (gnome_pie_group_registry_typedescription_unref (var), NULL)))
typedef struct _Block15Data Block15Data;
enum  {
	GNOME_PIE_SLICE_TYPE_LIST_ON_SELECT_SIGNAL,
	GNOME_PIE_SLICE_TYPE_LIST_NUM_SIGNALS
};
static guint gnome_pie_slice_type_list_signals[GNOME_PIE_SLICE_TYPE_LIST_NUM_SIGNALS] = {0};

struct _GnomePieSliceTypeList {
	GtkTreeView parent_instance;
	GnomePieSliceTypeListPrivate * priv;
};

struct _GnomePieSliceTypeListClass {
	GtkTreeViewClass parent_class;
};

struct _GnomePieSliceTypeListPrivate {
	GtkListStore* data;
};

struct _Block15Data {
	int _ref_count_;
	GnomePieSliceTypeList* self;
	gchar* id;
};

static gint GnomePieSliceTypeList_private_offset;
static gpointer gnome_pie_slice_type_list_parent_class = NULL;

VALA_EXTERN GType gnome_pie_slice_type_list_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomePieSliceTypeList, g_object_unref)
static GType gnome_pie_slice_type_list_data_pos_get_type (void) G_GNUC_CONST  G_GNUC_UNUSED ;
VALA_EXTERN GnomePieSliceTypeList* gnome_pie_slice_type_list_new (void);
VALA_EXTERN GnomePieSliceTypeList* gnome_pie_slice_type_list_construct (GType object_type);
static void __lambda38_ (GnomePieSliceTypeList* self);
static void ___lambda38__gtk_tree_selection_changed (GtkTreeSelection* _sender,
                                              gpointer self);
VALA_EXTERN void gnome_pie_slice_type_list_reload_all (GnomePieSliceTypeList* self);
VALA_EXTERN GeeArrayList* gnome_pie_action_registry_get_types (void);
VALA_EXTERN gpointer gnome_pie_action_registry_typedescription_ref (gpointer instance);
VALA_EXTERN void gnome_pie_action_registry_typedescription_unref (gpointer instance);
VALA_EXTERN GParamSpec* gnome_pie_action_registry_param_spec_typedescription (const gchar* name,
                                                                  const gchar* nick,
                                                                  const gchar* blurb,
                                                                  GType object_type,
                                                                  GParamFlags flags);
VALA_EXTERN void gnome_pie_action_registry_value_set_typedescription (GValue* value,
                                                          gpointer v_object);
VALA_EXTERN void gnome_pie_action_registry_value_take_typedescription (GValue* value,
                                                           gpointer v_object);
VALA_EXTERN gpointer gnome_pie_action_registry_value_get_typedescription (const GValue* value);
VALA_EXTERN GType gnome_pie_action_registry_typedescription_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomePieActionRegistryTypeDescription, gnome_pie_action_registry_typedescription_unref)
VALA_EXTERN GeeHashMap* gnome_pie_action_registry_get_descriptions (void);
VALA_EXTERN GType gnome_pie_image_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomePieImage, g_object_unref)
VALA_EXTERN GType gnome_pie_icon_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomePieIcon, g_object_unref)
VALA_EXTERN const gchar* gnome_pie_action_registry_typedescription_get_icon (GnomePieActionRegistryTypeDescription* self);
VALA_EXTERN GnomePieIcon* gnome_pie_icon_new (const gchar* icon_name,
                                  gint size);
VALA_EXTERN GnomePieIcon* gnome_pie_icon_construct (GType object_type,
                                        const gchar* icon_name,
                                        gint size);
VALA_EXTERN GdkPixbuf* gnome_pie_image_to_pixbuf (GnomePieImage* self);
VALA_EXTERN const gchar* gnome_pie_action_registry_typedescription_get_name (GnomePieActionRegistryTypeDescription* self);
VALA_EXTERN const gchar* gnome_pie_action_registry_typedescription_get_description (GnomePieActionRegistryTypeDescription* self);
VALA_EXTERN const gchar* gnome_pie_action_registry_typedescription_get_id (GnomePieActionRegistryTypeDescription* self);
VALA_EXTERN GeeArrayList* gnome_pie_group_registry_get_types (void);
VALA_EXTERN gpointer gnome_pie_group_registry_typedescription_ref (gpointer instance);
VALA_EXTERN void gnome_pie_group_registry_typedescription_unref (gpointer instance);
VALA_EXTERN GParamSpec* gnome_pie_group_registry_param_spec_typedescription (const gchar* name,
                                                                 const gchar* nick,
                                                                 const gchar* blurb,
                                                                 GType object_type,
                                                                 GParamFlags flags);
VALA_EXTERN void gnome_pie_group_registry_value_set_typedescription (GValue* value,
                                                         gpointer v_object);
VALA_EXTERN void gnome_pie_group_registry_value_take_typedescription (GValue* value,
                                                          gpointer v_object);
VALA_EXTERN gpointer gnome_pie_group_registry_value_get_typedescription (const GValue* value);
VALA_EXTERN GType gnome_pie_group_registry_typedescription_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GnomePieGroupRegistryTypeDescription, gnome_pie_group_registry_typedescription_unref)
VALA_EXTERN GeeHashMap* gnome_pie_group_registry_get_descriptions (void);
VALA_EXTERN const gchar* gnome_pie_group_registry_typedescription_get_icon (GnomePieGroupRegistryTypeDescription* self);
VALA_EXTERN const gchar* gnome_pie_group_registry_typedescription_get_name (GnomePieGroupRegistryTypeDescription* self);
VALA_EXTERN const gchar* gnome_pie_group_registry_typedescription_get_description (GnomePieGroupRegistryTypeDescription* self);
VALA_EXTERN const gchar* gnome_pie_group_registry_typedescription_get_id (GnomePieGroupRegistryTypeDescription* self);
VALA_EXTERN void gnome_pie_slice_type_list_select_first (GnomePieSliceTypeList* self);
VALA_EXTERN void gnome_pie_slice_type_list_select (GnomePieSliceTypeList* self,
                                       const gchar* id);
static Block15Data* block15_data_ref (Block15Data* _data15_);
static void block15_data_unref (void * _userdata_);
static gboolean __lambda39_ (Block15Data* _data15_,
                      GtkTreeModel* model,
                      GtkTreePath* path,
                      GtkTreeIter* iter);
static gboolean ___lambda39__gtk_tree_model_foreach_func (GtkTreeModel* model,
                                                   GtkTreePath* path,
                                                   GtkTreeIter* iter,
                                                   gpointer self);
static void g_cclosure_user_marshal_VOID__STRING_STRING (GClosure * closure,
                                                  GValue * return_value,
                                                  guint n_param_values,
                                                  const GValue * param_values,
                                                  gpointer invocation_hint,
                                                  gpointer marshal_data);
static void gnome_pie_slice_type_list_finalize (GObject * obj);
static GType gnome_pie_slice_type_list_get_type_once (void);

static inline gpointer
gnome_pie_slice_type_list_get_instance_private (GnomePieSliceTypeList* self)
{
	return G_STRUCT_MEMBER_P (self, GnomePieSliceTypeList_private_offset);
}

static GType
gnome_pie_slice_type_list_data_pos_get_type_once (void)
{
	static const GEnumValue values[] = {{GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ICON, "GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ICON", "icon"}, {GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ICON_NAME, "GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ICON_NAME", "icon-name"}, {GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_NAME, "GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_NAME", "name"}, {GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ID, "GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ID", "id"}, {0, NULL, NULL}};
	GType gnome_pie_slice_type_list_data_pos_type_id;
	gnome_pie_slice_type_list_data_pos_type_id = g_enum_register_static ("GnomePieSliceTypeListDataPos", values);
	return gnome_pie_slice_type_list_data_pos_type_id;
}

static GType
gnome_pie_slice_type_list_data_pos_get_type (void)
{
	static volatile gsize gnome_pie_slice_type_list_data_pos_type_id__once = 0;
	if (g_once_init_enter (&gnome_pie_slice_type_list_data_pos_type_id__once)) {
		GType gnome_pie_slice_type_list_data_pos_type_id;
		gnome_pie_slice_type_list_data_pos_type_id = gnome_pie_slice_type_list_data_pos_get_type_once ();
		g_once_init_leave (&gnome_pie_slice_type_list_data_pos_type_id__once, gnome_pie_slice_type_list_data_pos_type_id);
	}
	return gnome_pie_slice_type_list_data_pos_type_id__once;
}

static void
__lambda38_ (GnomePieSliceTypeList* self)
{
	GtkTreeIter active = {0};
	GtkTreeSelection* _tmp0_;
	GtkTreeIter _tmp1_ = {0};
	gboolean _tmp2_;
	_tmp0_ = gtk_tree_view_get_selection ((GtkTreeView*) self);
	_tmp2_ = gtk_tree_selection_get_selected (_tmp0_, NULL, &_tmp1_);
	active = _tmp1_;
	if (_tmp2_) {
		gchar* id = NULL;
		gchar* _tmp3_;
		gchar* icon = NULL;
		gchar* _tmp4_;
		GtkListStore* _tmp5_;
		GtkTreeIter _tmp6_;
		gchar* _tmp7_ = NULL;
		GtkListStore* _tmp8_;
		GtkTreeIter _tmp9_;
		gchar* _tmp10_ = NULL;
		const gchar* _tmp11_;
		const gchar* _tmp12_;
		_tmp3_ = g_strdup ("");
		id = _tmp3_;
		_tmp4_ = g_strdup ("");
		icon = _tmp4_;
		_tmp5_ = self->priv->data;
		_tmp6_ = active;
		gtk_tree_model_get ((GtkTreeModel*) _tmp5_, &_tmp6_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ID, &_tmp7_, -1);
		_g_free0 (id);
		id = _tmp7_;
		_tmp8_ = self->priv->data;
		_tmp9_ = active;
		gtk_tree_model_get ((GtkTreeModel*) _tmp8_, &_tmp9_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ICON_NAME, &_tmp10_, -1);
		_g_free0 (icon);
		icon = _tmp10_;
		_tmp11_ = id;
		_tmp12_ = icon;
		g_signal_emit (self, gnome_pie_slice_type_list_signals[GNOME_PIE_SLICE_TYPE_LIST_ON_SELECT_SIGNAL], 0, _tmp11_, _tmp12_);
		_g_free0 (icon);
		_g_free0 (id);
	}
}

static void
___lambda38__gtk_tree_selection_changed (GtkTreeSelection* _sender,
                                         gpointer self)
{
	__lambda38_ ((GnomePieSliceTypeList*) self);
}

GnomePieSliceTypeList*
gnome_pie_slice_type_list_construct (GType object_type)
{
	GnomePieSliceTypeList * self = NULL;
	GtkListStore* _tmp0_;
	GtkListStore* _tmp1_;
	GtkListStore* _tmp2_;
	GtkTreeViewColumn* main_column = NULL;
	GtkTreeViewColumn* _tmp3_;
	GtkCellRendererPixbuf* icon_render = NULL;
	GtkCellRendererPixbuf* _tmp4_;
	GtkCellRendererText* name_render = NULL;
	GtkCellRendererText* _tmp5_;
	GtkTreeSelection* _tmp6_;
	self = (GnomePieSliceTypeList*) g_object_new (object_type, NULL);
	_tmp0_ = gtk_list_store_new (4, gdk_pixbuf_get_type (), G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, -1);
	_g_object_unref0 (self->priv->data);
	self->priv->data = _tmp0_;
	_tmp1_ = self->priv->data;
	gtk_tree_sortable_set_sort_column_id ((GtkTreeSortable*) _tmp1_, 2, GTK_SORT_ASCENDING);
	_tmp2_ = self->priv->data;
	gtk_tree_view_set_model (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), (GtkTreeModel*) _tmp2_);
	gtk_tree_view_set_headers_visible (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), TRUE);
	gtk_tree_view_set_grid_lines (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), GTK_TREE_VIEW_GRID_LINES_NONE);
	gtk_tree_view_set_fixed_height_mode ((GtkTreeView*) self, TRUE);
	_tmp3_ = gtk_tree_view_column_new ();
	g_object_ref_sink (_tmp3_);
	main_column = _tmp3_;
	gtk_tree_view_column_set_sizing (main_column, GTK_TREE_VIEW_COLUMN_FIXED);
	gtk_tree_view_column_set_title (main_column, _ ("Slice types"));
	_tmp4_ = (GtkCellRendererPixbuf*) gtk_cell_renderer_pixbuf_new ();
	g_object_ref_sink (_tmp4_);
	icon_render = _tmp4_;
	gtk_cell_layout_pack_start ((GtkCellLayout*) main_column, (GtkCellRenderer*) icon_render, FALSE);
	_tmp5_ = (GtkCellRendererText*) gtk_cell_renderer_text_new ();
	g_object_ref_sink (_tmp5_);
	name_render = _tmp5_;
	g_object_set ((GtkCellRenderer*) name_render, "xpad", (guint) 6, NULL);
	gtk_cell_layout_pack_start ((GtkCellLayout*) main_column, (GtkCellRenderer*) name_render, TRUE);
	gtk_tree_view_append_column (G_TYPE_CHECK_INSTANCE_CAST (self, gtk_tree_view_get_type (), GtkTreeView), main_column);
	gtk_cell_layout_add_attribute ((GtkCellLayout*) main_column, (GtkCellRenderer*) icon_render, "pixbuf", (gint) GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ICON);
	gtk_cell_layout_add_attribute ((GtkCellLayout*) main_column, (GtkCellRenderer*) name_render, "markup", (gint) GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_NAME);
	_tmp6_ = gtk_tree_view_get_selection ((GtkTreeView*) self);
	g_signal_connect_object (_tmp6_, "changed", (GCallback) ___lambda38__gtk_tree_selection_changed, self, 0);
	gnome_pie_slice_type_list_reload_all (self);
	_g_object_unref0 (name_render);
	_g_object_unref0 (icon_render);
	_g_object_unref0 (main_column);
	return self;
}

GnomePieSliceTypeList*
gnome_pie_slice_type_list_new (void)
{
	return gnome_pie_slice_type_list_construct (GNOME_PIE_TYPE_SLICE_TYPE_LIST);
}

void
gnome_pie_slice_type_list_reload_all (GnomePieSliceTypeList* self)
{
	GtkTreeIter active = {0};
	gchar* current_id = NULL;
	gchar* _tmp0_;
	GtkTreeSelection* _tmp1_;
	GtkTreeIter _tmp2_ = {0};
	gboolean _tmp3_;
	GtkListStore* _tmp7_;
	const gchar* _tmp116_;
	g_return_if_fail (self != NULL);
	_tmp0_ = g_strdup ("");
	current_id = _tmp0_;
	_tmp1_ = gtk_tree_view_get_selection ((GtkTreeView*) self);
	_tmp3_ = gtk_tree_selection_get_selected (_tmp1_, NULL, &_tmp2_);
	active = _tmp2_;
	if (_tmp3_) {
		GtkListStore* _tmp4_;
		GtkTreeIter _tmp5_;
		gchar* _tmp6_ = NULL;
		_tmp4_ = self->priv->data;
		_tmp5_ = active;
		gtk_tree_model_get ((GtkTreeModel*) _tmp4_, &_tmp5_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ID, &_tmp6_, -1);
		_g_free0 (current_id);
		current_id = _tmp6_;
	}
	_tmp7_ = self->priv->data;
	gtk_list_store_clear (_tmp7_);
	{
		GeeArrayList* _action_type_list = NULL;
		GeeArrayList* _tmp8_;
		GeeArrayList* _tmp9_;
		gint _action_type_size = 0;
		GeeArrayList* _tmp10_;
		gint _tmp11_;
		gint _tmp12_;
		gint _action_type_index = 0;
		_tmp8_ = gnome_pie_action_registry_get_types ();
		_tmp9_ = _tmp8_;
		_action_type_list = _tmp9_;
		_tmp10_ = _action_type_list;
		_tmp11_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp10_);
		_tmp12_ = _tmp11_;
		_action_type_size = _tmp12_;
		_action_type_index = -1;
		while (TRUE) {
			gint _tmp13_;
			gint _tmp14_;
			gchar* action_type = NULL;
			GeeArrayList* _tmp15_;
			gpointer _tmp16_;
			GnomePieActionRegistryTypeDescription* description = NULL;
			GeeHashMap* _tmp17_;
			GeeHashMap* _tmp18_;
			const gchar* _tmp19_;
			gpointer _tmp20_;
			GtkTreeIter current = {0};
			GtkListStore* _tmp21_;
			GtkTreeIter _tmp22_ = {0};
			GnomePieIcon* icon = NULL;
			GnomePieActionRegistryTypeDescription* _tmp23_;
			const gchar* _tmp24_;
			const gchar* _tmp25_;
			GnomePieIcon* _tmp26_;
			GtkListStore* _tmp27_;
			GtkTreeIter _tmp28_;
			GnomePieIcon* _tmp29_;
			GdkPixbuf* _tmp30_;
			GdkPixbuf* _tmp31_;
			GtkListStore* _tmp32_;
			GtkTreeIter _tmp33_;
			GnomePieActionRegistryTypeDescription* _tmp34_;
			const gchar* _tmp35_;
			const gchar* _tmp36_;
			GtkListStore* _tmp37_;
			GtkTreeIter _tmp38_;
			GnomePieActionRegistryTypeDescription* _tmp39_;
			const gchar* _tmp40_;
			const gchar* _tmp41_;
			gchar* _tmp42_;
			gchar* _tmp43_;
			gchar* _tmp44_;
			gchar* _tmp45_;
			gchar* _tmp46_;
			gchar* _tmp47_;
			GnomePieActionRegistryTypeDescription* _tmp48_;
			const gchar* _tmp49_;
			const gchar* _tmp50_;
			gchar* _tmp51_;
			gchar* _tmp52_;
			gchar* _tmp53_;
			gchar* _tmp54_;
			gchar* _tmp55_;
			gchar* _tmp56_;
			GtkListStore* _tmp57_;
			GtkTreeIter _tmp58_;
			GnomePieActionRegistryTypeDescription* _tmp59_;
			const gchar* _tmp60_;
			const gchar* _tmp61_;
			_action_type_index = _action_type_index + 1;
			_tmp13_ = _action_type_index;
			_tmp14_ = _action_type_size;
			if (!(_tmp13_ < _tmp14_)) {
				break;
			}
			_tmp15_ = _action_type_list;
			_tmp16_ = gee_abstract_list_get ((GeeAbstractList*) _tmp15_, _action_type_index);
			action_type = (gchar*) _tmp16_;
			_tmp17_ = gnome_pie_action_registry_get_descriptions ();
			_tmp18_ = _tmp17_;
			_tmp19_ = action_type;
			_tmp20_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp18_, _tmp19_);
			description = (GnomePieActionRegistryTypeDescription*) _tmp20_;
			_tmp21_ = self->priv->data;
			gtk_list_store_append (_tmp21_, &_tmp22_);
			current = _tmp22_;
			_tmp23_ = description;
			_tmp24_ = gnome_pie_action_registry_typedescription_get_icon (_tmp23_);
			_tmp25_ = _tmp24_;
			_tmp26_ = gnome_pie_icon_new (_tmp25_, 36);
			icon = _tmp26_;
			_tmp27_ = self->priv->data;
			_tmp28_ = current;
			_tmp29_ = icon;
			_tmp30_ = gnome_pie_image_to_pixbuf ((GnomePieImage*) _tmp29_);
			_tmp31_ = _tmp30_;
			gtk_list_store_set (_tmp27_, &_tmp28_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ICON, _tmp31_, -1);
			_g_object_unref0 (_tmp31_);
			_tmp32_ = self->priv->data;
			_tmp33_ = current;
			_tmp34_ = description;
			_tmp35_ = gnome_pie_action_registry_typedescription_get_icon (_tmp34_);
			_tmp36_ = _tmp35_;
			gtk_list_store_set (_tmp32_, &_tmp33_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ICON_NAME, _tmp36_, -1);
			_tmp37_ = self->priv->data;
			_tmp38_ = current;
			_tmp39_ = description;
			_tmp40_ = gnome_pie_action_registry_typedescription_get_name (_tmp39_);
			_tmp41_ = _tmp40_;
			_tmp42_ = g_markup_escape_text (_tmp41_, (gssize) -1);
			_tmp43_ = _tmp42_;
			_tmp44_ = g_strconcat (_tmp43_, "\n", NULL);
			_tmp45_ = _tmp44_;
			_tmp46_ = g_strconcat (_tmp45_, "<span font-size='x-small'>", NULL);
			_tmp47_ = _tmp46_;
			_tmp48_ = description;
			_tmp49_ = gnome_pie_action_registry_typedescription_get_description (_tmp48_);
			_tmp50_ = _tmp49_;
			_tmp51_ = g_markup_escape_text (_tmp50_, (gssize) -1);
			_tmp52_ = _tmp51_;
			_tmp53_ = g_strconcat (_tmp47_, _tmp52_, NULL);
			_tmp54_ = _tmp53_;
			_tmp55_ = g_strconcat (_tmp54_, "</span>", NULL);
			_tmp56_ = _tmp55_;
			gtk_list_store_set (_tmp37_, &_tmp38_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_NAME, _tmp56_, -1);
			_g_free0 (_tmp56_);
			_g_free0 (_tmp54_);
			_g_free0 (_tmp52_);
			_g_free0 (_tmp47_);
			_g_free0 (_tmp45_);
			_g_free0 (_tmp43_);
			_tmp57_ = self->priv->data;
			_tmp58_ = current;
			_tmp59_ = description;
			_tmp60_ = gnome_pie_action_registry_typedescription_get_id (_tmp59_);
			_tmp61_ = _tmp60_;
			gtk_list_store_set (_tmp57_, &_tmp58_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ID, _tmp61_, -1);
			_g_object_unref0 (icon);
			_gnome_pie_action_registry_typedescription_unref0 (description);
			_g_free0 (action_type);
		}
	}
	{
		GeeArrayList* _group_type_list = NULL;
		GeeArrayList* _tmp62_;
		GeeArrayList* _tmp63_;
		gint _group_type_size = 0;
		GeeArrayList* _tmp64_;
		gint _tmp65_;
		gint _tmp66_;
		gint _group_type_index = 0;
		_tmp62_ = gnome_pie_group_registry_get_types ();
		_tmp63_ = _tmp62_;
		_group_type_list = _tmp63_;
		_tmp64_ = _group_type_list;
		_tmp65_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp64_);
		_tmp66_ = _tmp65_;
		_group_type_size = _tmp66_;
		_group_type_index = -1;
		while (TRUE) {
			gint _tmp67_;
			gint _tmp68_;
			gchar* group_type = NULL;
			GeeArrayList* _tmp69_;
			gpointer _tmp70_;
			GnomePieGroupRegistryTypeDescription* description = NULL;
			GeeHashMap* _tmp71_;
			GeeHashMap* _tmp72_;
			const gchar* _tmp73_;
			gpointer _tmp74_;
			GtkTreeIter current = {0};
			GtkListStore* _tmp75_;
			GtkTreeIter _tmp76_ = {0};
			GnomePieIcon* icon = NULL;
			GnomePieGroupRegistryTypeDescription* _tmp77_;
			const gchar* _tmp78_;
			const gchar* _tmp79_;
			GnomePieIcon* _tmp80_;
			GtkListStore* _tmp81_;
			GtkTreeIter _tmp82_;
			GnomePieIcon* _tmp83_;
			GdkPixbuf* _tmp84_;
			GdkPixbuf* _tmp85_;
			GtkListStore* _tmp86_;
			GtkTreeIter _tmp87_;
			GnomePieGroupRegistryTypeDescription* _tmp88_;
			const gchar* _tmp89_;
			const gchar* _tmp90_;
			GtkListStore* _tmp91_;
			GtkTreeIter _tmp92_;
			GnomePieGroupRegistryTypeDescription* _tmp93_;
			const gchar* _tmp94_;
			const gchar* _tmp95_;
			gchar* _tmp96_;
			gchar* _tmp97_;
			gchar* _tmp98_;
			gchar* _tmp99_;
			gchar* _tmp100_;
			gchar* _tmp101_;
			GnomePieGroupRegistryTypeDescription* _tmp102_;
			const gchar* _tmp103_;
			const gchar* _tmp104_;
			gchar* _tmp105_;
			gchar* _tmp106_;
			gchar* _tmp107_;
			gchar* _tmp108_;
			gchar* _tmp109_;
			gchar* _tmp110_;
			GtkListStore* _tmp111_;
			GtkTreeIter _tmp112_;
			GnomePieGroupRegistryTypeDescription* _tmp113_;
			const gchar* _tmp114_;
			const gchar* _tmp115_;
			_group_type_index = _group_type_index + 1;
			_tmp67_ = _group_type_index;
			_tmp68_ = _group_type_size;
			if (!(_tmp67_ < _tmp68_)) {
				break;
			}
			_tmp69_ = _group_type_list;
			_tmp70_ = gee_abstract_list_get ((GeeAbstractList*) _tmp69_, _group_type_index);
			group_type = (gchar*) _tmp70_;
			_tmp71_ = gnome_pie_group_registry_get_descriptions ();
			_tmp72_ = _tmp71_;
			_tmp73_ = group_type;
			_tmp74_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp72_, _tmp73_);
			description = (GnomePieGroupRegistryTypeDescription*) _tmp74_;
			_tmp75_ = self->priv->data;
			gtk_list_store_append (_tmp75_, &_tmp76_);
			current = _tmp76_;
			_tmp77_ = description;
			_tmp78_ = gnome_pie_group_registry_typedescription_get_icon (_tmp77_);
			_tmp79_ = _tmp78_;
			_tmp80_ = gnome_pie_icon_new (_tmp79_, 36);
			icon = _tmp80_;
			_tmp81_ = self->priv->data;
			_tmp82_ = current;
			_tmp83_ = icon;
			_tmp84_ = gnome_pie_image_to_pixbuf ((GnomePieImage*) _tmp83_);
			_tmp85_ = _tmp84_;
			gtk_list_store_set (_tmp81_, &_tmp82_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ICON, _tmp85_, -1);
			_g_object_unref0 (_tmp85_);
			_tmp86_ = self->priv->data;
			_tmp87_ = current;
			_tmp88_ = description;
			_tmp89_ = gnome_pie_group_registry_typedescription_get_icon (_tmp88_);
			_tmp90_ = _tmp89_;
			gtk_list_store_set (_tmp86_, &_tmp87_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ICON_NAME, _tmp90_, -1);
			_tmp91_ = self->priv->data;
			_tmp92_ = current;
			_tmp93_ = description;
			_tmp94_ = gnome_pie_group_registry_typedescription_get_name (_tmp93_);
			_tmp95_ = _tmp94_;
			_tmp96_ = g_markup_escape_text (_tmp95_, (gssize) -1);
			_tmp97_ = _tmp96_;
			_tmp98_ = g_strconcat (_tmp97_, "\n", NULL);
			_tmp99_ = _tmp98_;
			_tmp100_ = g_strconcat (_tmp99_, "<span font-size='x-small'>", NULL);
			_tmp101_ = _tmp100_;
			_tmp102_ = description;
			_tmp103_ = gnome_pie_group_registry_typedescription_get_description (_tmp102_);
			_tmp104_ = _tmp103_;
			_tmp105_ = g_markup_escape_text (_tmp104_, (gssize) -1);
			_tmp106_ = _tmp105_;
			_tmp107_ = g_strconcat (_tmp101_, _tmp106_, NULL);
			_tmp108_ = _tmp107_;
			_tmp109_ = g_strconcat (_tmp108_, "</span>", NULL);
			_tmp110_ = _tmp109_;
			gtk_list_store_set (_tmp91_, &_tmp92_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_NAME, _tmp110_, -1);
			_g_free0 (_tmp110_);
			_g_free0 (_tmp108_);
			_g_free0 (_tmp106_);
			_g_free0 (_tmp101_);
			_g_free0 (_tmp99_);
			_g_free0 (_tmp97_);
			_tmp111_ = self->priv->data;
			_tmp112_ = current;
			_tmp113_ = description;
			_tmp114_ = gnome_pie_group_registry_typedescription_get_id (_tmp113_);
			_tmp115_ = _tmp114_;
			gtk_list_store_set (_tmp111_, &_tmp112_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ID, _tmp115_, -1);
			_g_object_unref0 (icon);
			_gnome_pie_group_registry_typedescription_unref0 (description);
			_g_free0 (group_type);
		}
	}
	gnome_pie_slice_type_list_select_first (self);
	_tmp116_ = current_id;
	gnome_pie_slice_type_list_select (self, _tmp116_);
	_g_free0 (current_id);
}

void
gnome_pie_slice_type_list_select_first (GnomePieSliceTypeList* self)
{
	GtkTreeIter active = {0};
	GtkListStore* _tmp0_;
	GtkTreeIter _tmp1_ = {0};
	gboolean _tmp2_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->data;
	_tmp2_ = gtk_tree_model_get_iter_first ((GtkTreeModel*) _tmp0_, &_tmp1_);
	active = _tmp1_;
	if (_tmp2_) {
		GtkTreeSelection* _tmp3_;
		GtkTreeIter _tmp4_;
		gchar* id = NULL;
		gchar* _tmp5_;
		gchar* icon = NULL;
		gchar* _tmp6_;
		GtkListStore* _tmp7_;
		GtkTreeIter _tmp8_;
		gchar* _tmp9_ = NULL;
		GtkListStore* _tmp10_;
		GtkTreeIter _tmp11_;
		gchar* _tmp12_ = NULL;
		const gchar* _tmp13_;
		const gchar* _tmp14_;
		_tmp3_ = gtk_tree_view_get_selection ((GtkTreeView*) self);
		_tmp4_ = active;
		gtk_tree_selection_select_iter (_tmp3_, &_tmp4_);
		_tmp5_ = g_strdup ("");
		id = _tmp5_;
		_tmp6_ = g_strdup ("");
		icon = _tmp6_;
		_tmp7_ = self->priv->data;
		_tmp8_ = active;
		gtk_tree_model_get ((GtkTreeModel*) _tmp7_, &_tmp8_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ID, &_tmp9_, -1);
		_g_free0 (id);
		id = _tmp9_;
		_tmp10_ = self->priv->data;
		_tmp11_ = active;
		gtk_tree_model_get ((GtkTreeModel*) _tmp10_, &_tmp11_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ICON_NAME, &_tmp12_, -1);
		_g_free0 (icon);
		icon = _tmp12_;
		_tmp13_ = id;
		_tmp14_ = icon;
		g_signal_emit (self, gnome_pie_slice_type_list_signals[GNOME_PIE_SLICE_TYPE_LIST_ON_SELECT_SIGNAL], 0, _tmp13_, _tmp14_);
		_g_free0 (icon);
		_g_free0 (id);
	} else {
		g_signal_emit (self, gnome_pie_slice_type_list_signals[GNOME_PIE_SLICE_TYPE_LIST_ON_SELECT_SIGNAL], 0, "", "stock_unknown");
	}
}

static Block15Data*
block15_data_ref (Block15Data* _data15_)
{
	g_atomic_int_inc (&_data15_->_ref_count_);
	return _data15_;
}

static void
block15_data_unref (void * _userdata_)
{
	Block15Data* _data15_;
	_data15_ = (Block15Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data15_->_ref_count_)) {
		GnomePieSliceTypeList* self;
		self = _data15_->self;
		_g_free0 (_data15_->id);
		_g_object_unref0 (self);
		g_slice_free (Block15Data, _data15_);
	}
}

static gboolean
__lambda39_ (Block15Data* _data15_,
             GtkTreeModel* model,
             GtkTreePath* path,
             GtkTreeIter* iter)
{
	GnomePieSliceTypeList* self;
	gchar* pie_id = NULL;
	GtkListStore* _tmp0_;
	GtkTreeIter _tmp1_;
	gchar* _tmp2_ = NULL;
	const gchar* _tmp3_;
	gboolean result;
	self = _data15_->self;
	g_return_val_if_fail (model != NULL, FALSE);
	g_return_val_if_fail (path != NULL, FALSE);
	g_return_val_if_fail (iter != NULL, FALSE);
	_tmp0_ = self->priv->data;
	_tmp1_ = *iter;
	gtk_tree_model_get ((GtkTreeModel*) _tmp0_, &_tmp1_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ID, &_tmp2_, -1);
	_g_free0 (pie_id);
	pie_id = _tmp2_;
	_tmp3_ = pie_id;
	if (g_strcmp0 (_data15_->id, _tmp3_) == 0) {
		GtkTreeSelection* _tmp4_;
		GtkTreeIter _tmp5_;
		gchar* icon = NULL;
		gchar* _tmp6_;
		GtkListStore* _tmp7_;
		GtkTreeIter _tmp8_;
		gchar* _tmp9_ = NULL;
		const gchar* _tmp10_;
		const gchar* _tmp11_;
		_tmp4_ = gtk_tree_view_get_selection ((GtkTreeView*) self);
		_tmp5_ = *iter;
		gtk_tree_selection_select_iter (_tmp4_, &_tmp5_);
		_tmp6_ = g_strdup ("");
		icon = _tmp6_;
		_tmp7_ = self->priv->data;
		_tmp8_ = *iter;
		gtk_tree_model_get ((GtkTreeModel*) _tmp7_, &_tmp8_, GNOME_PIE_SLICE_TYPE_LIST_DATA_POS_ICON_NAME, &_tmp9_, -1);
		_g_free0 (icon);
		icon = _tmp9_;
		_tmp10_ = pie_id;
		_tmp11_ = icon;
		g_signal_emit (self, gnome_pie_slice_type_list_signals[GNOME_PIE_SLICE_TYPE_LIST_ON_SELECT_SIGNAL], 0, _tmp10_, _tmp11_);
		gtk_tree_view_scroll_to_cell ((GtkTreeView*) self, path, NULL, TRUE, 0.5f, 0.5f);
		g_object_set ((GtkWidget*) self, "has-focus", TRUE, NULL);
		result = TRUE;
		_g_free0 (icon);
		_g_free0 (pie_id);
		return result;
	}
	result = FALSE;
	_g_free0 (pie_id);
	return result;
}

static gboolean
___lambda39__gtk_tree_model_foreach_func (GtkTreeModel* model,
                                          GtkTreePath* path,
                                          GtkTreeIter* iter,
                                          gpointer self)
{
	gboolean result;
	result = __lambda39_ (self, model, path, iter);
	return result;
}

void
gnome_pie_slice_type_list_select (GnomePieSliceTypeList* self,
                                  const gchar* id)
{
	Block15Data* _data15_;
	gchar* _tmp0_;
	GtkListStore* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (id != NULL);
	_data15_ = g_slice_new0 (Block15Data);
	_data15_->_ref_count_ = 1;
	_data15_->self = g_object_ref (self);
	_tmp0_ = g_strdup (id);
	_g_free0 (_data15_->id);
	_data15_->id = _tmp0_;
	_tmp1_ = self->priv->data;
	gtk_tree_model_foreach ((GtkTreeModel*) _tmp1_, ___lambda39__gtk_tree_model_foreach_func, _data15_);
	block15_data_unref (_data15_);
	_data15_ = NULL;
}

static void
g_cclosure_user_marshal_VOID__STRING_STRING (GClosure * closure,
                                             GValue * return_value,
                                             guint n_param_values,
                                             const GValue * param_values,
                                             gpointer invocation_hint,
                                             gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__STRING_STRING) (gpointer data1, const char* arg_1, const char* arg_2, gpointer data2);
	register GMarshalFunc_VOID__STRING_STRING callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
	g_return_if_fail (n_param_values == 3);
	if (G_CCLOSURE_SWAP_DATA (closure)) {
		data1 = closure->data;
		data2 = param_values->data[0].v_pointer;
	} else {
		data1 = param_values->data[0].v_pointer;
		data2 = closure->data;
	}
	callback = (GMarshalFunc_VOID__STRING_STRING) (marshal_data ? marshal_data : cc->callback);
	callback (data1, g_value_get_string (param_values + 1), g_value_get_string (param_values + 2), data2);
}

static void
gnome_pie_slice_type_list_class_init (GnomePieSliceTypeListClass * klass,
                                      gpointer klass_data)
{
	gnome_pie_slice_type_list_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &GnomePieSliceTypeList_private_offset);
	G_OBJECT_CLASS (klass)->finalize = gnome_pie_slice_type_list_finalize;
	gnome_pie_slice_type_list_signals[GNOME_PIE_SLICE_TYPE_LIST_ON_SELECT_SIGNAL] = g_signal_new ("on-select", GNOME_PIE_TYPE_SLICE_TYPE_LIST, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING);
}

static void
gnome_pie_slice_type_list_instance_init (GnomePieSliceTypeList * self,
                                         gpointer klass)
{
	self->priv = gnome_pie_slice_type_list_get_instance_private (self);
}

static void
gnome_pie_slice_type_list_finalize (GObject * obj)
{
	GnomePieSliceTypeList * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, GNOME_PIE_TYPE_SLICE_TYPE_LIST, GnomePieSliceTypeList);
	_g_object_unref0 (self->priv->data);
	G_OBJECT_CLASS (gnome_pie_slice_type_list_parent_class)->finalize (obj);
}

static GType
gnome_pie_slice_type_list_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (GnomePieSliceTypeListClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gnome_pie_slice_type_list_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GnomePieSliceTypeList), 0, (GInstanceInitFunc) gnome_pie_slice_type_list_instance_init, NULL };
	GType gnome_pie_slice_type_list_type_id;
	gnome_pie_slice_type_list_type_id = g_type_register_static (gtk_tree_view_get_type (), "GnomePieSliceTypeList", &g_define_type_info, 0);
	GnomePieSliceTypeList_private_offset = g_type_add_instance_private (gnome_pie_slice_type_list_type_id, sizeof (GnomePieSliceTypeListPrivate));
	return gnome_pie_slice_type_list_type_id;
}

GType
gnome_pie_slice_type_list_get_type (void)
{
	static volatile gsize gnome_pie_slice_type_list_type_id__once = 0;
	if (g_once_init_enter (&gnome_pie_slice_type_list_type_id__once)) {
		GType gnome_pie_slice_type_list_type_id;
		gnome_pie_slice_type_list_type_id = gnome_pie_slice_type_list_get_type_once ();
		g_once_init_leave (&gnome_pie_slice_type_list_type_id__once, gnome_pie_slice_type_list_type_id);
	}
	return gnome_pie_slice_type_list_type_id__once;
}

