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

/*
 * Copyright (C) 2010 Michal Hruby <michal.mhr@gmail.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA.
 *
 * Authored by Michal Hruby <michal.mhr@gmail.com>
 *
 */

#include <gtk/gtk.h>
#include <glib-object.h>
#include <glib.h>
#include <cairo-gobject.h>
#include <stdlib.h>
#include <string.h>
#include <gdk/gdk.h>
#include <float.h>
#include <math.h>
#include <gdk-pixbuf/gdk-pixbuf.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 UI_WIDGETS_TYPE_TILE (ui_widgets_tile_get_type ())
#define UI_WIDGETS_TILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UI_WIDGETS_TYPE_TILE, UIWidgetsTile))
#define UI_WIDGETS_TILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UI_WIDGETS_TYPE_TILE, UIWidgetsTileClass))
#define UI_WIDGETS_IS_TILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UI_WIDGETS_TYPE_TILE))
#define UI_WIDGETS_IS_TILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UI_WIDGETS_TYPE_TILE))
#define UI_WIDGETS_TILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UI_WIDGETS_TYPE_TILE, UIWidgetsTileClass))

typedef struct _UIWidgetsTile UIWidgetsTile;
typedef struct _UIWidgetsTileClass UIWidgetsTileClass;
typedef struct _UIWidgetsTilePrivate UIWidgetsTilePrivate;

#define UI_WIDGETS_TYPE_WRAP_LABEL (ui_widgets_wrap_label_get_type ())
#define UI_WIDGETS_WRAP_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UI_WIDGETS_TYPE_WRAP_LABEL, UIWidgetsWrapLabel))
#define UI_WIDGETS_WRAP_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UI_WIDGETS_TYPE_WRAP_LABEL, UIWidgetsWrapLabelClass))
#define UI_WIDGETS_IS_WRAP_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UI_WIDGETS_TYPE_WRAP_LABEL))
#define UI_WIDGETS_IS_WRAP_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UI_WIDGETS_TYPE_WRAP_LABEL))
#define UI_WIDGETS_WRAP_LABEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UI_WIDGETS_TYPE_WRAP_LABEL, UIWidgetsWrapLabelClass))

typedef struct _UIWidgetsWrapLabel UIWidgetsWrapLabel;
typedef struct _UIWidgetsWrapLabelClass UIWidgetsWrapLabelClass;

#define UI_WIDGETS_TYPE_TILE_VIEW (ui_widgets_tile_view_get_type ())
#define UI_WIDGETS_TILE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UI_WIDGETS_TYPE_TILE_VIEW, UIWidgetsTileView))
#define UI_WIDGETS_TILE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UI_WIDGETS_TYPE_TILE_VIEW, UIWidgetsTileViewClass))
#define UI_WIDGETS_IS_TILE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UI_WIDGETS_TYPE_TILE_VIEW))
#define UI_WIDGETS_IS_TILE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UI_WIDGETS_TYPE_TILE_VIEW))
#define UI_WIDGETS_TILE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UI_WIDGETS_TYPE_TILE_VIEW, UIWidgetsTileViewClass))

typedef struct _UIWidgetsTileView UIWidgetsTileView;
typedef struct _UIWidgetsTileViewClass UIWidgetsTileViewClass;

#define UI_WIDGETS_TYPE_ABSTRACT_TILE_OBJECT (ui_widgets_abstract_tile_object_get_type ())
#define UI_WIDGETS_ABSTRACT_TILE_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UI_WIDGETS_TYPE_ABSTRACT_TILE_OBJECT, UIWidgetsAbstractTileObject))
#define UI_WIDGETS_ABSTRACT_TILE_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UI_WIDGETS_TYPE_ABSTRACT_TILE_OBJECT, UIWidgetsAbstractTileObjectClass))
#define UI_WIDGETS_IS_ABSTRACT_TILE_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UI_WIDGETS_TYPE_ABSTRACT_TILE_OBJECT))
#define UI_WIDGETS_IS_ABSTRACT_TILE_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UI_WIDGETS_TYPE_ABSTRACT_TILE_OBJECT))
#define UI_WIDGETS_ABSTRACT_TILE_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UI_WIDGETS_TYPE_ABSTRACT_TILE_OBJECT, UIWidgetsAbstractTileObjectClass))

typedef struct _UIWidgetsAbstractTileObject UIWidgetsAbstractTileObject;
typedef struct _UIWidgetsAbstractTileObjectClass UIWidgetsAbstractTileObjectClass;
enum  {
	UI_WIDGETS_TILE_0_PROPERTY,
	UI_WIDGETS_TILE_OWNER_PROPERTY,
	UI_WIDGETS_TILE_OWNED_OBJECT_PROPERTY,
	UI_WIDGETS_TILE_LAST_PROPERTY,
	UI_WIDGETS_TILE_NUM_PROPERTIES
};
static GParamSpec* ui_widgets_tile_properties[UI_WIDGETS_TILE_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
enum  {
	UI_WIDGETS_TILE_ACTIVE_CHANGED_SIGNAL,
	UI_WIDGETS_TILE_NUM_SIGNALS
};
static guint ui_widgets_tile_signals[UI_WIDGETS_TILE_NUM_SIGNALS] = {0};

struct _UIWidgetsTile {
	GtkTable parent_instance;
	UIWidgetsTilePrivate * priv;
};

struct _UIWidgetsTileClass {
	GtkTableClass parent_class;
};

struct _UIWidgetsTilePrivate {
	GtkButton* add_remove_button;
	GtkBox* button_box;
	GtkLabel* title;
	GtkImage* tile_image;
	UIWidgetsWrapLabel* description;
	GtkLabel* sub_description;
	GtkImage* add_image;
	GtkImage* remove_image;
	gint icon_size;
	UIWidgetsTileView* _owner;
	UIWidgetsAbstractTileObject* _owned_object;
	gboolean _last;
};

static gint UIWidgetsTile_private_offset;
static gpointer ui_widgets_tile_parent_class = NULL;

VALA_EXTERN GType ui_widgets_tile_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (UIWidgetsTile, g_object_unref)
VALA_EXTERN GType ui_widgets_wrap_label_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (UIWidgetsWrapLabel, g_object_unref)
VALA_EXTERN GType ui_widgets_tile_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (UIWidgetsTileView, g_object_unref)
VALA_EXTERN GType ui_widgets_abstract_tile_object_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (UIWidgetsAbstractTileObject, g_object_unref)
VALA_EXTERN UIWidgetsTile* ui_widgets_tile_new (UIWidgetsAbstractTileObject* obj,
                                    gint icon_size);
VALA_EXTERN UIWidgetsTile* ui_widgets_tile_construct (GType object_type,
                                          UIWidgetsAbstractTileObject* obj,
                                          gint icon_size);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_add_button_stock (UIWidgetsAbstractTileObject* self);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_remove_button_stock (UIWidgetsAbstractTileObject* self);
static void ui_widgets_tile_set_owned_object (UIWidgetsTile* self,
                                       UIWidgetsAbstractTileObject* value);
VALA_EXTERN UIWidgetsAbstractTileObject* ui_widgets_tile_get_owned_object (UIWidgetsTile* self);
static void ui_widgets_tile_set_image (UIWidgetsTile* self);
static void _ui_widgets_tile_set_image_ui_widgets_abstract_tile_object_icon_updated (UIWidgetsAbstractTileObject* _sender,
                                                                              gpointer self);
static void ui_widgets_tile_set_text (UIWidgetsTile* self);
static void _ui_widgets_tile_set_text_ui_widgets_abstract_tile_object_text_updated (UIWidgetsAbstractTileObject* _sender,
                                                                             gpointer self);
static void ui_widgets_tile_update_buttons (UIWidgetsTile* self);
static void _ui_widgets_tile_update_buttons_ui_widgets_abstract_tile_object_buttons_updated (UIWidgetsAbstractTileObject* _sender,
                                                                                      gpointer self);
VALA_EXTERN void ui_widgets_tile_update_state (UIWidgetsTile* self);
static void _ui_widgets_tile_update_state_g_object_notify (GObject* _sender,
                                                    GParamSpec* pspec,
                                                    gpointer self);
static void ui_widgets_tile_build_tile (UIWidgetsTile* self);
VALA_EXTERN UIWidgetsWrapLabel* ui_widgets_wrap_label_new (void);
VALA_EXTERN UIWidgetsWrapLabel* ui_widgets_wrap_label_construct (GType object_type);
static void __lambda4_ (UIWidgetsTile* self);
static void ___lambda4__gtk_button_clicked (GtkButton* _sender,
                                     gpointer self);
static void ui_widgets_tile_real_realize (GtkWidget* base);
static gboolean ui_widgets_tile_real_draw (GtkWidget* base,
                                    cairo_t* cr);
VALA_EXTERN gboolean ui_widgets_tile_get_last (UIWidgetsTile* self);
VALA_EXTERN gboolean ui_widgets_abstract_tile_object_get_enabled (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_wrap_label_set_wrap (UIWidgetsWrapLabel* self,
                                     gboolean value);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_remove_button_tooltip (UIWidgetsAbstractTileObject* self);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_add_button_tooltip (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_tile_set_selected (UIWidgetsTile* self,
                                   gboolean selected);
VALA_EXTERN GdkPixbuf* ui_widgets_abstract_tile_object_get_force_pixbuf (UIWidgetsAbstractTileObject* self);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_icon (UIWidgetsAbstractTileObject* self);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_name (UIWidgetsAbstractTileObject* self);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_description (UIWidgetsAbstractTileObject* self);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_sub_description_title (UIWidgetsAbstractTileObject* self);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_sub_description_text (UIWidgetsAbstractTileObject* self);
VALA_EXTERN GList* ui_widgets_abstract_tile_object_get_extra_buttons (UIWidgetsAbstractTileObject* self);
VALA_EXTERN gboolean ui_widgets_abstract_tile_object_get_show_action_button (UIWidgetsAbstractTileObject* self);
VALA_EXTERN UIWidgetsTileView* ui_widgets_tile_get_owner (UIWidgetsTile* self);
VALA_EXTERN void ui_widgets_tile_set_owner (UIWidgetsTile* self,
                                UIWidgetsTileView* value);
static void ui_widgets_tile_set_last (UIWidgetsTile* self,
                               gboolean value);
static void ui_widgets_tile_finalize (GObject * obj);
static GType ui_widgets_tile_get_type_once (void);
static void _vala_ui_widgets_tile_get_property (GObject * object,
                                         guint property_id,
                                         GValue * value,
                                         GParamSpec * pspec);
static void _vala_ui_widgets_tile_set_property (GObject * object,
                                         guint property_id,
                                         const GValue * value,
                                         GParamSpec * pspec);
static inline gpointer _vala_memdup2 (gconstpointer mem,
                        gsize byte_size);

static inline gpointer
ui_widgets_tile_get_instance_private (UIWidgetsTile* self)
{
	return G_STRUCT_MEMBER_P (self, UIWidgetsTile_private_offset);
}

static void
_ui_widgets_tile_set_image_ui_widgets_abstract_tile_object_icon_updated (UIWidgetsAbstractTileObject* _sender,
                                                                         gpointer self)
{
#line 52 "tile-view/tile.vala"
	ui_widgets_tile_set_image ((UIWidgetsTile*) self);
#line 225 "tile.c"
}

static void
_ui_widgets_tile_set_text_ui_widgets_abstract_tile_object_text_updated (UIWidgetsAbstractTileObject* _sender,
                                                                        gpointer self)
{
#line 53 "tile-view/tile.vala"
	ui_widgets_tile_set_text ((UIWidgetsTile*) self);
#line 234 "tile.c"
}

static void
_ui_widgets_tile_update_buttons_ui_widgets_abstract_tile_object_buttons_updated (UIWidgetsAbstractTileObject* _sender,
                                                                                 gpointer self)
{
#line 54 "tile-view/tile.vala"
	ui_widgets_tile_update_buttons ((UIWidgetsTile*) self);
#line 243 "tile.c"
}

static void
_ui_widgets_tile_update_state_g_object_notify (GObject* _sender,
                                               GParamSpec* pspec,
                                               gpointer self)
{
#line 55 "tile-view/tile.vala"
	ui_widgets_tile_update_state ((UIWidgetsTile*) self);
#line 253 "tile.c"
}

UIWidgetsTile*
ui_widgets_tile_construct (GType object_type,
                           UIWidgetsAbstractTileObject* obj,
                           gint icon_size)
{
	UIWidgetsTile * self = NULL;
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	GtkImage* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	GtkImage* _tmp5_;
	UIWidgetsAbstractTileObject* _tmp6_;
	UIWidgetsAbstractTileObject* _tmp7_;
	UIWidgetsAbstractTileObject* _tmp8_;
	UIWidgetsAbstractTileObject* _tmp9_;
#line 44 "tile-view/tile.vala"
	g_return_val_if_fail (obj != NULL, NULL);
#line 46 "tile-view/tile.vala"
	self = (UIWidgetsTile*) g_object_new (object_type, "n-rows", 3, "n-columns", 3, "homogeneous", FALSE, NULL);
#line 48 "tile-view/tile.vala"
	_tmp0_ = ui_widgets_abstract_tile_object_get_add_button_stock (obj);
#line 48 "tile-view/tile.vala"
	_tmp1_ = _tmp0_;
#line 48 "tile-view/tile.vala"
	_tmp2_ = (GtkImage*) gtk_image_new_from_stock (_tmp1_, (GtkIconSize) GTK_ICON_SIZE_SMALL_TOOLBAR);
#line 48 "tile-view/tile.vala"
	g_object_ref_sink (_tmp2_);
#line 48 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->add_image);
#line 48 "tile-view/tile.vala"
	self->priv->add_image = _tmp2_;
#line 49 "tile-view/tile.vala"
	_tmp3_ = ui_widgets_abstract_tile_object_get_remove_button_stock (obj);
#line 49 "tile-view/tile.vala"
	_tmp4_ = _tmp3_;
#line 49 "tile-view/tile.vala"
	_tmp5_ = (GtkImage*) gtk_image_new_from_stock (_tmp4_, (GtkIconSize) GTK_ICON_SIZE_SMALL_TOOLBAR);
#line 49 "tile-view/tile.vala"
	g_object_ref_sink (_tmp5_);
#line 49 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->remove_image);
#line 49 "tile-view/tile.vala"
	self->priv->remove_image = _tmp5_;
#line 51 "tile-view/tile.vala"
	ui_widgets_tile_set_owned_object (self, obj);
#line 52 "tile-view/tile.vala"
	_tmp6_ = self->priv->_owned_object;
#line 52 "tile-view/tile.vala"
	g_signal_connect_object (_tmp6_, "icon-updated", (GCallback) _ui_widgets_tile_set_image_ui_widgets_abstract_tile_object_icon_updated, self, 0);
#line 53 "tile-view/tile.vala"
	_tmp7_ = self->priv->_owned_object;
#line 53 "tile-view/tile.vala"
	g_signal_connect_object (_tmp7_, "text-updated", (GCallback) _ui_widgets_tile_set_text_ui_widgets_abstract_tile_object_text_updated, self, 0);
#line 54 "tile-view/tile.vala"
	_tmp8_ = self->priv->_owned_object;
#line 54 "tile-view/tile.vala"
	g_signal_connect_object (_tmp8_, "buttons-updated", (GCallback) _ui_widgets_tile_update_buttons_ui_widgets_abstract_tile_object_buttons_updated, self, 0);
#line 55 "tile-view/tile.vala"
	_tmp9_ = self->priv->_owned_object;
#line 55 "tile-view/tile.vala"
	g_signal_connect_object ((GObject*) _tmp9_, "notify::enabled", (GCallback) _ui_widgets_tile_update_state_g_object_notify, self, 0);
#line 57 "tile-view/tile.vala"
	self->priv->icon_size = icon_size;
#line 59 "tile-view/tile.vala"
	ui_widgets_tile_build_tile (self);
#line 44 "tile-view/tile.vala"
	return self;
#line 324 "tile.c"
}

UIWidgetsTile*
ui_widgets_tile_new (UIWidgetsAbstractTileObject* obj,
                     gint icon_size)
{
#line 44 "tile-view/tile.vala"
	return ui_widgets_tile_construct (UI_WIDGETS_TYPE_TILE, obj, icon_size);
#line 333 "tile.c"
}

static void
__lambda4_ (UIWidgetsTile* self)
{
#line 110 "tile-view/tile.vala"
	g_signal_emit (self, ui_widgets_tile_signals[UI_WIDGETS_TILE_ACTIVE_CHANGED_SIGNAL], 0);
#line 341 "tile.c"
}

static void
___lambda4__gtk_button_clicked (GtkButton* _sender,
                                gpointer self)
{
#line 110 "tile-view/tile.vala"
	__lambda4_ ((UIWidgetsTile*) self);
#line 350 "tile.c"
}

static void
ui_widgets_tile_build_tile (UIWidgetsTile* self)
{
	GtkImage* _tmp0_;
	GtkImage* _tmp1_;
	GtkImage* _tmp2_;
	GtkImage* _tmp3_;
	GtkImage* _tmp4_;
	GtkImage* _tmp5_;
	GtkLabel* _tmp6_;
	GtkLabel* _tmp7_;
	GtkLabel* _tmp8_;
	GtkLabel* _tmp9_;
	GtkLabel* _tmp10_;
	UIWidgetsWrapLabel* _tmp11_;
	UIWidgetsWrapLabel* _tmp12_;
	UIWidgetsWrapLabel* _tmp13_;
	GtkLabel* _tmp14_;
	GtkLabel* _tmp15_;
	GtkLabel* _tmp16_;
	GtkLabel* _tmp17_;
	GtkBox* _tmp18_;
	GtkBox* _tmp19_;
	GtkBox* _tmp20_;
	GtkButton* _tmp21_;
	GtkButton* _tmp22_;
	GtkBox* _tmp23_;
#line 62 "tile-view/tile.vala"
	g_return_if_fail (self != NULL);
#line 64 "tile-view/tile.vala"
	g_object_set ((GtkTable*) self, "row-spacing", (guint) 1, NULL);
#line 65 "tile-view/tile.vala"
	g_object_set ((GtkTable*) self, "column-spacing", (guint) 5, NULL);
#line 67 "tile-view/tile.vala"
	_tmp0_ = (GtkImage*) gtk_image_new ();
#line 67 "tile-view/tile.vala"
	g_object_ref_sink (_tmp0_);
#line 67 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->tile_image);
#line 67 "tile-view/tile.vala"
	self->priv->tile_image = _tmp0_;
#line 68 "tile-view/tile.vala"
	_tmp1_ = self->priv->tile_image;
#line 68 "tile-view/tile.vala"
	gtk_widget_set_margin_left ((GtkWidget*) _tmp1_, 5);
#line 69 "tile-view/tile.vala"
	_tmp2_ = self->priv->tile_image;
#line 69 "tile-view/tile.vala"
	gtk_widget_set_margin_top ((GtkWidget*) _tmp2_, 5);
#line 70 "tile-view/tile.vala"
	_tmp3_ = self->priv->tile_image;
#line 70 "tile-view/tile.vala"
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp3_, 10);
#line 72 "tile-view/tile.vala"
	_tmp4_ = self->priv->tile_image;
#line 72 "tile-view/tile.vala"
	g_object_set ((GtkMisc*) _tmp4_, "yalign", 0.0f, NULL);
#line 73 "tile-view/tile.vala"
	_tmp5_ = self->priv->tile_image;
#line 73 "tile-view/tile.vala"
	gtk_table_attach ((GtkTable*) self, (GtkWidget*) _tmp5_, (guint) 0, (guint) 1, (guint) 0, (guint) 3, GTK_SHRINK, GTK_FILL | GTK_EXPAND, (guint) 0, (guint) 0);
#line 78 "tile-view/tile.vala"
	_tmp6_ = (GtkLabel*) gtk_label_new ("");
#line 78 "tile-view/tile.vala"
	g_object_ref_sink (_tmp6_);
#line 78 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->title);
#line 78 "tile-view/tile.vala"
	self->priv->title = _tmp6_;
#line 79 "tile-view/tile.vala"
	_tmp7_ = self->priv->title;
#line 79 "tile-view/tile.vala"
	g_object_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_misc_get_type (), GtkMisc), "xalign", 0.0f, NULL);
#line 80 "tile-view/tile.vala"
	_tmp8_ = self->priv->title;
#line 80 "tile-view/tile.vala"
	gtk_widget_set_margin_top ((GtkWidget*) _tmp8_, 5);
#line 81 "tile-view/tile.vala"
	_tmp9_ = self->priv->title;
#line 81 "tile-view/tile.vala"
	gtk_table_attach ((GtkTable*) self, (GtkWidget*) _tmp9_, (guint) 1, (guint) 3, (guint) 0, (guint) 1, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, (guint) 0, (guint) 0);
#line 85 "tile-view/tile.vala"
	_tmp10_ = self->priv->title;
#line 85 "tile-view/tile.vala"
	gtk_widget_show ((GtkWidget*) _tmp10_);
#line 87 "tile-view/tile.vala"
	_tmp11_ = ui_widgets_wrap_label_new ();
#line 87 "tile-view/tile.vala"
	g_object_ref_sink (_tmp11_);
#line 87 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->description);
#line 87 "tile-view/tile.vala"
	self->priv->description = _tmp11_;
#line 88 "tile-view/tile.vala"
	_tmp12_ = self->priv->description;
#line 88 "tile-view/tile.vala"
	gtk_table_attach ((GtkTable*) self, (GtkWidget*) _tmp12_, (guint) 1, (guint) 3, (guint) 1, (guint) 2, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, (guint) 0, (guint) 0);
#line 92 "tile-view/tile.vala"
	_tmp13_ = self->priv->description;
#line 92 "tile-view/tile.vala"
	gtk_widget_show ((GtkWidget*) _tmp13_);
#line 94 "tile-view/tile.vala"
	_tmp14_ = (GtkLabel*) gtk_label_new ("");
#line 94 "tile-view/tile.vala"
	g_object_ref_sink (_tmp14_);
#line 94 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->sub_description);
#line 94 "tile-view/tile.vala"
	self->priv->sub_description = _tmp14_;
#line 95 "tile-view/tile.vala"
	_tmp15_ = self->priv->sub_description;
#line 95 "tile-view/tile.vala"
	g_object_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp15_, gtk_misc_get_type (), GtkMisc), "xalign", 0.0f, NULL);
#line 96 "tile-view/tile.vala"
	_tmp16_ = self->priv->sub_description;
#line 96 "tile-view/tile.vala"
	gtk_table_attach ((GtkTable*) self, (GtkWidget*) _tmp16_, (guint) 1, (guint) 2, (guint) 2, (guint) 3, GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, (guint) 0, (guint) 4);
#line 100 "tile-view/tile.vala"
	_tmp17_ = self->priv->sub_description;
#line 100 "tile-view/tile.vala"
	gtk_widget_show ((GtkWidget*) _tmp17_);
#line 102 "tile-view/tile.vala"
	ui_widgets_tile_set_text (self);
#line 104 "tile-view/tile.vala"
	_tmp18_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3);
#line 104 "tile-view/tile.vala"
	g_object_ref_sink (_tmp18_);
#line 104 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->button_box);
#line 104 "tile-view/tile.vala"
	self->priv->button_box = _tmp18_;
#line 105 "tile-view/tile.vala"
	_tmp19_ = self->priv->button_box;
#line 105 "tile-view/tile.vala"
	gtk_box_set_homogeneous (_tmp19_, FALSE);
#line 106 "tile-view/tile.vala"
	_tmp20_ = self->priv->button_box;
#line 106 "tile-view/tile.vala"
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp20_, 5);
#line 108 "tile-view/tile.vala"
	_tmp21_ = (GtkButton*) gtk_button_new ();
#line 108 "tile-view/tile.vala"
	g_object_ref_sink (_tmp21_);
#line 108 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->add_remove_button);
#line 108 "tile-view/tile.vala"
	self->priv->add_remove_button = _tmp21_;
#line 110 "tile-view/tile.vala"
	_tmp22_ = self->priv->add_remove_button;
#line 110 "tile-view/tile.vala"
	g_signal_connect_object (_tmp22_, "clicked", (GCallback) ___lambda4__gtk_button_clicked, self, 0);
#line 112 "tile-view/tile.vala"
	ui_widgets_tile_update_buttons (self);
#line 114 "tile-view/tile.vala"
	_tmp23_ = self->priv->button_box;
#line 114 "tile-view/tile.vala"
	gtk_table_attach ((GtkTable*) self, (GtkWidget*) _tmp23_, (guint) 2, (guint) 3, (guint) 2, (guint) 3, GTK_SHRINK, GTK_FILL | GTK_EXPAND, (guint) 0, (guint) 0);
#line 119 "tile-view/tile.vala"
	gtk_widget_show ((GtkWidget*) self);
#line 120 "tile-view/tile.vala"
	ui_widgets_tile_update_state (self);
#line 514 "tile.c"
}

static gpointer
_g_object_ref0 (gpointer self)
{
#line 126 "tile-view/tile.vala"
	return self ? g_object_ref (self) : NULL;
#line 522 "tile.c"
}

static void
ui_widgets_tile_real_realize (GtkWidget* base)
{
	UIWidgetsTile * self;
	GtkContainer* _tmp0_;
	GdkWindow* _tmp1_;
	GdkWindow* _tmp2_;
#line 123 "tile-view/tile.vala"
	self = (UIWidgetsTile*) base;
#line 125 "tile-view/tile.vala"
	gtk_widget_set_has_window ((GtkWidget*) self, FALSE);
#line 126 "tile-view/tile.vala"
	_tmp0_ = gtk_widget_get_parent ((GtkWidget*) self);
#line 126 "tile-view/tile.vala"
	_tmp1_ = gtk_widget_get_window ((GtkWidget*) _tmp0_);
#line 126 "tile-view/tile.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 126 "tile-view/tile.vala"
	gtk_widget_set_window ((GtkWidget*) self, _tmp2_);
#line 127 "tile-view/tile.vala"
	GTK_WIDGET_CLASS (ui_widgets_tile_parent_class)->realize ((GtkWidget*) G_TYPE_CHECK_INSTANCE_CAST (self, gtk_table_get_type (), GtkTable));
#line 546 "tile.c"
}

static gboolean
ui_widgets_tile_real_draw (GtkWidget* base,
                           cairo_t* cr)
{
	UIWidgetsTile * self;
	GtkAllocation allocation = {0};
	GtkAllocation _tmp0_ = {0};
	GtkStyleContext* context = NULL;
	GtkStyleContext* _tmp1_;
	gboolean _tmp5_;
	gboolean result;
#line 130 "tile-view/tile.vala"
	self = (UIWidgetsTile*) base;
#line 130 "tile-view/tile.vala"
	g_return_val_if_fail (cr != NULL, FALSE);
#line 133 "tile-view/tile.vala"
	gtk_widget_get_allocation ((GtkWidget*) self, &_tmp0_);
#line 133 "tile-view/tile.vala"
	allocation = _tmp0_;
#line 135 "tile-view/tile.vala"
	_tmp1_ = gtk_widget_get_style_context ((GtkWidget*) self);
#line 135 "tile-view/tile.vala"
	context = _tmp1_;
#line 137 "tile-view/tile.vala"
	if ((gtk_widget_get_state_flags ((GtkWidget*) self) & GTK_STATE_FLAG_SELECTED) != 0) {
#line 574 "tile.c"
		GtkStyleContext* _tmp2_;
		GtkAllocation _tmp3_;
		GtkAllocation _tmp4_;
#line 139 "tile-view/tile.vala"
		_tmp2_ = context;
#line 139 "tile-view/tile.vala"
		_tmp3_ = allocation;
#line 139 "tile-view/tile.vala"
		_tmp4_ = allocation;
#line 139 "tile-view/tile.vala"
		gtk_render_background (_tmp2_, cr, (gdouble) 0, (gdouble) 0, (gdouble) _tmp3_.width, (gdouble) _tmp4_.height);
#line 586 "tile.c"
	}
#line 142 "tile-view/tile.vala"
	_tmp5_ = self->priv->_last;
#line 142 "tile-view/tile.vala"
	if (!_tmp5_) {
#line 592 "tile.c"
		GtkStyleContext* _tmp6_;
		GtkStyleContext* _tmp7_;
		GtkStyleContext* _tmp8_;
		GtkAllocation _tmp9_;
		GtkAllocation _tmp10_;
		GtkAllocation _tmp11_;
		GtkStyleContext* _tmp12_;
#line 144 "tile-view/tile.vala"
		_tmp6_ = context;
#line 144 "tile-view/tile.vala"
		gtk_style_context_save (_tmp6_);
#line 146 "tile-view/tile.vala"
		_tmp7_ = context;
#line 146 "tile-view/tile.vala"
		gtk_style_context_add_class (_tmp7_, GTK_STYLE_CLASS_SEPARATOR);
#line 147 "tile-view/tile.vala"
		_tmp8_ = context;
#line 147 "tile-view/tile.vala"
		_tmp9_ = allocation;
#line 147 "tile-view/tile.vala"
		_tmp10_ = allocation;
#line 147 "tile-view/tile.vala"
		_tmp11_ = allocation;
#line 147 "tile-view/tile.vala"
		gtk_render_line (_tmp8_, cr, (gdouble) 0, (gdouble) (_tmp9_.height - 1), (gdouble) _tmp10_.width, (gdouble) (_tmp11_.height - 1));
#line 149 "tile-view/tile.vala"
		_tmp12_ = context;
#line 149 "tile-view/tile.vala"
		gtk_style_context_restore (_tmp12_);
#line 622 "tile.c"
	}
#line 152 "tile-view/tile.vala"
	result = GTK_WIDGET_CLASS (ui_widgets_tile_parent_class)->draw ((GtkWidget*) G_TYPE_CHECK_INSTANCE_CAST (self, gtk_table_get_type (), GtkTable), cr);
#line 152 "tile-view/tile.vala"
	return result;
#line 628 "tile.c"
}

void
ui_widgets_tile_update_state (UIWidgetsTile* self)
{
	gboolean enabled = FALSE;
	UIWidgetsAbstractTileObject* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	gboolean is_selected = FALSE;
	gboolean _tmp3_ = FALSE;
	gboolean sensitive = FALSE;
	GtkLabel* _tmp5_;
	UIWidgetsWrapLabel* _tmp6_;
	UIWidgetsWrapLabel* _tmp7_;
	GtkLabel* _tmp8_;
	GtkImage* _tmp9_ = NULL;
	GtkButton* _tmp12_;
	const gchar* _tmp13_ = NULL;
	GtkButton* _tmp20_;
#line 155 "tile-view/tile.vala"
	g_return_if_fail (self != NULL);
#line 157 "tile-view/tile.vala"
	_tmp0_ = self->priv->_owned_object;
#line 157 "tile-view/tile.vala"
	_tmp1_ = ui_widgets_abstract_tile_object_get_enabled (_tmp0_);
#line 157 "tile-view/tile.vala"
	_tmp2_ = _tmp1_;
#line 157 "tile-view/tile.vala"
	enabled = _tmp2_;
#line 158 "tile-view/tile.vala"
	is_selected = (gtk_widget_get_state_flags ((GtkWidget*) self) & GTK_STATE_FLAG_SELECTED) != 0;
#line 159 "tile-view/tile.vala"
	if (enabled) {
#line 159 "tile-view/tile.vala"
		_tmp3_ = TRUE;
#line 665 "tile.c"
	} else {
		gboolean _tmp4_ = FALSE;
#line 159 "tile-view/tile.vala"
		if (!enabled) {
#line 159 "tile-view/tile.vala"
			_tmp4_ = is_selected;
#line 672 "tile.c"
		} else {
#line 159 "tile-view/tile.vala"
			_tmp4_ = FALSE;
#line 676 "tile.c"
		}
#line 159 "tile-view/tile.vala"
		_tmp3_ = _tmp4_;
#line 680 "tile.c"
	}
#line 159 "tile-view/tile.vala"
	sensitive = _tmp3_;
#line 161 "tile-view/tile.vala"
	ui_widgets_tile_set_image (self);
#line 163 "tile-view/tile.vala"
	_tmp5_ = self->priv->title;
#line 163 "tile-view/tile.vala"
	gtk_widget_set_sensitive ((GtkWidget*) _tmp5_, sensitive);
#line 164 "tile-view/tile.vala"
	_tmp6_ = self->priv->description;
#line 164 "tile-view/tile.vala"
	gtk_widget_set_sensitive ((GtkWidget*) _tmp6_, sensitive);
#line 165 "tile-view/tile.vala"
	_tmp7_ = self->priv->description;
#line 165 "tile-view/tile.vala"
	ui_widgets_wrap_label_set_wrap (_tmp7_, is_selected);
#line 166 "tile-view/tile.vala"
	_tmp8_ = self->priv->sub_description;
#line 166 "tile-view/tile.vala"
	gtk_widget_set_visible ((GtkWidget*) _tmp8_, is_selected);
#line 168 "tile-view/tile.vala"
	if (enabled) {
#line 704 "tile.c"
		GtkImage* _tmp10_;
#line 168 "tile-view/tile.vala"
		_tmp10_ = self->priv->remove_image;
#line 168 "tile-view/tile.vala"
		_tmp9_ = _tmp10_;
#line 710 "tile.c"
	} else {
		GtkImage* _tmp11_;
#line 168 "tile-view/tile.vala"
		_tmp11_ = self->priv->add_image;
#line 168 "tile-view/tile.vala"
		_tmp9_ = _tmp11_;
#line 717 "tile.c"
	}
#line 168 "tile-view/tile.vala"
	_tmp12_ = self->priv->add_remove_button;
#line 168 "tile-view/tile.vala"
	gtk_button_set_image (_tmp12_, (GtkWidget*) _tmp9_);
#line 169 "tile-view/tile.vala"
	if (enabled) {
#line 725 "tile.c"
		UIWidgetsAbstractTileObject* _tmp14_;
		const gchar* _tmp15_;
		const gchar* _tmp16_;
#line 170 "tile-view/tile.vala"
		_tmp14_ = self->priv->_owned_object;
#line 170 "tile-view/tile.vala"
		_tmp15_ = ui_widgets_abstract_tile_object_get_remove_button_tooltip (_tmp14_);
#line 170 "tile-view/tile.vala"
		_tmp16_ = _tmp15_;
#line 170 "tile-view/tile.vala"
		_tmp13_ = _tmp16_;
#line 737 "tile.c"
	} else {
		UIWidgetsAbstractTileObject* _tmp17_;
		const gchar* _tmp18_;
		const gchar* _tmp19_;
#line 170 "tile-view/tile.vala"
		_tmp17_ = self->priv->_owned_object;
#line 170 "tile-view/tile.vala"
		_tmp18_ = ui_widgets_abstract_tile_object_get_add_button_tooltip (_tmp17_);
#line 170 "tile-view/tile.vala"
		_tmp19_ = _tmp18_;
#line 170 "tile-view/tile.vala"
		_tmp13_ = _tmp19_;
#line 750 "tile.c"
	}
#line 169 "tile-view/tile.vala"
	_tmp20_ = self->priv->add_remove_button;
#line 169 "tile-view/tile.vala"
	gtk_widget_set_tooltip_markup ((GtkWidget*) _tmp20_, _tmp13_);
#line 756 "tile.c"
}

void
ui_widgets_tile_set_selected (UIWidgetsTile* self,
                              gboolean selected)
{
	GtkStateFlags _tmp0_ = 0U;
	GtkBox* _tmp3_;
	GtkImage* _tmp4_;
	UIWidgetsWrapLabel* _tmp5_;
	GtkLabel* _tmp6_;
	GtkLabel* _tmp7_;
#line 173 "tile-view/tile.vala"
	g_return_if_fail (self != NULL);
#line 175 "tile-view/tile.vala"
	if (selected) {
#line 175 "tile-view/tile.vala"
		_tmp0_ = GTK_STATE_FLAG_SELECTED;
#line 775 "tile.c"
	} else {
#line 175 "tile-view/tile.vala"
		_tmp0_ = GTK_STATE_FLAG_NORMAL;
#line 779 "tile.c"
	}
#line 175 "tile-view/tile.vala"
	gtk_widget_set_state_flags ((GtkWidget*) self, _tmp0_, TRUE);
#line 177 "tile-view/tile.vala"
	if (selected) {
#line 785 "tile.c"
		GtkBox* _tmp1_;
#line 179 "tile-view/tile.vala"
		_tmp1_ = self->priv->button_box;
#line 179 "tile-view/tile.vala"
		gtk_widget_show_all ((GtkWidget*) _tmp1_);
#line 791 "tile.c"
	} else {
		GtkBox* _tmp2_;
#line 183 "tile-view/tile.vala"
		_tmp2_ = self->priv->button_box;
#line 183 "tile-view/tile.vala"
		gtk_widget_hide ((GtkWidget*) _tmp2_);
#line 798 "tile.c"
	}
#line 187 "tile-view/tile.vala"
	_tmp3_ = self->priv->button_box;
#line 187 "tile-view/tile.vala"
	gtk_widget_set_state_flags ((GtkWidget*) _tmp3_, GTK_STATE_FLAG_NORMAL, TRUE);
#line 188 "tile-view/tile.vala"
	_tmp4_ = self->priv->tile_image;
#line 188 "tile-view/tile.vala"
	gtk_widget_set_state_flags ((GtkWidget*) _tmp4_, GTK_STATE_FLAG_NORMAL, TRUE);
#line 189 "tile-view/tile.vala"
	_tmp5_ = self->priv->description;
#line 189 "tile-view/tile.vala"
	gtk_widget_set_state_flags ((GtkWidget*) _tmp5_, GTK_STATE_FLAG_NORMAL, TRUE);
#line 190 "tile-view/tile.vala"
	_tmp6_ = self->priv->sub_description;
#line 190 "tile-view/tile.vala"
	gtk_widget_set_state_flags ((GtkWidget*) _tmp6_, GTK_STATE_FLAG_NORMAL, TRUE);
#line 191 "tile-view/tile.vala"
	_tmp7_ = self->priv->title;
#line 191 "tile-view/tile.vala"
	gtk_widget_set_state_flags ((GtkWidget*) _tmp7_, GTK_STATE_FLAG_NORMAL, TRUE);
#line 193 "tile-view/tile.vala"
	ui_widgets_tile_update_state (self);
#line 194 "tile-view/tile.vala"
	gtk_widget_queue_resize ((GtkWidget*) self);
#line 824 "tile.c"
}

static void
ui_widgets_tile_set_image (UIWidgetsTile* self)
{
	GdkPixbuf* pixbuf = NULL;
	UIWidgetsAbstractTileObject* _tmp0_;
	GdkPixbuf* _tmp1_;
	GdkPixbuf* _tmp2_;
	GtkImage* _tmp28_;
	UIWidgetsAbstractTileObject* _tmp29_;
	gboolean _tmp30_;
	gboolean _tmp31_;
	GtkImage* _tmp32_;
	GdkPixbuf* _tmp33_;
	GtkImage* _tmp34_;
	GError* _inner_error0_ = NULL;
#line 197 "tile-view/tile.vala"
	g_return_if_fail (self != NULL);
#line 199 "tile-view/tile.vala"
	pixbuf = NULL;
#line 200 "tile-view/tile.vala"
	_tmp0_ = self->priv->_owned_object;
#line 200 "tile-view/tile.vala"
	_tmp1_ = ui_widgets_abstract_tile_object_get_force_pixbuf (_tmp0_);
#line 200 "tile-view/tile.vala"
	_tmp2_ = _tmp1_;
#line 200 "tile-view/tile.vala"
	if (_tmp2_ != NULL) {
#line 854 "tile.c"
		UIWidgetsAbstractTileObject* _tmp3_;
		GdkPixbuf* _tmp4_;
		GdkPixbuf* _tmp5_;
		GdkPixbuf* _tmp6_;
		gboolean _tmp7_ = FALSE;
		GdkPixbuf* _tmp8_;
#line 202 "tile-view/tile.vala"
		_tmp3_ = self->priv->_owned_object;
#line 202 "tile-view/tile.vala"
		_tmp4_ = ui_widgets_abstract_tile_object_get_force_pixbuf (_tmp3_);
#line 202 "tile-view/tile.vala"
		_tmp5_ = _tmp4_;
#line 202 "tile-view/tile.vala"
		_tmp6_ = _g_object_ref0 (_tmp5_);
#line 202 "tile-view/tile.vala"
		_g_object_unref0 (pixbuf);
#line 202 "tile-view/tile.vala"
		pixbuf = _tmp6_;
#line 203 "tile-view/tile.vala"
		_tmp8_ = pixbuf;
#line 203 "tile-view/tile.vala"
		if (gdk_pixbuf_get_width (_tmp8_) != self->priv->icon_size) {
#line 203 "tile-view/tile.vala"
			_tmp7_ = TRUE;
#line 879 "tile.c"
		} else {
			GdkPixbuf* _tmp9_;
#line 204 "tile-view/tile.vala"
			_tmp9_ = pixbuf;
#line 204 "tile-view/tile.vala"
			_tmp7_ = gdk_pixbuf_get_height (_tmp9_) != self->priv->icon_size;
#line 886 "tile.c"
		}
#line 203 "tile-view/tile.vala"
		if (_tmp7_) {
#line 890 "tile.c"
			GdkPixbuf* _tmp10_;
			GdkPixbuf* _tmp11_;
#line 206 "tile-view/tile.vala"
			_tmp10_ = pixbuf;
#line 206 "tile-view/tile.vala"
			_tmp11_ = gdk_pixbuf_scale_simple (_tmp10_, self->priv->icon_size, self->priv->icon_size, GDK_INTERP_BILINEAR);
#line 206 "tile-view/tile.vala"
			_g_object_unref0 (pixbuf);
#line 206 "tile-view/tile.vala"
			pixbuf = _tmp11_;
#line 901 "tile.c"
		}
	} else {
		{
			GdkPixbuf* temp_pb = NULL;
			GtkIconTheme* it = NULL;
			GtkIconTheme* _tmp12_;
			GdkPixbuf* _tmp24_;
			GdkPixbuf* _tmp25_;
#line 215 "tile-view/tile.vala"
			_tmp12_ = gtk_icon_theme_get_default ();
#line 215 "tile-view/tile.vala"
			it = _tmp12_;
#line 914 "tile.c"
			{
				GdkPixbuf* _tmp13_ = NULL;
				GtkIconTheme* _tmp14_;
				UIWidgetsAbstractTileObject* _tmp15_;
				const gchar* _tmp16_;
				const gchar* _tmp17_;
				GdkPixbuf* _tmp18_;
				GdkPixbuf* _tmp19_;
#line 218 "tile-view/tile.vala"
				_tmp14_ = it;
#line 218 "tile-view/tile.vala"
				_tmp15_ = self->priv->_owned_object;
#line 218 "tile-view/tile.vala"
				_tmp16_ = ui_widgets_abstract_tile_object_get_icon (_tmp15_);
#line 218 "tile-view/tile.vala"
				_tmp17_ = _tmp16_;
#line 218 "tile-view/tile.vala"
				_tmp18_ = gtk_icon_theme_load_icon (_tmp14_, _tmp17_, self->priv->icon_size, GTK_ICON_LOOKUP_FORCE_SIZE, &_inner_error0_);
#line 218 "tile-view/tile.vala"
				_tmp13_ = _tmp18_;
#line 218 "tile-view/tile.vala"
				if (G_UNLIKELY (_inner_error0_ != NULL)) {
#line 937 "tile.c"
					goto __catch1_g_error;
				}
#line 218 "tile-view/tile.vala"
				_tmp19_ = _tmp13_;
#line 218 "tile-view/tile.vala"
				_tmp13_ = NULL;
#line 218 "tile-view/tile.vala"
				_g_object_unref0 (temp_pb);
#line 218 "tile-view/tile.vala"
				temp_pb = _tmp19_;
#line 216 "tile-view/tile.vala"
				_g_object_unref0 (_tmp13_);
#line 950 "tile.c"
			}
			goto __finally1;
			__catch1_g_error:
			{
				GdkPixbuf* _tmp20_ = NULL;
				GtkIconTheme* _tmp21_;
				GdkPixbuf* _tmp22_;
				GdkPixbuf* _tmp23_;
#line 216 "tile-view/tile.vala"
				g_clear_error (&_inner_error0_);
#line 224 "tile-view/tile.vala"
				_tmp21_ = it;
#line 224 "tile-view/tile.vala"
				_tmp22_ = gtk_icon_theme_load_icon (_tmp21_, GTK_STOCK_FILE, self->priv->icon_size, GTK_ICON_LOOKUP_FORCE_SIZE, &_inner_error0_);
#line 224 "tile-view/tile.vala"
				_tmp20_ = _tmp22_;
#line 224 "tile-view/tile.vala"
				if (G_UNLIKELY (_inner_error0_ != NULL)) {
#line 969 "tile.c"
					goto __finally1;
				}
#line 224 "tile-view/tile.vala"
				_tmp23_ = _tmp20_;
#line 224 "tile-view/tile.vala"
				_tmp20_ = NULL;
#line 224 "tile-view/tile.vala"
				_g_object_unref0 (temp_pb);
#line 224 "tile-view/tile.vala"
				temp_pb = _tmp23_;
#line 216 "tile-view/tile.vala"
				_g_object_unref0 (_tmp20_);
#line 982 "tile.c"
			}
			__finally1:
#line 216 "tile-view/tile.vala"
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
#line 216 "tile-view/tile.vala"
				_g_object_unref0 (temp_pb);
#line 989 "tile.c"
				goto __catch0_g_error;
			}
#line 228 "tile-view/tile.vala"
			_tmp24_ = temp_pb;
#line 228 "tile-view/tile.vala"
			_tmp25_ = gdk_pixbuf_copy (_tmp24_);
#line 228 "tile-view/tile.vala"
			_g_object_unref0 (pixbuf);
#line 228 "tile-view/tile.vala"
			pixbuf = _tmp25_;
#line 212 "tile-view/tile.vala"
			_g_object_unref0 (temp_pb);
#line 1002 "tile.c"
		}
		goto __finally0;
		__catch0_g_error:
		{
			GError* err = NULL;
			GError* _tmp26_;
			const gchar* _tmp27_;
#line 212 "tile-view/tile.vala"
			err = _inner_error0_;
#line 212 "tile-view/tile.vala"
			_inner_error0_ = NULL;
#line 232 "tile-view/tile.vala"
			_tmp26_ = err;
#line 232 "tile-view/tile.vala"
			_tmp27_ = _tmp26_->message;
#line 232 "tile-view/tile.vala"
			g_warning ("tile.vala:232: %s", _tmp27_);
#line 212 "tile-view/tile.vala"
			_g_error_free0 (err);
#line 1022 "tile.c"
		}
		__finally0:
#line 212 "tile-view/tile.vala"
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
#line 212 "tile-view/tile.vala"
			_g_object_unref0 (pixbuf);
#line 212 "tile-view/tile.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
#line 212 "tile-view/tile.vala"
			g_clear_error (&_inner_error0_);
#line 212 "tile-view/tile.vala"
			return;
#line 1035 "tile.c"
		}
	}
#line 236 "tile-view/tile.vala"
	_tmp28_ = self->priv->tile_image;
#line 236 "tile-view/tile.vala"
	_tmp29_ = self->priv->_owned_object;
#line 236 "tile-view/tile.vala"
	_tmp30_ = ui_widgets_abstract_tile_object_get_enabled (_tmp29_);
#line 236 "tile-view/tile.vala"
	_tmp31_ = _tmp30_;
#line 236 "tile-view/tile.vala"
	gtk_widget_set_sensitive ((GtkWidget*) _tmp28_, _tmp31_);
#line 238 "tile-view/tile.vala"
	_tmp32_ = self->priv->tile_image;
#line 238 "tile-view/tile.vala"
	_tmp33_ = pixbuf;
#line 238 "tile-view/tile.vala"
	gtk_image_set_from_pixbuf (_tmp32_, _tmp33_);
#line 239 "tile-view/tile.vala"
	_tmp34_ = self->priv->tile_image;
#line 239 "tile-view/tile.vala"
	gtk_widget_show ((GtkWidget*) _tmp34_);
#line 197 "tile-view/tile.vala"
	_g_object_unref0 (pixbuf);
#line 1060 "tile.c"
}

static void
ui_widgets_tile_set_text (UIWidgetsTile* self)
{
	GtkLabel* _tmp0_;
	UIWidgetsAbstractTileObject* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	UIWidgetsWrapLabel* _tmp6_;
	UIWidgetsAbstractTileObject* _tmp7_;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	gboolean _tmp10_ = FALSE;
	UIWidgetsAbstractTileObject* _tmp11_;
	const gchar* _tmp12_;
	const gchar* _tmp13_;
#line 242 "tile-view/tile.vala"
	g_return_if_fail (self != NULL);
#line 244 "tile-view/tile.vala"
	_tmp0_ = self->priv->title;
#line 244 "tile-view/tile.vala"
	_tmp1_ = self->priv->_owned_object;
#line 244 "tile-view/tile.vala"
	_tmp2_ = ui_widgets_abstract_tile_object_get_name (_tmp1_);
#line 244 "tile-view/tile.vala"
	_tmp3_ = _tmp2_;
#line 244 "tile-view/tile.vala"
	_tmp4_ = g_markup_printf_escaped ("<b>%s</b>", _tmp3_);
#line 244 "tile-view/tile.vala"
	_tmp5_ = _tmp4_;
#line 244 "tile-view/tile.vala"
	gtk_label_set_markup (_tmp0_, _tmp5_);
#line 244 "tile-view/tile.vala"
	_g_free0 (_tmp5_);
#line 245 "tile-view/tile.vala"
	_tmp6_ = self->priv->description;
#line 245 "tile-view/tile.vala"
	_tmp7_ = self->priv->_owned_object;
#line 245 "tile-view/tile.vala"
	_tmp8_ = ui_widgets_abstract_tile_object_get_description (_tmp7_);
#line 245 "tile-view/tile.vala"
	_tmp9_ = _tmp8_;
#line 245 "tile-view/tile.vala"
	gtk_label_set_text ((GtkLabel*) _tmp6_, _tmp9_);
#line 247 "tile-view/tile.vala"
	_tmp11_ = self->priv->_owned_object;
#line 247 "tile-view/tile.vala"
	_tmp12_ = ui_widgets_abstract_tile_object_get_sub_description_title (_tmp11_);
#line 247 "tile-view/tile.vala"
	_tmp13_ = _tmp12_;
#line 247 "tile-view/tile.vala"
	if (g_strcmp0 (_tmp13_, "") != 0) {
#line 1116 "tile.c"
		UIWidgetsAbstractTileObject* _tmp14_;
		const gchar* _tmp15_;
		const gchar* _tmp16_;
#line 248 "tile-view/tile.vala"
		_tmp14_ = self->priv->_owned_object;
#line 248 "tile-view/tile.vala"
		_tmp15_ = ui_widgets_abstract_tile_object_get_sub_description_text (_tmp14_);
#line 248 "tile-view/tile.vala"
		_tmp16_ = _tmp15_;
#line 248 "tile-view/tile.vala"
		_tmp10_ = g_strcmp0 (_tmp16_, "") != 0;
#line 1128 "tile.c"
	} else {
#line 247 "tile-view/tile.vala"
		_tmp10_ = FALSE;
#line 1132 "tile.c"
	}
#line 247 "tile-view/tile.vala"
	if (_tmp10_) {
#line 1136 "tile.c"
		GtkLabel* _tmp17_;
		UIWidgetsAbstractTileObject* _tmp18_;
		const gchar* _tmp19_;
		const gchar* _tmp20_;
		UIWidgetsAbstractTileObject* _tmp21_;
		const gchar* _tmp22_;
		const gchar* _tmp23_;
		gchar* _tmp24_;
		gchar* _tmp25_;
#line 250 "tile-view/tile.vala"
		_tmp17_ = self->priv->sub_description;
#line 250 "tile-view/tile.vala"
		_tmp18_ = self->priv->_owned_object;
#line 250 "tile-view/tile.vala"
		_tmp19_ = ui_widgets_abstract_tile_object_get_sub_description_title (_tmp18_);
#line 250 "tile-view/tile.vala"
		_tmp20_ = _tmp19_;
#line 250 "tile-view/tile.vala"
		_tmp21_ = self->priv->_owned_object;
#line 250 "tile-view/tile.vala"
		_tmp22_ = ui_widgets_abstract_tile_object_get_sub_description_text (_tmp21_);
#line 250 "tile-view/tile.vala"
		_tmp23_ = _tmp22_;
#line 250 "tile-view/tile.vala"
		_tmp24_ = g_markup_printf_escaped ("<small><b>%s</b> <i>%s</i></small>", _tmp20_, _tmp23_);
#line 250 "tile-view/tile.vala"
		_tmp25_ = _tmp24_;
#line 250 "tile-view/tile.vala"
		gtk_label_set_markup (_tmp17_, _tmp25_);
#line 250 "tile-view/tile.vala"
		_g_free0 (_tmp25_);
#line 1168 "tile.c"
	}
}

static void
ui_widgets_tile_update_buttons (UIWidgetsTile* self)
{
	GList* children = NULL;
	GtkBox* _tmp0_;
	GList* _tmp1_;
	GList* _tmp2_;
	UIWidgetsAbstractTileObject* _tmp5_;
	GList* _tmp6_;
	gboolean _tmp10_ = FALSE;
	UIWidgetsAbstractTileObject* _tmp11_;
	gboolean _tmp12_;
	gboolean _tmp13_;
#line 259 "tile-view/tile.vala"
	g_return_if_fail (self != NULL);
#line 261 "tile-view/tile.vala"
	_tmp0_ = self->priv->button_box;
#line 261 "tile-view/tile.vala"
	_tmp1_ = gtk_container_get_children ((GtkContainer*) _tmp0_);
#line 261 "tile-view/tile.vala"
	children = _tmp1_;
#line 262 "tile-view/tile.vala"
	_tmp2_ = children;
#line 1195 "tile.c"
	{
		GList* w_collection = NULL;
		GList* w_it = NULL;
#line 262 "tile-view/tile.vala"
		w_collection = _tmp2_;
#line 262 "tile-view/tile.vala"
		for (w_it = w_collection; w_it != NULL; w_it = w_it->next) {
#line 1203 "tile.c"
			GtkWidget* w = NULL;
#line 262 "tile-view/tile.vala"
			w = (GtkWidget*) w_it->data;
#line 1207 "tile.c"
			{
				GtkBox* _tmp3_;
				GtkWidget* _tmp4_;
#line 264 "tile-view/tile.vala"
				_tmp3_ = self->priv->button_box;
#line 264 "tile-view/tile.vala"
				_tmp4_ = w;
#line 264 "tile-view/tile.vala"
				gtk_container_remove ((GtkContainer*) _tmp3_, _tmp4_);
#line 1217 "tile.c"
			}
		}
	}
#line 267 "tile-view/tile.vala"
	_tmp5_ = self->priv->_owned_object;
#line 267 "tile-view/tile.vala"
	_tmp6_ = ui_widgets_abstract_tile_object_get_extra_buttons (_tmp5_);
#line 1225 "tile.c"
	{
		GList* w_collection = NULL;
		GList* w_it = NULL;
#line 267 "tile-view/tile.vala"
		w_collection = _tmp6_;
#line 267 "tile-view/tile.vala"
		for (w_it = w_collection; w_it != NULL; w_it = w_it->next) {
#line 1233 "tile.c"
			GtkWidget* w = NULL;
#line 267 "tile-view/tile.vala"
			w = (GtkWidget*) ((GtkButton*) w_it->data);
#line 1237 "tile.c"
			{
				GtkBox* _tmp7_;
				GtkWidget* _tmp8_;
				GtkWidget* _tmp9_;
#line 269 "tile-view/tile.vala"
				_tmp7_ = self->priv->button_box;
#line 269 "tile-view/tile.vala"
				_tmp8_ = w;
#line 269 "tile-view/tile.vala"
				gtk_box_pack_start (_tmp7_, _tmp8_, FALSE, FALSE, (guint) 0);
#line 270 "tile-view/tile.vala"
				_tmp9_ = w;
#line 270 "tile-view/tile.vala"
				gtk_widget_show (_tmp9_);
#line 1252 "tile.c"
			}
		}
#line 267 "tile-view/tile.vala"
		(w_collection == NULL) ? NULL : (w_collection = (g_list_free (w_collection), NULL));
#line 1257 "tile.c"
	}
#line 273 "tile-view/tile.vala"
	_tmp11_ = self->priv->_owned_object;
#line 273 "tile-view/tile.vala"
	_tmp12_ = ui_widgets_abstract_tile_object_get_show_action_button (_tmp11_);
#line 273 "tile-view/tile.vala"
	_tmp13_ = _tmp12_;
#line 273 "tile-view/tile.vala"
	if (_tmp13_) {
#line 1267 "tile.c"
		GtkButton* _tmp14_;
#line 273 "tile-view/tile.vala"
		_tmp14_ = self->priv->add_remove_button;
#line 273 "tile-view/tile.vala"
		_tmp10_ = _tmp14_ != NULL;
#line 1273 "tile.c"
	} else {
#line 273 "tile-view/tile.vala"
		_tmp10_ = FALSE;
#line 1277 "tile.c"
	}
#line 273 "tile-view/tile.vala"
	if (_tmp10_) {
#line 1281 "tile.c"
		GtkBox* _tmp15_;
		GtkButton* _tmp16_;
#line 275 "tile-view/tile.vala"
		_tmp15_ = self->priv->button_box;
#line 275 "tile-view/tile.vala"
		_tmp16_ = self->priv->add_remove_button;
#line 275 "tile-view/tile.vala"
		gtk_box_pack_start (_tmp15_, (GtkWidget*) _tmp16_, FALSE, FALSE, (guint) 0);
#line 1290 "tile.c"
	}
#line 259 "tile-view/tile.vala"
	(children == NULL) ? NULL : (children = (g_list_free (children), NULL));
#line 1294 "tile.c"
}

UIWidgetsTileView*
ui_widgets_tile_get_owner (UIWidgetsTile* self)
{
	UIWidgetsTileView* result;
	UIWidgetsTileView* _tmp0_;
#line 38 "tile-view/tile.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 38 "tile-view/tile.vala"
	_tmp0_ = self->priv->_owner;
#line 38 "tile-view/tile.vala"
	result = _tmp0_;
#line 38 "tile-view/tile.vala"
	return result;
#line 1310 "tile.c"
}

void
ui_widgets_tile_set_owner (UIWidgetsTile* self,
                           UIWidgetsTileView* value)
{
	UIWidgetsTileView* old_value;
#line 38 "tile-view/tile.vala"
	g_return_if_fail (self != NULL);
#line 38 "tile-view/tile.vala"
	old_value = ui_widgets_tile_get_owner (self);
#line 38 "tile-view/tile.vala"
	if (old_value != value) {
#line 38 "tile-view/tile.vala"
		self->priv->_owner = value;
#line 38 "tile-view/tile.vala"
		g_object_notify_by_pspec ((GObject *) self, ui_widgets_tile_properties[UI_WIDGETS_TILE_OWNER_PROPERTY]);
#line 1328 "tile.c"
	}
}

UIWidgetsAbstractTileObject*
ui_widgets_tile_get_owned_object (UIWidgetsTile* self)
{
	UIWidgetsAbstractTileObject* result;
	UIWidgetsAbstractTileObject* _tmp0_;
#line 39 "tile-view/tile.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 39 "tile-view/tile.vala"
	_tmp0_ = self->priv->_owned_object;
#line 39 "tile-view/tile.vala"
	result = _tmp0_;
#line 39 "tile-view/tile.vala"
	return result;
#line 1345 "tile.c"
}

static void
ui_widgets_tile_set_owned_object (UIWidgetsTile* self,
                                  UIWidgetsAbstractTileObject* value)
{
	UIWidgetsAbstractTileObject* old_value;
#line 39 "tile-view/tile.vala"
	g_return_if_fail (self != NULL);
#line 39 "tile-view/tile.vala"
	old_value = ui_widgets_tile_get_owned_object (self);
#line 39 "tile-view/tile.vala"
	if (old_value != value) {
#line 1359 "tile.c"
		UIWidgetsAbstractTileObject* _tmp0_;
#line 39 "tile-view/tile.vala"
		_tmp0_ = _g_object_ref0 (value);
#line 39 "tile-view/tile.vala"
		_g_object_unref0 (self->priv->_owned_object);
#line 39 "tile-view/tile.vala"
		self->priv->_owned_object = _tmp0_;
#line 39 "tile-view/tile.vala"
		g_object_notify_by_pspec ((GObject *) self, ui_widgets_tile_properties[UI_WIDGETS_TILE_OWNED_OBJECT_PROPERTY]);
#line 1369 "tile.c"
	}
}

gboolean
ui_widgets_tile_get_last (UIWidgetsTile* self)
{
	gboolean result;
#line 40 "tile-view/tile.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 40 "tile-view/tile.vala"
	result = self->priv->_last;
#line 40 "tile-view/tile.vala"
	return result;
#line 1383 "tile.c"
}

static void
ui_widgets_tile_set_last (UIWidgetsTile* self,
                          gboolean value)
{
	gboolean old_value;
#line 40 "tile-view/tile.vala"
	g_return_if_fail (self != NULL);
#line 40 "tile-view/tile.vala"
	old_value = ui_widgets_tile_get_last (self);
#line 40 "tile-view/tile.vala"
	if (old_value != value) {
#line 40 "tile-view/tile.vala"
		self->priv->_last = value;
#line 40 "tile-view/tile.vala"
		g_object_notify_by_pspec ((GObject *) self, ui_widgets_tile_properties[UI_WIDGETS_TILE_LAST_PROPERTY]);
#line 1401 "tile.c"
	}
}

static void
ui_widgets_tile_class_init (UIWidgetsTileClass * klass,
                            gpointer klass_data)
{
#line 24 "tile-view/tile.vala"
	ui_widgets_tile_parent_class = g_type_class_peek_parent (klass);
#line 24 "tile-view/tile.vala"
	g_type_class_adjust_private_offset (klass, &UIWidgetsTile_private_offset);
#line 24 "tile-view/tile.vala"
	((GtkWidgetClass *) klass)->realize = (void (*) (GtkWidget*)) ui_widgets_tile_real_realize;
#line 24 "tile-view/tile.vala"
	((GtkWidgetClass *) klass)->draw = (gboolean (*) (GtkWidget*, cairo_t*)) ui_widgets_tile_real_draw;
#line 24 "tile-view/tile.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_ui_widgets_tile_get_property;
#line 24 "tile-view/tile.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_ui_widgets_tile_set_property;
#line 24 "tile-view/tile.vala"
	G_OBJECT_CLASS (klass)->finalize = ui_widgets_tile_finalize;
#line 24 "tile-view/tile.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_TILE_OWNER_PROPERTY, ui_widgets_tile_properties[UI_WIDGETS_TILE_OWNER_PROPERTY] = g_param_spec_object ("owner", "owner", "owner", UI_WIDGETS_TYPE_TILE_VIEW, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 24 "tile-view/tile.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_TILE_OWNED_OBJECT_PROPERTY, ui_widgets_tile_properties[UI_WIDGETS_TILE_OWNED_OBJECT_PROPERTY] = g_param_spec_object ("owned-object", "owned-object", "owned-object", UI_WIDGETS_TYPE_ABSTRACT_TILE_OBJECT, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
#line 24 "tile-view/tile.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_TILE_LAST_PROPERTY, ui_widgets_tile_properties[UI_WIDGETS_TILE_LAST_PROPERTY] = g_param_spec_boolean ("last", "last", "last", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
#line 24 "tile-view/tile.vala"
	ui_widgets_tile_signals[UI_WIDGETS_TILE_ACTIVE_CHANGED_SIGNAL] = g_signal_new ("active-changed", UI_WIDGETS_TYPE_TILE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 1431 "tile.c"
}

static void
ui_widgets_tile_instance_init (UIWidgetsTile * self,
                               gpointer klass)
{
#line 24 "tile-view/tile.vala"
	self->priv = ui_widgets_tile_get_instance_private (self);
#line 1440 "tile.c"
}

static void
ui_widgets_tile_finalize (GObject * obj)
{
	UIWidgetsTile * self;
#line 24 "tile-view/tile.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, UI_WIDGETS_TYPE_TILE, UIWidgetsTile);
#line 26 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->add_remove_button);
#line 27 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->button_box);
#line 29 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->title);
#line 30 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->tile_image);
#line 31 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->description);
#line 32 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->sub_description);
#line 33 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->add_image);
#line 34 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->remove_image);
#line 39 "tile-view/tile.vala"
	_g_object_unref0 (self->priv->_owned_object);
#line 24 "tile-view/tile.vala"
	G_OBJECT_CLASS (ui_widgets_tile_parent_class)->finalize (obj);
#line 1469 "tile.c"
}

static GType
ui_widgets_tile_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (UIWidgetsTileClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) ui_widgets_tile_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (UIWidgetsTile), 0, (GInstanceInitFunc) ui_widgets_tile_instance_init, NULL };
	GType ui_widgets_tile_type_id;
	ui_widgets_tile_type_id = g_type_register_static (gtk_table_get_type (), "UIWidgetsTile", &g_define_type_info, 0);
	UIWidgetsTile_private_offset = g_type_add_instance_private (ui_widgets_tile_type_id, sizeof (UIWidgetsTilePrivate));
	return ui_widgets_tile_type_id;
}

GType
ui_widgets_tile_get_type (void)
{
	static volatile gsize ui_widgets_tile_type_id__once = 0;
	if (g_once_init_enter (&ui_widgets_tile_type_id__once)) {
		GType ui_widgets_tile_type_id;
		ui_widgets_tile_type_id = ui_widgets_tile_get_type_once ();
		g_once_init_leave (&ui_widgets_tile_type_id__once, ui_widgets_tile_type_id);
	}
	return ui_widgets_tile_type_id__once;
}

static void
_vala_ui_widgets_tile_get_property (GObject * object,
                                    guint property_id,
                                    GValue * value,
                                    GParamSpec * pspec)
{
	UIWidgetsTile * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, UI_WIDGETS_TYPE_TILE, UIWidgetsTile);
#line 24 "tile-view/tile.vala"
	switch (property_id) {
#line 24 "tile-view/tile.vala"
		case UI_WIDGETS_TILE_OWNER_PROPERTY:
#line 24 "tile-view/tile.vala"
		g_value_set_object (value, ui_widgets_tile_get_owner (self));
#line 24 "tile-view/tile.vala"
		break;
#line 24 "tile-view/tile.vala"
		case UI_WIDGETS_TILE_OWNED_OBJECT_PROPERTY:
#line 24 "tile-view/tile.vala"
		g_value_set_object (value, ui_widgets_tile_get_owned_object (self));
#line 24 "tile-view/tile.vala"
		break;
#line 24 "tile-view/tile.vala"
		case UI_WIDGETS_TILE_LAST_PROPERTY:
#line 24 "tile-view/tile.vala"
		g_value_set_boolean (value, ui_widgets_tile_get_last (self));
#line 24 "tile-view/tile.vala"
		break;
#line 1522 "tile.c"
		default:
#line 24 "tile-view/tile.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 24 "tile-view/tile.vala"
		break;
#line 1528 "tile.c"
	}
}

static void
_vala_ui_widgets_tile_set_property (GObject * object,
                                    guint property_id,
                                    const GValue * value,
                                    GParamSpec * pspec)
{
	UIWidgetsTile * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, UI_WIDGETS_TYPE_TILE, UIWidgetsTile);
#line 24 "tile-view/tile.vala"
	switch (property_id) {
#line 24 "tile-view/tile.vala"
		case UI_WIDGETS_TILE_OWNER_PROPERTY:
#line 24 "tile-view/tile.vala"
		ui_widgets_tile_set_owner (self, g_value_get_object (value));
#line 24 "tile-view/tile.vala"
		break;
#line 24 "tile-view/tile.vala"
		case UI_WIDGETS_TILE_OWNED_OBJECT_PROPERTY:
#line 24 "tile-view/tile.vala"
		ui_widgets_tile_set_owned_object (self, g_value_get_object (value));
#line 24 "tile-view/tile.vala"
		break;
#line 24 "tile-view/tile.vala"
		case UI_WIDGETS_TILE_LAST_PROPERTY:
#line 24 "tile-view/tile.vala"
		ui_widgets_tile_set_last (self, g_value_get_boolean (value));
#line 24 "tile-view/tile.vala"
		break;
#line 1560 "tile.c"
		default:
#line 24 "tile-view/tile.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 24 "tile-view/tile.vala"
		break;
#line 1566 "tile.c"
	}
}

static inline gpointer
_vala_memdup2 (gconstpointer mem,
               gsize byte_size)
{
	gpointer new_mem;
#line 24 "controller.vala"
	if (mem && byte_size != 0) {
#line 24 "controller.vala"
		new_mem = g_malloc (byte_size);
#line 24 "controller.vala"
		memcpy (new_mem, mem, byte_size);
#line 1581 "tile.c"
	} else {
#line 24 "controller.vala"
		new_mem = NULL;
#line 1585 "tile.c"
	}
#line 24 "controller.vala"
	return new_mem;
#line 1589 "tile.c"
}

