/* abstract-tile-object.c generated by valac 0.56.17, the Vala compiler
 * generated from abstract-tile-object.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 <glib-object.h>
#include <glib.h>
#include <gtk/gtk.h>
#include <stdlib.h>
#include <string.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_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;
typedef struct _UIWidgetsAbstractTileObjectPrivate UIWidgetsAbstractTileObjectPrivate;
enum  {
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_0_PROPERTY,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_ICON_PROPERTY,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_FORCE_PIXBUF_PROPERTY,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_NAME_PROPERTY,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_DESCRIPTION_PROPERTY,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TITLE_PROPERTY,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TEXT_PROPERTY,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_SHOW_ACTION_BUTTON_PROPERTY,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_ENABLED_PROPERTY,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_ADD_BUTTON_STOCK_PROPERTY,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_STOCK_PROPERTY,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_ADD_BUTTON_TOOLTIP_PROPERTY,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_TOOLTIP_PROPERTY,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_NUM_PROPERTIES
};
static GParamSpec* ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_NUM_PROPERTIES];
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
enum  {
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_ICON_UPDATED_SIGNAL,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_TEXT_UPDATED_SIGNAL,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_BUTTONS_UPDATED_SIGNAL,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_ACTIVE_CHANGED_SIGNAL,
	UI_WIDGETS_ABSTRACT_TILE_OBJECT_NUM_SIGNALS
};
static guint ui_widgets_abstract_tile_object_signals[UI_WIDGETS_ABSTRACT_TILE_OBJECT_NUM_SIGNALS] = {0};

struct _UIWidgetsAbstractTileObject {
	GObject parent_instance;
	UIWidgetsAbstractTileObjectPrivate * priv;
};

struct _UIWidgetsAbstractTileObjectClass {
	GObjectClass parent_class;
	void (*active_changed) (UIWidgetsAbstractTileObject* self);
};

struct _UIWidgetsAbstractTileObjectPrivate {
	GList* extra_buttons;
	gchar* _icon;
	GdkPixbuf* _force_pixbuf;
	gchar* _name;
	gchar* _description;
	gchar* _subdesc_title;
	gchar* _subdesc_text;
	gboolean _show_action_button;
	gboolean _enabled;
	gchar* _add_button_stock;
	gchar* _remove_button_stock;
	gchar* _add_button_tooltip;
	gchar* _remove_button_tooltip;
};

static gint UIWidgetsAbstractTileObject_private_offset;
static gpointer ui_widgets_abstract_tile_object_parent_class = NULL;

VALA_EXTERN GType ui_widgets_abstract_tile_object_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (UIWidgetsAbstractTileObject, g_object_unref)
static void _g_object_unref0_ (gpointer var);
static inline void _g_list_free__g_object_unref0_ (GList* self);
VALA_EXTERN GList* ui_widgets_abstract_tile_object_get_extra_buttons (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_abstract_tile_object_add_user_button (UIWidgetsAbstractTileObject* self,
                                                      GtkButton* button);
VALA_EXTERN void ui_widgets_abstract_tile_object_remove_user_button (UIWidgetsAbstractTileObject* self,
                                                         GtkButton* button);
VALA_EXTERN UIWidgetsAbstractTileObject* ui_widgets_abstract_tile_object_construct (GType object_type);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_icon (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_abstract_tile_object_set_icon (UIWidgetsAbstractTileObject* self,
                                               const gchar* value);
VALA_EXTERN GdkPixbuf* ui_widgets_abstract_tile_object_get_force_pixbuf (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_abstract_tile_object_set_force_pixbuf (UIWidgetsAbstractTileObject* self,
                                                       GdkPixbuf* value);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_name (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_abstract_tile_object_set_name (UIWidgetsAbstractTileObject* self,
                                               const gchar* value);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_description (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_abstract_tile_object_set_description (UIWidgetsAbstractTileObject* self,
                                                      const gchar* value);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_sub_description_title (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_abstract_tile_object_set_sub_description_title (UIWidgetsAbstractTileObject* self,
                                                                const gchar* value);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_sub_description_text (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_abstract_tile_object_set_sub_description_text (UIWidgetsAbstractTileObject* self,
                                                               const gchar* value);
VALA_EXTERN gboolean ui_widgets_abstract_tile_object_get_show_action_button (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_abstract_tile_object_set_show_action_button (UIWidgetsAbstractTileObject* self,
                                                             gboolean value);
VALA_EXTERN gboolean ui_widgets_abstract_tile_object_get_enabled (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_abstract_tile_object_set_enabled (UIWidgetsAbstractTileObject* self,
                                                  gboolean value);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_add_button_stock (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_abstract_tile_object_set_add_button_stock (UIWidgetsAbstractTileObject* self,
                                                           const gchar* value);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_remove_button_stock (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_abstract_tile_object_set_remove_button_stock (UIWidgetsAbstractTileObject* self,
                                                              const gchar* value);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_add_button_tooltip (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_abstract_tile_object_set_add_button_tooltip (UIWidgetsAbstractTileObject* self,
                                                             const gchar* value);
VALA_EXTERN const gchar* ui_widgets_abstract_tile_object_get_remove_button_tooltip (UIWidgetsAbstractTileObject* self);
VALA_EXTERN void ui_widgets_abstract_tile_object_set_remove_button_tooltip (UIWidgetsAbstractTileObject* self,
                                                                const gchar* value);
static void ui_widgets_abstract_tile_object_real_active_changed (UIWidgetsAbstractTileObject* self);
static void ui_widgets_abstract_tile_object_finalize (GObject * obj);
static GType ui_widgets_abstract_tile_object_get_type_once (void);
static void _vala_ui_widgets_abstract_tile_object_get_property (GObject * object,
                                                         guint property_id,
                                                         GValue * value,
                                                         GParamSpec * pspec);
static void _vala_ui_widgets_abstract_tile_object_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_abstract_tile_object_get_instance_private (UIWidgetsAbstractTileObject* self)
{
	return G_STRUCT_MEMBER_P (self, UIWidgetsAbstractTileObject_private_offset);
}

static void
_g_object_unref0_ (gpointer var)
{
#line 31 "tile-view/abstract-tile-object.vala"
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
#line 189 "abstract-tile-object.c"
}

static inline void
_g_list_free__g_object_unref0_ (GList* self)
{
#line 31 "tile-view/abstract-tile-object.vala"
	g_list_free_full (self, (GDestroyNotify) _g_object_unref0_);
#line 197 "abstract-tile-object.c"
}

GList*
ui_widgets_abstract_tile_object_get_extra_buttons (UIWidgetsAbstractTileObject* self)
{
	GList* _tmp0_;
	GList* _tmp1_;
	GList* result;
#line 32 "tile-view/abstract-tile-object.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 34 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->extra_buttons;
#line 34 "tile-view/abstract-tile-object.vala"
	_tmp1_ = g_list_copy (_tmp0_);
#line 34 "tile-view/abstract-tile-object.vala"
	result = _tmp1_;
#line 34 "tile-view/abstract-tile-object.vala"
	return result;
#line 216 "abstract-tile-object.c"
}

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

void
ui_widgets_abstract_tile_object_add_user_button (UIWidgetsAbstractTileObject* self,
                                                 GtkButton* button)
{
	GList* _tmp0_;
	GList* _tmp1_;
#line 144 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (self != NULL);
#line 144 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (button != NULL);
#line 146 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->extra_buttons;
#line 146 "tile-view/abstract-tile-object.vala"
	_tmp1_ = g_list_find (_tmp0_, button);
#line 146 "tile-view/abstract-tile-object.vala"
	if (_tmp1_ == NULL) {
#line 243 "abstract-tile-object.c"
		GtkButton* _tmp2_;
#line 148 "tile-view/abstract-tile-object.vala"
		_tmp2_ = _g_object_ref0 (button);
#line 148 "tile-view/abstract-tile-object.vala"
		self->priv->extra_buttons = g_list_append (self->priv->extra_buttons, _tmp2_);
#line 149 "tile-view/abstract-tile-object.vala"
		g_signal_emit (self, ui_widgets_abstract_tile_object_signals[UI_WIDGETS_ABSTRACT_TILE_OBJECT_BUTTONS_UPDATED_SIGNAL], 0);
#line 251 "abstract-tile-object.c"
	}
}

static GList*
vala_g_list_remove_full (GList* self,
                         gconstpointer data,
                         GFreeFunc func)
{
	GList* l = NULL;
	GList* result;
#line 5230 "glib-2.0.vapi"
	l = self;
#line 5231 "glib-2.0.vapi"
	while (TRUE) {
#line 266 "abstract-tile-object.c"
		GList* _tmp0_;
		GList* _tmp1_;
		gconstpointer _tmp2_;
#line 5231 "glib-2.0.vapi"
		_tmp0_ = l;
#line 5231 "glib-2.0.vapi"
		if (!(_tmp0_ != NULL)) {
#line 5231 "glib-2.0.vapi"
			break;
#line 276 "abstract-tile-object.c"
		}
#line 5232 "glib-2.0.vapi"
		_tmp1_ = l;
#line 5232 "glib-2.0.vapi"
		_tmp2_ = ((GList*) _tmp1_)->data;
#line 5232 "glib-2.0.vapi"
		if (_tmp2_ != data) {
#line 284 "abstract-tile-object.c"
			GList* _tmp3_;
			GList* _tmp4_;
#line 5233 "glib-2.0.vapi"
			_tmp3_ = l;
#line 5233 "glib-2.0.vapi"
			_tmp4_ = ((GList*) _tmp3_)->next;
#line 5233 "glib-2.0.vapi"
			l = _tmp4_;
#line 293 "abstract-tile-object.c"
		} else {
			GList* _tmp5_;
			gconstpointer _tmp6_;
			GList* _tmp7_;
#line 5235 "glib-2.0.vapi"
			_tmp5_ = l;
#line 5235 "glib-2.0.vapi"
			_tmp6_ = ((GList*) _tmp5_)->data;
#line 5235 "glib-2.0.vapi"
			func (_tmp6_);
#line 5236 "glib-2.0.vapi"
			_tmp7_ = l;
#line 5236 "glib-2.0.vapi"
			self = g_list_delete_link (self, (GList*) _tmp7_);
#line 5237 "glib-2.0.vapi"
			break;
#line 310 "abstract-tile-object.c"
		}
	}
#line 5240 "glib-2.0.vapi"
	result = self;
#line 5240 "glib-2.0.vapi"
	return result;
#line 317 "abstract-tile-object.c"
}

void
ui_widgets_abstract_tile_object_remove_user_button (UIWidgetsAbstractTileObject* self,
                                                    GtkButton* button)
{
	GList* _tmp0_;
	GList* _tmp1_;
#line 153 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (self != NULL);
#line 153 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (button != NULL);
#line 155 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->extra_buttons;
#line 155 "tile-view/abstract-tile-object.vala"
	_tmp1_ = g_list_find (_tmp0_, button);
#line 155 "tile-view/abstract-tile-object.vala"
	if (_tmp1_ != NULL) {
#line 157 "tile-view/abstract-tile-object.vala"
		self->priv->extra_buttons = vala_g_list_remove_full (self->priv->extra_buttons, button, _g_object_unref0_);
#line 158 "tile-view/abstract-tile-object.vala"
		g_signal_emit (self, ui_widgets_abstract_tile_object_signals[UI_WIDGETS_ABSTRACT_TILE_OBJECT_BUTTONS_UPDATED_SIGNAL], 0);
#line 340 "abstract-tile-object.c"
	}
}

UIWidgetsAbstractTileObject*
ui_widgets_abstract_tile_object_construct (GType object_type)
{
	UIWidgetsAbstractTileObject * self = NULL;
#line 24 "tile-view/abstract-tile-object.vala"
	self = (UIWidgetsAbstractTileObject*) g_object_new (object_type, NULL);
#line 24 "tile-view/abstract-tile-object.vala"
	return self;
#line 352 "abstract-tile-object.c"
}

const gchar*
ui_widgets_abstract_tile_object_get_icon (UIWidgetsAbstractTileObject* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	const gchar* _tmp2_;
#line 40 "tile-view/abstract-tile-object.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 42 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_icon;
#line 42 "tile-view/abstract-tile-object.vala"
	if (_tmp0_ == NULL) {
#line 367 "abstract-tile-object.c"
		gchar* _tmp1_;
#line 42 "tile-view/abstract-tile-object.vala"
		_tmp1_ = g_strdup ("");
#line 42 "tile-view/abstract-tile-object.vala"
		_g_free0 (self->priv->_icon);
#line 42 "tile-view/abstract-tile-object.vala"
		self->priv->_icon = _tmp1_;
#line 375 "abstract-tile-object.c"
	}
#line 43 "tile-view/abstract-tile-object.vala"
	_tmp2_ = self->priv->_icon;
#line 43 "tile-view/abstract-tile-object.vala"
	result = _tmp2_;
#line 43 "tile-view/abstract-tile-object.vala"
	return result;
#line 383 "abstract-tile-object.c"
}

void
ui_widgets_abstract_tile_object_set_icon (UIWidgetsAbstractTileObject* self,
                                          const gchar* value)
{
	const gchar* _tmp0_;
	GdkPixbuf* _tmp1_;
	GdkPixbuf* _tmp2_;
	gchar* _tmp3_;
#line 45 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (self != NULL);
#line 47 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_icon;
#line 47 "tile-view/abstract-tile-object.vala"
	if (g_strcmp0 (_tmp0_, value) == 0) {
#line 47 "tile-view/abstract-tile-object.vala"
		return;
#line 402 "abstract-tile-object.c"
	}
#line 49 "tile-view/abstract-tile-object.vala"
	_tmp1_ = ui_widgets_abstract_tile_object_get_force_pixbuf (self);
#line 49 "tile-view/abstract-tile-object.vala"
	_tmp2_ = _tmp1_;
#line 49 "tile-view/abstract-tile-object.vala"
	if (_tmp2_ != NULL) {
#line 49 "tile-view/abstract-tile-object.vala"
		ui_widgets_abstract_tile_object_set_force_pixbuf (self, NULL);
#line 412 "abstract-tile-object.c"
	}
#line 51 "tile-view/abstract-tile-object.vala"
	_tmp3_ = g_strdup (value);
#line 51 "tile-view/abstract-tile-object.vala"
	_g_free0 (self->priv->_icon);
#line 51 "tile-view/abstract-tile-object.vala"
	self->priv->_icon = _tmp3_;
#line 52 "tile-view/abstract-tile-object.vala"
	g_signal_emit (self, ui_widgets_abstract_tile_object_signals[UI_WIDGETS_ABSTRACT_TILE_OBJECT_ICON_UPDATED_SIGNAL], 0);
#line 45 "tile-view/abstract-tile-object.vala"
	g_object_notify_by_pspec ((GObject *) self, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_ICON_PROPERTY]);
#line 424 "abstract-tile-object.c"
}

GdkPixbuf*
ui_widgets_abstract_tile_object_get_force_pixbuf (UIWidgetsAbstractTileObject* self)
{
	GdkPixbuf* result;
	GdkPixbuf* _tmp0_;
#line 59 "tile-view/abstract-tile-object.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 61 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_force_pixbuf;
#line 61 "tile-view/abstract-tile-object.vala"
	result = _tmp0_;
#line 61 "tile-view/abstract-tile-object.vala"
	return result;
#line 440 "abstract-tile-object.c"
}

void
ui_widgets_abstract_tile_object_set_force_pixbuf (UIWidgetsAbstractTileObject* self,
                                                  GdkPixbuf* value)
{
	GdkPixbuf* _tmp0_;
	GdkPixbuf* _tmp1_;
#line 63 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (self != NULL);
#line 65 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_force_pixbuf;
#line 65 "tile-view/abstract-tile-object.vala"
	if (_tmp0_ == value) {
#line 65 "tile-view/abstract-tile-object.vala"
		return;
#line 457 "abstract-tile-object.c"
	}
#line 66 "tile-view/abstract-tile-object.vala"
	_tmp1_ = _g_object_ref0 (value);
#line 66 "tile-view/abstract-tile-object.vala"
	_g_object_unref0 (self->priv->_force_pixbuf);
#line 66 "tile-view/abstract-tile-object.vala"
	self->priv->_force_pixbuf = _tmp1_;
#line 67 "tile-view/abstract-tile-object.vala"
	g_signal_emit (self, ui_widgets_abstract_tile_object_signals[UI_WIDGETS_ABSTRACT_TILE_OBJECT_ICON_UPDATED_SIGNAL], 0);
#line 63 "tile-view/abstract-tile-object.vala"
	g_object_notify_by_pspec ((GObject *) self, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_FORCE_PIXBUF_PROPERTY]);
#line 469 "abstract-tile-object.c"
}

const gchar*
ui_widgets_abstract_tile_object_get_name (UIWidgetsAbstractTileObject* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	const gchar* _tmp2_;
#line 74 "tile-view/abstract-tile-object.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 76 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_name;
#line 76 "tile-view/abstract-tile-object.vala"
	if (_tmp0_ == NULL) {
#line 484 "abstract-tile-object.c"
		gchar* _tmp1_;
#line 76 "tile-view/abstract-tile-object.vala"
		_tmp1_ = g_strdup ("");
#line 76 "tile-view/abstract-tile-object.vala"
		_g_free0 (self->priv->_name);
#line 76 "tile-view/abstract-tile-object.vala"
		self->priv->_name = _tmp1_;
#line 492 "abstract-tile-object.c"
	}
#line 77 "tile-view/abstract-tile-object.vala"
	_tmp2_ = self->priv->_name;
#line 77 "tile-view/abstract-tile-object.vala"
	result = _tmp2_;
#line 77 "tile-view/abstract-tile-object.vala"
	return result;
#line 500 "abstract-tile-object.c"
}

void
ui_widgets_abstract_tile_object_set_name (UIWidgetsAbstractTileObject* self,
                                          const gchar* value)
{
	const gchar* _tmp0_;
	gchar* _tmp1_;
#line 79 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (self != NULL);
#line 81 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_name;
#line 81 "tile-view/abstract-tile-object.vala"
	if (g_strcmp0 (_tmp0_, value) == 0) {
#line 81 "tile-view/abstract-tile-object.vala"
		return;
#line 517 "abstract-tile-object.c"
	}
#line 82 "tile-view/abstract-tile-object.vala"
	_tmp1_ = g_strdup (value);
#line 82 "tile-view/abstract-tile-object.vala"
	_g_free0 (self->priv->_name);
#line 82 "tile-view/abstract-tile-object.vala"
	self->priv->_name = _tmp1_;
#line 83 "tile-view/abstract-tile-object.vala"
	g_signal_emit (self, ui_widgets_abstract_tile_object_signals[UI_WIDGETS_ABSTRACT_TILE_OBJECT_TEXT_UPDATED_SIGNAL], 0);
#line 79 "tile-view/abstract-tile-object.vala"
	g_object_notify_by_pspec ((GObject *) self, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_NAME_PROPERTY]);
#line 529 "abstract-tile-object.c"
}

const gchar*
ui_widgets_abstract_tile_object_get_description (UIWidgetsAbstractTileObject* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	const gchar* _tmp2_;
#line 90 "tile-view/abstract-tile-object.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 92 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_description;
#line 92 "tile-view/abstract-tile-object.vala"
	if (_tmp0_ == NULL) {
#line 544 "abstract-tile-object.c"
		gchar* _tmp1_;
#line 92 "tile-view/abstract-tile-object.vala"
		_tmp1_ = g_strdup ("");
#line 92 "tile-view/abstract-tile-object.vala"
		_g_free0 (self->priv->_description);
#line 92 "tile-view/abstract-tile-object.vala"
		self->priv->_description = _tmp1_;
#line 552 "abstract-tile-object.c"
	}
#line 93 "tile-view/abstract-tile-object.vala"
	_tmp2_ = self->priv->_description;
#line 93 "tile-view/abstract-tile-object.vala"
	result = _tmp2_;
#line 93 "tile-view/abstract-tile-object.vala"
	return result;
#line 560 "abstract-tile-object.c"
}

void
ui_widgets_abstract_tile_object_set_description (UIWidgetsAbstractTileObject* self,
                                                 const gchar* value)
{
	const gchar* _tmp0_;
	gchar* _tmp1_;
#line 95 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (self != NULL);
#line 97 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_description;
#line 97 "tile-view/abstract-tile-object.vala"
	if (g_strcmp0 (_tmp0_, value) == 0) {
#line 97 "tile-view/abstract-tile-object.vala"
		return;
#line 577 "abstract-tile-object.c"
	}
#line 98 "tile-view/abstract-tile-object.vala"
	_tmp1_ = g_strdup (value);
#line 98 "tile-view/abstract-tile-object.vala"
	_g_free0 (self->priv->_description);
#line 98 "tile-view/abstract-tile-object.vala"
	self->priv->_description = _tmp1_;
#line 99 "tile-view/abstract-tile-object.vala"
	g_signal_emit (self, ui_widgets_abstract_tile_object_signals[UI_WIDGETS_ABSTRACT_TILE_OBJECT_TEXT_UPDATED_SIGNAL], 0);
#line 95 "tile-view/abstract-tile-object.vala"
	g_object_notify_by_pspec ((GObject *) self, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_DESCRIPTION_PROPERTY]);
#line 589 "abstract-tile-object.c"
}

const gchar*
ui_widgets_abstract_tile_object_get_sub_description_title (UIWidgetsAbstractTileObject* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	const gchar* _tmp2_;
#line 106 "tile-view/abstract-tile-object.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 108 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_subdesc_title;
#line 108 "tile-view/abstract-tile-object.vala"
	if (_tmp0_ == NULL) {
#line 604 "abstract-tile-object.c"
		gchar* _tmp1_;
#line 108 "tile-view/abstract-tile-object.vala"
		_tmp1_ = g_strdup ("");
#line 108 "tile-view/abstract-tile-object.vala"
		_g_free0 (self->priv->_subdesc_title);
#line 108 "tile-view/abstract-tile-object.vala"
		self->priv->_subdesc_title = _tmp1_;
#line 612 "abstract-tile-object.c"
	}
#line 109 "tile-view/abstract-tile-object.vala"
	_tmp2_ = self->priv->_subdesc_title;
#line 109 "tile-view/abstract-tile-object.vala"
	result = _tmp2_;
#line 109 "tile-view/abstract-tile-object.vala"
	return result;
#line 620 "abstract-tile-object.c"
}

void
ui_widgets_abstract_tile_object_set_sub_description_title (UIWidgetsAbstractTileObject* self,
                                                           const gchar* value)
{
	const gchar* _tmp0_;
	gchar* _tmp1_;
#line 111 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (self != NULL);
#line 113 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_subdesc_title;
#line 113 "tile-view/abstract-tile-object.vala"
	if (g_strcmp0 (_tmp0_, value) == 0) {
#line 113 "tile-view/abstract-tile-object.vala"
		return;
#line 637 "abstract-tile-object.c"
	}
#line 114 "tile-view/abstract-tile-object.vala"
	_tmp1_ = g_strdup (value);
#line 114 "tile-view/abstract-tile-object.vala"
	_g_free0 (self->priv->_subdesc_title);
#line 114 "tile-view/abstract-tile-object.vala"
	self->priv->_subdesc_title = _tmp1_;
#line 115 "tile-view/abstract-tile-object.vala"
	g_signal_emit (self, ui_widgets_abstract_tile_object_signals[UI_WIDGETS_ABSTRACT_TILE_OBJECT_TEXT_UPDATED_SIGNAL], 0);
#line 111 "tile-view/abstract-tile-object.vala"
	g_object_notify_by_pspec ((GObject *) self, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TITLE_PROPERTY]);
#line 649 "abstract-tile-object.c"
}

const gchar*
ui_widgets_abstract_tile_object_get_sub_description_text (UIWidgetsAbstractTileObject* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	const gchar* _tmp2_;
#line 122 "tile-view/abstract-tile-object.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 124 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_subdesc_text;
#line 124 "tile-view/abstract-tile-object.vala"
	if (_tmp0_ == NULL) {
#line 664 "abstract-tile-object.c"
		gchar* _tmp1_;
#line 124 "tile-view/abstract-tile-object.vala"
		_tmp1_ = g_strdup ("");
#line 124 "tile-view/abstract-tile-object.vala"
		_g_free0 (self->priv->_subdesc_text);
#line 124 "tile-view/abstract-tile-object.vala"
		self->priv->_subdesc_text = _tmp1_;
#line 672 "abstract-tile-object.c"
	}
#line 125 "tile-view/abstract-tile-object.vala"
	_tmp2_ = self->priv->_subdesc_text;
#line 125 "tile-view/abstract-tile-object.vala"
	result = _tmp2_;
#line 125 "tile-view/abstract-tile-object.vala"
	return result;
#line 680 "abstract-tile-object.c"
}

void
ui_widgets_abstract_tile_object_set_sub_description_text (UIWidgetsAbstractTileObject* self,
                                                          const gchar* value)
{
	const gchar* _tmp0_;
	gchar* _tmp1_;
#line 127 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (self != NULL);
#line 129 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_subdesc_text;
#line 129 "tile-view/abstract-tile-object.vala"
	if (g_strcmp0 (_tmp0_, value) == 0) {
#line 129 "tile-view/abstract-tile-object.vala"
		return;
#line 697 "abstract-tile-object.c"
	}
#line 130 "tile-view/abstract-tile-object.vala"
	_tmp1_ = g_strdup (value);
#line 130 "tile-view/abstract-tile-object.vala"
	_g_free0 (self->priv->_subdesc_text);
#line 130 "tile-view/abstract-tile-object.vala"
	self->priv->_subdesc_text = _tmp1_;
#line 131 "tile-view/abstract-tile-object.vala"
	g_signal_emit (self, ui_widgets_abstract_tile_object_signals[UI_WIDGETS_ABSTRACT_TILE_OBJECT_TEXT_UPDATED_SIGNAL], 0);
#line 127 "tile-view/abstract-tile-object.vala"
	g_object_notify_by_pspec ((GObject *) self, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TEXT_PROPERTY]);
#line 709 "abstract-tile-object.c"
}

gboolean
ui_widgets_abstract_tile_object_get_show_action_button (UIWidgetsAbstractTileObject* self)
{
	gboolean result;
#line 135 "tile-view/abstract-tile-object.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 135 "tile-view/abstract-tile-object.vala"
	result = self->priv->_show_action_button;
#line 135 "tile-view/abstract-tile-object.vala"
	return result;
#line 722 "abstract-tile-object.c"
}

void
ui_widgets_abstract_tile_object_set_show_action_button (UIWidgetsAbstractTileObject* self,
                                                        gboolean value)
{
	gboolean old_value;
#line 135 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (self != NULL);
#line 135 "tile-view/abstract-tile-object.vala"
	old_value = ui_widgets_abstract_tile_object_get_show_action_button (self);
#line 135 "tile-view/abstract-tile-object.vala"
	if (old_value != value) {
#line 135 "tile-view/abstract-tile-object.vala"
		self->priv->_show_action_button = value;
#line 135 "tile-view/abstract-tile-object.vala"
		g_object_notify_by_pspec ((GObject *) self, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_SHOW_ACTION_BUTTON_PROPERTY]);
#line 740 "abstract-tile-object.c"
	}
}

gboolean
ui_widgets_abstract_tile_object_get_enabled (UIWidgetsAbstractTileObject* self)
{
	gboolean result;
#line 137 "tile-view/abstract-tile-object.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 137 "tile-view/abstract-tile-object.vala"
	result = self->priv->_enabled;
#line 137 "tile-view/abstract-tile-object.vala"
	return result;
#line 754 "abstract-tile-object.c"
}

void
ui_widgets_abstract_tile_object_set_enabled (UIWidgetsAbstractTileObject* self,
                                             gboolean value)
{
	gboolean old_value;
#line 137 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (self != NULL);
#line 137 "tile-view/abstract-tile-object.vala"
	old_value = ui_widgets_abstract_tile_object_get_enabled (self);
#line 137 "tile-view/abstract-tile-object.vala"
	if (old_value != value) {
#line 137 "tile-view/abstract-tile-object.vala"
		self->priv->_enabled = value;
#line 137 "tile-view/abstract-tile-object.vala"
		g_object_notify_by_pspec ((GObject *) self, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_ENABLED_PROPERTY]);
#line 772 "abstract-tile-object.c"
	}
}

const gchar*
ui_widgets_abstract_tile_object_get_add_button_stock (UIWidgetsAbstractTileObject* self)
{
	const gchar* result;
	const gchar* _tmp0_;
#line 139 "tile-view/abstract-tile-object.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 139 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_add_button_stock;
#line 139 "tile-view/abstract-tile-object.vala"
	result = _tmp0_;
#line 139 "tile-view/abstract-tile-object.vala"
	return result;
#line 789 "abstract-tile-object.c"
}

void
ui_widgets_abstract_tile_object_set_add_button_stock (UIWidgetsAbstractTileObject* self,
                                                      const gchar* value)
{
	gchar* old_value;
#line 139 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (self != NULL);
#line 139 "tile-view/abstract-tile-object.vala"
	old_value = ui_widgets_abstract_tile_object_get_add_button_stock (self);
#line 139 "tile-view/abstract-tile-object.vala"
	if (g_strcmp0 (value, old_value) != 0) {
#line 803 "abstract-tile-object.c"
		gchar* _tmp0_;
#line 139 "tile-view/abstract-tile-object.vala"
		_tmp0_ = g_strdup (value);
#line 139 "tile-view/abstract-tile-object.vala"
		_g_free0 (self->priv->_add_button_stock);
#line 139 "tile-view/abstract-tile-object.vala"
		self->priv->_add_button_stock = _tmp0_;
#line 139 "tile-view/abstract-tile-object.vala"
		g_object_notify_by_pspec ((GObject *) self, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_ADD_BUTTON_STOCK_PROPERTY]);
#line 813 "abstract-tile-object.c"
	}
}

const gchar*
ui_widgets_abstract_tile_object_get_remove_button_stock (UIWidgetsAbstractTileObject* self)
{
	const gchar* result;
	const gchar* _tmp0_;
#line 140 "tile-view/abstract-tile-object.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 140 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_remove_button_stock;
#line 140 "tile-view/abstract-tile-object.vala"
	result = _tmp0_;
#line 140 "tile-view/abstract-tile-object.vala"
	return result;
#line 830 "abstract-tile-object.c"
}

void
ui_widgets_abstract_tile_object_set_remove_button_stock (UIWidgetsAbstractTileObject* self,
                                                         const gchar* value)
{
	gchar* old_value;
#line 140 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (self != NULL);
#line 140 "tile-view/abstract-tile-object.vala"
	old_value = ui_widgets_abstract_tile_object_get_remove_button_stock (self);
#line 140 "tile-view/abstract-tile-object.vala"
	if (g_strcmp0 (value, old_value) != 0) {
#line 844 "abstract-tile-object.c"
		gchar* _tmp0_;
#line 140 "tile-view/abstract-tile-object.vala"
		_tmp0_ = g_strdup (value);
#line 140 "tile-view/abstract-tile-object.vala"
		_g_free0 (self->priv->_remove_button_stock);
#line 140 "tile-view/abstract-tile-object.vala"
		self->priv->_remove_button_stock = _tmp0_;
#line 140 "tile-view/abstract-tile-object.vala"
		g_object_notify_by_pspec ((GObject *) self, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_STOCK_PROPERTY]);
#line 854 "abstract-tile-object.c"
	}
}

const gchar*
ui_widgets_abstract_tile_object_get_add_button_tooltip (UIWidgetsAbstractTileObject* self)
{
	const gchar* result;
	const gchar* _tmp0_;
#line 141 "tile-view/abstract-tile-object.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 141 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_add_button_tooltip;
#line 141 "tile-view/abstract-tile-object.vala"
	result = _tmp0_;
#line 141 "tile-view/abstract-tile-object.vala"
	return result;
#line 871 "abstract-tile-object.c"
}

void
ui_widgets_abstract_tile_object_set_add_button_tooltip (UIWidgetsAbstractTileObject* self,
                                                        const gchar* value)
{
	gchar* old_value;
#line 141 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (self != NULL);
#line 141 "tile-view/abstract-tile-object.vala"
	old_value = ui_widgets_abstract_tile_object_get_add_button_tooltip (self);
#line 141 "tile-view/abstract-tile-object.vala"
	if (g_strcmp0 (value, old_value) != 0) {
#line 885 "abstract-tile-object.c"
		gchar* _tmp0_;
#line 141 "tile-view/abstract-tile-object.vala"
		_tmp0_ = g_strdup (value);
#line 141 "tile-view/abstract-tile-object.vala"
		_g_free0 (self->priv->_add_button_tooltip);
#line 141 "tile-view/abstract-tile-object.vala"
		self->priv->_add_button_tooltip = _tmp0_;
#line 141 "tile-view/abstract-tile-object.vala"
		g_object_notify_by_pspec ((GObject *) self, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_ADD_BUTTON_TOOLTIP_PROPERTY]);
#line 895 "abstract-tile-object.c"
	}
}

const gchar*
ui_widgets_abstract_tile_object_get_remove_button_tooltip (UIWidgetsAbstractTileObject* self)
{
	const gchar* result;
	const gchar* _tmp0_;
#line 142 "tile-view/abstract-tile-object.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 142 "tile-view/abstract-tile-object.vala"
	_tmp0_ = self->priv->_remove_button_tooltip;
#line 142 "tile-view/abstract-tile-object.vala"
	result = _tmp0_;
#line 142 "tile-view/abstract-tile-object.vala"
	return result;
#line 912 "abstract-tile-object.c"
}

void
ui_widgets_abstract_tile_object_set_remove_button_tooltip (UIWidgetsAbstractTileObject* self,
                                                           const gchar* value)
{
	gchar* old_value;
#line 142 "tile-view/abstract-tile-object.vala"
	g_return_if_fail (self != NULL);
#line 142 "tile-view/abstract-tile-object.vala"
	old_value = ui_widgets_abstract_tile_object_get_remove_button_tooltip (self);
#line 142 "tile-view/abstract-tile-object.vala"
	if (g_strcmp0 (value, old_value) != 0) {
#line 926 "abstract-tile-object.c"
		gchar* _tmp0_;
#line 142 "tile-view/abstract-tile-object.vala"
		_tmp0_ = g_strdup (value);
#line 142 "tile-view/abstract-tile-object.vala"
		_g_free0 (self->priv->_remove_button_tooltip);
#line 142 "tile-view/abstract-tile-object.vala"
		self->priv->_remove_button_tooltip = _tmp0_;
#line 142 "tile-view/abstract-tile-object.vala"
		g_object_notify_by_pspec ((GObject *) self, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_TOOLTIP_PROPERTY]);
#line 936 "abstract-tile-object.c"
	}
}

static void
ui_widgets_abstract_tile_object_real_active_changed (UIWidgetsAbstractTileObject* self)
{
}

static void
ui_widgets_abstract_tile_object_class_init (UIWidgetsAbstractTileObjectClass * klass,
                                            gpointer klass_data)
{
#line 24 "tile-view/abstract-tile-object.vala"
	ui_widgets_abstract_tile_object_parent_class = g_type_class_peek_parent (klass);
#line 24 "tile-view/abstract-tile-object.vala"
	g_type_class_adjust_private_offset (klass, &UIWidgetsAbstractTileObject_private_offset);
#line 24 "tile-view/abstract-tile-object.vala"
	((UIWidgetsAbstractTileObjectClass *) klass)->active_changed = ui_widgets_abstract_tile_object_real_active_changed;
#line 24 "tile-view/abstract-tile-object.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_ui_widgets_abstract_tile_object_get_property;
#line 24 "tile-view/abstract-tile-object.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_ui_widgets_abstract_tile_object_set_property;
#line 24 "tile-view/abstract-tile-object.vala"
	G_OBJECT_CLASS (klass)->finalize = ui_widgets_abstract_tile_object_finalize;
#line 24 "tile-view/abstract-tile-object.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_ABSTRACT_TILE_OBJECT_ICON_PROPERTY, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_ICON_PROPERTY] = g_param_spec_string ("icon", "icon", "icon", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 24 "tile-view/abstract-tile-object.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_ABSTRACT_TILE_OBJECT_FORCE_PIXBUF_PROPERTY, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_FORCE_PIXBUF_PROPERTY] = g_param_spec_object ("force-pixbuf", "force-pixbuf", "force-pixbuf", gdk_pixbuf_get_type (), G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 24 "tile-view/abstract-tile-object.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_ABSTRACT_TILE_OBJECT_NAME_PROPERTY, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_NAME_PROPERTY] = g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 24 "tile-view/abstract-tile-object.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_ABSTRACT_TILE_OBJECT_DESCRIPTION_PROPERTY, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_DESCRIPTION_PROPERTY] = g_param_spec_string ("description", "description", "description", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 24 "tile-view/abstract-tile-object.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TITLE_PROPERTY, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TITLE_PROPERTY] = g_param_spec_string ("sub-description-title", "sub-description-title", "sub-description-title", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 24 "tile-view/abstract-tile-object.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TEXT_PROPERTY, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TEXT_PROPERTY] = g_param_spec_string ("sub-description-text", "sub-description-text", "sub-description-text", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 24 "tile-view/abstract-tile-object.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_ABSTRACT_TILE_OBJECT_SHOW_ACTION_BUTTON_PROPERTY, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_SHOW_ACTION_BUTTON_PROPERTY] = g_param_spec_boolean ("show-action-button", "show-action-button", "show-action-button", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 24 "tile-view/abstract-tile-object.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_ABSTRACT_TILE_OBJECT_ENABLED_PROPERTY, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_ENABLED_PROPERTY] = g_param_spec_boolean ("enabled", "enabled", "enabled", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 24 "tile-view/abstract-tile-object.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_ABSTRACT_TILE_OBJECT_ADD_BUTTON_STOCK_PROPERTY, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_ADD_BUTTON_STOCK_PROPERTY] = g_param_spec_string ("add-button-stock", "add-button-stock", "add-button-stock", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 24 "tile-view/abstract-tile-object.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_STOCK_PROPERTY, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_STOCK_PROPERTY] = g_param_spec_string ("remove-button-stock", "remove-button-stock", "remove-button-stock", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 24 "tile-view/abstract-tile-object.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_ABSTRACT_TILE_OBJECT_ADD_BUTTON_TOOLTIP_PROPERTY, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_ADD_BUTTON_TOOLTIP_PROPERTY] = g_param_spec_string ("add-button-tooltip", "add-button-tooltip", "add-button-tooltip", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 24 "tile-view/abstract-tile-object.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), UI_WIDGETS_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_TOOLTIP_PROPERTY, ui_widgets_abstract_tile_object_properties[UI_WIDGETS_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_TOOLTIP_PROPERTY] = g_param_spec_string ("remove-button-tooltip", "remove-button-tooltip", "remove-button-tooltip", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 24 "tile-view/abstract-tile-object.vala"
	ui_widgets_abstract_tile_object_signals[UI_WIDGETS_ABSTRACT_TILE_OBJECT_ICON_UPDATED_SIGNAL] = g_signal_new ("icon-updated", UI_WIDGETS_TYPE_ABSTRACT_TILE_OBJECT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 24 "tile-view/abstract-tile-object.vala"
	ui_widgets_abstract_tile_object_signals[UI_WIDGETS_ABSTRACT_TILE_OBJECT_TEXT_UPDATED_SIGNAL] = g_signal_new ("text-updated", UI_WIDGETS_TYPE_ABSTRACT_TILE_OBJECT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 24 "tile-view/abstract-tile-object.vala"
	ui_widgets_abstract_tile_object_signals[UI_WIDGETS_ABSTRACT_TILE_OBJECT_BUTTONS_UPDATED_SIGNAL] = g_signal_new ("buttons-updated", UI_WIDGETS_TYPE_ABSTRACT_TILE_OBJECT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 24 "tile-view/abstract-tile-object.vala"
	ui_widgets_abstract_tile_object_signals[UI_WIDGETS_ABSTRACT_TILE_OBJECT_ACTIVE_CHANGED_SIGNAL] = g_signal_new ("active-changed", UI_WIDGETS_TYPE_ABSTRACT_TILE_OBJECT, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (UIWidgetsAbstractTileObjectClass, active_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
#line 993 "abstract-tile-object.c"
}

static void
ui_widgets_abstract_tile_object_instance_init (UIWidgetsAbstractTileObject * self,
                                               gpointer klass)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
#line 24 "tile-view/abstract-tile-object.vala"
	self->priv = ui_widgets_abstract_tile_object_get_instance_private (self);
#line 31 "tile-view/abstract-tile-object.vala"
	self->priv->extra_buttons = NULL;
#line 135 "tile-view/abstract-tile-object.vala"
	self->priv->_show_action_button = TRUE;
#line 137 "tile-view/abstract-tile-object.vala"
	self->priv->_enabled = TRUE;
#line 139 "tile-view/abstract-tile-object.vala"
	_tmp0_ = g_strdup (GTK_STOCK_ADD);
#line 139 "tile-view/abstract-tile-object.vala"
	self->priv->_add_button_stock = _tmp0_;
#line 140 "tile-view/abstract-tile-object.vala"
	_tmp1_ = g_strdup (GTK_STOCK_DELETE);
#line 140 "tile-view/abstract-tile-object.vala"
	self->priv->_remove_button_stock = _tmp1_;
#line 1018 "abstract-tile-object.c"
}

static void
ui_widgets_abstract_tile_object_finalize (GObject * obj)
{
	UIWidgetsAbstractTileObject * self;
#line 24 "tile-view/abstract-tile-object.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, UI_WIDGETS_TYPE_ABSTRACT_TILE_OBJECT, UIWidgetsAbstractTileObject);
#line 31 "tile-view/abstract-tile-object.vala"
	(self->priv->extra_buttons == NULL) ? NULL : (self->priv->extra_buttons = (_g_list_free__g_object_unref0_ (self->priv->extra_buttons), NULL));
#line 37 "tile-view/abstract-tile-object.vala"
	_g_free0 (self->priv->_icon);
#line 56 "tile-view/abstract-tile-object.vala"
	_g_object_unref0 (self->priv->_force_pixbuf);
#line 71 "tile-view/abstract-tile-object.vala"
	_g_free0 (self->priv->_name);
#line 87 "tile-view/abstract-tile-object.vala"
	_g_free0 (self->priv->_description);
#line 103 "tile-view/abstract-tile-object.vala"
	_g_free0 (self->priv->_subdesc_title);
#line 119 "tile-view/abstract-tile-object.vala"
	_g_free0 (self->priv->_subdesc_text);
#line 139 "tile-view/abstract-tile-object.vala"
	_g_free0 (self->priv->_add_button_stock);
#line 140 "tile-view/abstract-tile-object.vala"
	_g_free0 (self->priv->_remove_button_stock);
#line 141 "tile-view/abstract-tile-object.vala"
	_g_free0 (self->priv->_add_button_tooltip);
#line 142 "tile-view/abstract-tile-object.vala"
	_g_free0 (self->priv->_remove_button_tooltip);
#line 24 "tile-view/abstract-tile-object.vala"
	G_OBJECT_CLASS (ui_widgets_abstract_tile_object_parent_class)->finalize (obj);
#line 1051 "abstract-tile-object.c"
}

static GType
ui_widgets_abstract_tile_object_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (UIWidgetsAbstractTileObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) ui_widgets_abstract_tile_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (UIWidgetsAbstractTileObject), 0, (GInstanceInitFunc) ui_widgets_abstract_tile_object_instance_init, NULL };
	GType ui_widgets_abstract_tile_object_type_id;
	ui_widgets_abstract_tile_object_type_id = g_type_register_static (G_TYPE_OBJECT, "UIWidgetsAbstractTileObject", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
	UIWidgetsAbstractTileObject_private_offset = g_type_add_instance_private (ui_widgets_abstract_tile_object_type_id, sizeof (UIWidgetsAbstractTileObjectPrivate));
	return ui_widgets_abstract_tile_object_type_id;
}

GType
ui_widgets_abstract_tile_object_get_type (void)
{
	static volatile gsize ui_widgets_abstract_tile_object_type_id__once = 0;
	if (g_once_init_enter (&ui_widgets_abstract_tile_object_type_id__once)) {
		GType ui_widgets_abstract_tile_object_type_id;
		ui_widgets_abstract_tile_object_type_id = ui_widgets_abstract_tile_object_get_type_once ();
		g_once_init_leave (&ui_widgets_abstract_tile_object_type_id__once, ui_widgets_abstract_tile_object_type_id);
	}
	return ui_widgets_abstract_tile_object_type_id__once;
}

static void
_vala_ui_widgets_abstract_tile_object_get_property (GObject * object,
                                                    guint property_id,
                                                    GValue * value,
                                                    GParamSpec * pspec)
{
	UIWidgetsAbstractTileObject * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, UI_WIDGETS_TYPE_ABSTRACT_TILE_OBJECT, UIWidgetsAbstractTileObject);
#line 24 "tile-view/abstract-tile-object.vala"
	switch (property_id) {
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_ICON_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		g_value_set_string (value, ui_widgets_abstract_tile_object_get_icon (self));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_FORCE_PIXBUF_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		g_value_set_object (value, ui_widgets_abstract_tile_object_get_force_pixbuf (self));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_NAME_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		g_value_set_string (value, ui_widgets_abstract_tile_object_get_name (self));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_DESCRIPTION_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		g_value_set_string (value, ui_widgets_abstract_tile_object_get_description (self));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TITLE_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		g_value_set_string (value, ui_widgets_abstract_tile_object_get_sub_description_title (self));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TEXT_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		g_value_set_string (value, ui_widgets_abstract_tile_object_get_sub_description_text (self));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_SHOW_ACTION_BUTTON_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		g_value_set_boolean (value, ui_widgets_abstract_tile_object_get_show_action_button (self));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_ENABLED_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		g_value_set_boolean (value, ui_widgets_abstract_tile_object_get_enabled (self));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_ADD_BUTTON_STOCK_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		g_value_set_string (value, ui_widgets_abstract_tile_object_get_add_button_stock (self));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_STOCK_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		g_value_set_string (value, ui_widgets_abstract_tile_object_get_remove_button_stock (self));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_ADD_BUTTON_TOOLTIP_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		g_value_set_string (value, ui_widgets_abstract_tile_object_get_add_button_tooltip (self));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_TOOLTIP_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		g_value_set_string (value, ui_widgets_abstract_tile_object_get_remove_button_tooltip (self));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 1158 "abstract-tile-object.c"
		default:
#line 24 "tile-view/abstract-tile-object.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 1164 "abstract-tile-object.c"
	}
}

static void
_vala_ui_widgets_abstract_tile_object_set_property (GObject * object,
                                                    guint property_id,
                                                    const GValue * value,
                                                    GParamSpec * pspec)
{
	UIWidgetsAbstractTileObject * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, UI_WIDGETS_TYPE_ABSTRACT_TILE_OBJECT, UIWidgetsAbstractTileObject);
#line 24 "tile-view/abstract-tile-object.vala"
	switch (property_id) {
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_ICON_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		ui_widgets_abstract_tile_object_set_icon (self, g_value_get_string (value));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_FORCE_PIXBUF_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		ui_widgets_abstract_tile_object_set_force_pixbuf (self, g_value_get_object (value));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_NAME_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		ui_widgets_abstract_tile_object_set_name (self, g_value_get_string (value));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_DESCRIPTION_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		ui_widgets_abstract_tile_object_set_description (self, g_value_get_string (value));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TITLE_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		ui_widgets_abstract_tile_object_set_sub_description_title (self, g_value_get_string (value));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TEXT_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		ui_widgets_abstract_tile_object_set_sub_description_text (self, g_value_get_string (value));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_SHOW_ACTION_BUTTON_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		ui_widgets_abstract_tile_object_set_show_action_button (self, g_value_get_boolean (value));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_ENABLED_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		ui_widgets_abstract_tile_object_set_enabled (self, g_value_get_boolean (value));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_ADD_BUTTON_STOCK_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		ui_widgets_abstract_tile_object_set_add_button_stock (self, g_value_get_string (value));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_STOCK_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		ui_widgets_abstract_tile_object_set_remove_button_stock (self, g_value_get_string (value));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_ADD_BUTTON_TOOLTIP_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		ui_widgets_abstract_tile_object_set_add_button_tooltip (self, g_value_get_string (value));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 24 "tile-view/abstract-tile-object.vala"
		case UI_WIDGETS_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_TOOLTIP_PROPERTY:
#line 24 "tile-view/abstract-tile-object.vala"
		ui_widgets_abstract_tile_object_set_remove_button_tooltip (self, g_value_get_string (value));
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 1250 "abstract-tile-object.c"
		default:
#line 24 "tile-view/abstract-tile-object.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 24 "tile-view/abstract-tile-object.vala"
		break;
#line 1256 "abstract-tile-object.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 1271 "abstract-tile-object.c"
	} else {
#line 24 "controller.vala"
		new_mem = NULL;
#line 1275 "abstract-tile-object.c"
	}
#line 24 "controller.vala"
	return new_mem;
#line 1279 "abstract-tile-object.c"
}

