/* abstract-tile-object.c generated by valac 0.11.6, the Vala compiler
 * generated from abstract-tile-object.vala, do not modify */


#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <stdlib.h>
#include <string.h>
#include <gdk-pixbuf/gdk-pixdata.h>


#define DOCK_MANAGER_TYPE_ABSTRACT_TILE_OBJECT (dock_manager_abstract_tile_object_get_type ())
#define DOCK_MANAGER_ABSTRACT_TILE_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), DOCK_MANAGER_TYPE_ABSTRACT_TILE_OBJECT, DockManagerAbstractTileObject))
#define DOCK_MANAGER_ABSTRACT_TILE_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), DOCK_MANAGER_TYPE_ABSTRACT_TILE_OBJECT, DockManagerAbstractTileObjectClass))
#define DOCK_MANAGER_IS_ABSTRACT_TILE_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), DOCK_MANAGER_TYPE_ABSTRACT_TILE_OBJECT))
#define DOCK_MANAGER_IS_ABSTRACT_TILE_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), DOCK_MANAGER_TYPE_ABSTRACT_TILE_OBJECT))
#define DOCK_MANAGER_ABSTRACT_TILE_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), DOCK_MANAGER_TYPE_ABSTRACT_TILE_OBJECT, DockManagerAbstractTileObjectClass))

typedef struct _DockManagerAbstractTileObject DockManagerAbstractTileObject;
typedef struct _DockManagerAbstractTileObjectClass DockManagerAbstractTileObjectClass;
typedef struct _DockManagerAbstractTileObjectPrivate DockManagerAbstractTileObjectPrivate;
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

struct _DockManagerAbstractTileObject {
	GObject parent_instance;
	DockManagerAbstractTileObjectPrivate * priv;
};

struct _DockManagerAbstractTileObjectClass {
	GObjectClass parent_class;
	void (*active_changed) (DockManagerAbstractTileObject* self);
};

struct _DockManagerAbstractTileObjectPrivate {
	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 gpointer dock_manager_abstract_tile_object_parent_class = NULL;

GType dock_manager_abstract_tile_object_get_type (void) G_GNUC_CONST;
#define DOCK_MANAGER_ABSTRACT_TILE_OBJECT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), DOCK_MANAGER_TYPE_ABSTRACT_TILE_OBJECT, DockManagerAbstractTileObjectPrivate))
enum  {
	DOCK_MANAGER_ABSTRACT_TILE_OBJECT_DUMMY_PROPERTY,
	DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ICON,
	DOCK_MANAGER_ABSTRACT_TILE_OBJECT_FORCE_PIXBUF,
	DOCK_MANAGER_ABSTRACT_TILE_OBJECT_NAME,
	DOCK_MANAGER_ABSTRACT_TILE_OBJECT_DESCRIPTION,
	DOCK_MANAGER_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TITLE,
	DOCK_MANAGER_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TEXT,
	DOCK_MANAGER_ABSTRACT_TILE_OBJECT_SHOW_ACTION_BUTTON,
	DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ENABLED,
	DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ADD_BUTTON_STOCK,
	DOCK_MANAGER_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_STOCK,
	DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ADD_BUTTON_TOOLTIP,
	DOCK_MANAGER_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_TOOLTIP
};
static void _g_object_unref0_ (gpointer var);
static void _g_list_free__g_object_unref0_ (GList* self);
GList* dock_manager_abstract_tile_object_get_extra_buttons (DockManagerAbstractTileObject* self);
void dock_manager_abstract_tile_object_add_user_button (DockManagerAbstractTileObject* self, GtkButton* button);
void dock_manager_abstract_tile_object_remove_user_button (DockManagerAbstractTileObject* self, GtkButton* button);
DockManagerAbstractTileObject* dock_manager_abstract_tile_object_construct (GType object_type);
const gchar* dock_manager_abstract_tile_object_get_icon (DockManagerAbstractTileObject* self);
void dock_manager_abstract_tile_object_set_icon (DockManagerAbstractTileObject* self, const gchar* value);
GdkPixbuf* dock_manager_abstract_tile_object_get_force_pixbuf (DockManagerAbstractTileObject* self);
void dock_manager_abstract_tile_object_set_force_pixbuf (DockManagerAbstractTileObject* self, GdkPixbuf* value);
const gchar* dock_manager_abstract_tile_object_get_name (DockManagerAbstractTileObject* self);
void dock_manager_abstract_tile_object_set_name (DockManagerAbstractTileObject* self, const gchar* value);
const gchar* dock_manager_abstract_tile_object_get_description (DockManagerAbstractTileObject* self);
void dock_manager_abstract_tile_object_set_description (DockManagerAbstractTileObject* self, const gchar* value);
const gchar* dock_manager_abstract_tile_object_get_sub_description_title (DockManagerAbstractTileObject* self);
void dock_manager_abstract_tile_object_set_sub_description_title (DockManagerAbstractTileObject* self, const gchar* value);
const gchar* dock_manager_abstract_tile_object_get_sub_description_text (DockManagerAbstractTileObject* self);
void dock_manager_abstract_tile_object_set_sub_description_text (DockManagerAbstractTileObject* self, const gchar* value);
gboolean dock_manager_abstract_tile_object_get_show_action_button (DockManagerAbstractTileObject* self);
void dock_manager_abstract_tile_object_set_show_action_button (DockManagerAbstractTileObject* self, gboolean value);
gboolean dock_manager_abstract_tile_object_get_enabled (DockManagerAbstractTileObject* self);
void dock_manager_abstract_tile_object_set_enabled (DockManagerAbstractTileObject* self, gboolean value);
const gchar* dock_manager_abstract_tile_object_get_add_button_stock (DockManagerAbstractTileObject* self);
void dock_manager_abstract_tile_object_set_add_button_stock (DockManagerAbstractTileObject* self, const gchar* value);
const gchar* dock_manager_abstract_tile_object_get_remove_button_stock (DockManagerAbstractTileObject* self);
void dock_manager_abstract_tile_object_set_remove_button_stock (DockManagerAbstractTileObject* self, const gchar* value);
const gchar* dock_manager_abstract_tile_object_get_add_button_tooltip (DockManagerAbstractTileObject* self);
void dock_manager_abstract_tile_object_set_add_button_tooltip (DockManagerAbstractTileObject* self, const gchar* value);
const gchar* dock_manager_abstract_tile_object_get_remove_button_tooltip (DockManagerAbstractTileObject* self);
void dock_manager_abstract_tile_object_set_remove_button_tooltip (DockManagerAbstractTileObject* self, const gchar* value);
void dock_manager_abstract_tile_object_active_changed (DockManagerAbstractTileObject* self);
static void dock_manager_abstract_tile_object_real_active_changed (DockManagerAbstractTileObject* self);
static void dock_manager_abstract_tile_object_finalize (GObject* obj);
static void _vala_dock_manager_abstract_tile_object_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_dock_manager_abstract_tile_object_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);


static void _g_object_unref0_ (gpointer var) {
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
}


static void _g_list_free__g_object_unref0_ (GList* self) {
	g_list_foreach (self, (GFunc) _g_object_unref0_, NULL);
	g_list_free (self);
}


GList* dock_manager_abstract_tile_object_get_extra_buttons (DockManagerAbstractTileObject* self) {
	GList* result = NULL;
	GList* _tmp0_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = g_list_copy (self->priv->extra_buttons);
	result = _tmp0_;
	return result;
}


static gpointer _g_object_ref0 (gpointer self) {
	return self ? g_object_ref (self) : NULL;
}


void dock_manager_abstract_tile_object_add_user_button (DockManagerAbstractTileObject* self, GtkButton* button) {
	GList* _tmp0_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (button != NULL);
	_tmp0_ = g_list_find (self->priv->extra_buttons, button);
	if (_tmp0_ == NULL) {
		GtkButton* _tmp1_;
		_tmp1_ = _g_object_ref0 (button);
		self->priv->extra_buttons = g_list_append (self->priv->extra_buttons, _tmp1_);
		g_signal_emit_by_name (self, "buttons-updated");
	}
}


void dock_manager_abstract_tile_object_remove_user_button (DockManagerAbstractTileObject* self, GtkButton* button) {
	GList* _tmp0_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (button != NULL);
	_tmp0_ = g_list_find (self->priv->extra_buttons, button);
	if (_tmp0_ != NULL) {
		self->priv->extra_buttons = g_list_remove (self->priv->extra_buttons, button);
		g_signal_emit_by_name (self, "buttons-updated");
	}
}


DockManagerAbstractTileObject* dock_manager_abstract_tile_object_construct (GType object_type) {
	DockManagerAbstractTileObject * self = NULL;
	self = (DockManagerAbstractTileObject*) g_object_new (object_type, NULL);
	return self;
}


const gchar* dock_manager_abstract_tile_object_get_icon (DockManagerAbstractTileObject* self) {
	const gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	if (self->priv->_icon == NULL) {
		gchar* _tmp0_;
		gchar* _tmp1_;
		_tmp0_ = g_strdup ("");
		_tmp1_ = _tmp0_;
		_g_free0 (self->priv->_icon);
		self->priv->_icon = _tmp1_;
	}
	result = self->priv->_icon;
	return result;
}


void dock_manager_abstract_tile_object_set_icon (DockManagerAbstractTileObject* self, const gchar* value) {
	GdkPixbuf* _tmp0_ = NULL;
	gchar* _tmp1_;
	gchar* _tmp2_;
	g_return_if_fail (self != NULL);
	if (g_strcmp0 (self->priv->_icon, value) == 0) {
		return;
	}
	_tmp0_ = dock_manager_abstract_tile_object_get_force_pixbuf (self);
	if (_tmp0_ != NULL) {
		dock_manager_abstract_tile_object_set_force_pixbuf (self, NULL);
	}
	_tmp1_ = g_strdup (value);
	_tmp2_ = _tmp1_;
	_g_free0 (self->priv->_icon);
	self->priv->_icon = _tmp2_;
	g_signal_emit_by_name (self, "icon-updated");
	g_object_notify ((GObject *) self, "icon");
}


GdkPixbuf* dock_manager_abstract_tile_object_get_force_pixbuf (DockManagerAbstractTileObject* self) {
	GdkPixbuf* result;
	g_return_val_if_fail (self != NULL, NULL);
	result = self->priv->_force_pixbuf;
	return result;
}


void dock_manager_abstract_tile_object_set_force_pixbuf (DockManagerAbstractTileObject* self, GdkPixbuf* value) {
	GdkPixbuf* _tmp0_;
	GdkPixbuf* _tmp1_;
	g_return_if_fail (self != NULL);
	if (self->priv->_force_pixbuf == value) {
		return;
	}
	_tmp0_ = _g_object_ref0 (value);
	_tmp1_ = _tmp0_;
	_g_object_unref0 (self->priv->_force_pixbuf);
	self->priv->_force_pixbuf = _tmp1_;
	g_signal_emit_by_name (self, "icon-updated");
	g_object_notify ((GObject *) self, "force-pixbuf");
}


const gchar* dock_manager_abstract_tile_object_get_name (DockManagerAbstractTileObject* self) {
	const gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	if (self->priv->_name == NULL) {
		gchar* _tmp0_;
		gchar* _tmp1_;
		_tmp0_ = g_strdup ("");
		_tmp1_ = _tmp0_;
		_g_free0 (self->priv->_name);
		self->priv->_name = _tmp1_;
	}
	result = self->priv->_name;
	return result;
}


void dock_manager_abstract_tile_object_set_name (DockManagerAbstractTileObject* self, const gchar* value) {
	gchar* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	if (g_strcmp0 (self->priv->_name, value) == 0) {
		return;
	}
	_tmp0_ = g_strdup (value);
	_tmp1_ = _tmp0_;
	_g_free0 (self->priv->_name);
	self->priv->_name = _tmp1_;
	g_signal_emit_by_name (self, "text-updated");
	g_object_notify ((GObject *) self, "name");
}


const gchar* dock_manager_abstract_tile_object_get_description (DockManagerAbstractTileObject* self) {
	const gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	if (self->priv->_description == NULL) {
		gchar* _tmp0_;
		gchar* _tmp1_;
		_tmp0_ = g_strdup ("");
		_tmp1_ = _tmp0_;
		_g_free0 (self->priv->_description);
		self->priv->_description = _tmp1_;
	}
	result = self->priv->_description;
	return result;
}


void dock_manager_abstract_tile_object_set_description (DockManagerAbstractTileObject* self, const gchar* value) {
	gchar* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	if (g_strcmp0 (self->priv->_description, value) == 0) {
		return;
	}
	_tmp0_ = g_strdup (value);
	_tmp1_ = _tmp0_;
	_g_free0 (self->priv->_description);
	self->priv->_description = _tmp1_;
	g_signal_emit_by_name (self, "text-updated");
	g_object_notify ((GObject *) self, "description");
}


const gchar* dock_manager_abstract_tile_object_get_sub_description_title (DockManagerAbstractTileObject* self) {
	const gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	if (self->priv->_subdesc_title == NULL) {
		gchar* _tmp0_;
		gchar* _tmp1_;
		_tmp0_ = g_strdup ("");
		_tmp1_ = _tmp0_;
		_g_free0 (self->priv->_subdesc_title);
		self->priv->_subdesc_title = _tmp1_;
	}
	result = self->priv->_subdesc_title;
	return result;
}


void dock_manager_abstract_tile_object_set_sub_description_title (DockManagerAbstractTileObject* self, const gchar* value) {
	gchar* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	if (g_strcmp0 (self->priv->_subdesc_title, value) == 0) {
		return;
	}
	_tmp0_ = g_strdup (value);
	_tmp1_ = _tmp0_;
	_g_free0 (self->priv->_subdesc_title);
	self->priv->_subdesc_title = _tmp1_;
	g_signal_emit_by_name (self, "text-updated");
	g_object_notify ((GObject *) self, "sub-description-title");
}


const gchar* dock_manager_abstract_tile_object_get_sub_description_text (DockManagerAbstractTileObject* self) {
	const gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	if (self->priv->_subdesc_text == NULL) {
		gchar* _tmp0_;
		gchar* _tmp1_;
		_tmp0_ = g_strdup ("");
		_tmp1_ = _tmp0_;
		_g_free0 (self->priv->_subdesc_text);
		self->priv->_subdesc_text = _tmp1_;
	}
	result = self->priv->_subdesc_text;
	return result;
}


void dock_manager_abstract_tile_object_set_sub_description_text (DockManagerAbstractTileObject* self, const gchar* value) {
	gchar* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	if (g_strcmp0 (self->priv->_subdesc_text, value) == 0) {
		return;
	}
	_tmp0_ = g_strdup (value);
	_tmp1_ = _tmp0_;
	_g_free0 (self->priv->_subdesc_text);
	self->priv->_subdesc_text = _tmp1_;
	g_signal_emit_by_name (self, "text-updated");
	g_object_notify ((GObject *) self, "sub-description-text");
}


gboolean dock_manager_abstract_tile_object_get_show_action_button (DockManagerAbstractTileObject* self) {
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_show_action_button;
	return result;
}


void dock_manager_abstract_tile_object_set_show_action_button (DockManagerAbstractTileObject* self, gboolean value) {
	g_return_if_fail (self != NULL);
	self->priv->_show_action_button = value;
	g_object_notify ((GObject *) self, "show-action-button");
}


gboolean dock_manager_abstract_tile_object_get_enabled (DockManagerAbstractTileObject* self) {
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_enabled;
	return result;
}


void dock_manager_abstract_tile_object_set_enabled (DockManagerAbstractTileObject* self, gboolean value) {
	g_return_if_fail (self != NULL);
	self->priv->_enabled = value;
	g_object_notify ((GObject *) self, "enabled");
}


const gchar* dock_manager_abstract_tile_object_get_add_button_stock (DockManagerAbstractTileObject* self) {
	const gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	result = self->priv->_add_button_stock;
	return result;
}


void dock_manager_abstract_tile_object_set_add_button_stock (DockManagerAbstractTileObject* self, const gchar* value) {
	gchar* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = g_strdup (value);
	_tmp1_ = _tmp0_;
	_g_free0 (self->priv->_add_button_stock);
	self->priv->_add_button_stock = _tmp1_;
	g_object_notify ((GObject *) self, "add-button-stock");
}


const gchar* dock_manager_abstract_tile_object_get_remove_button_stock (DockManagerAbstractTileObject* self) {
	const gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	result = self->priv->_remove_button_stock;
	return result;
}


void dock_manager_abstract_tile_object_set_remove_button_stock (DockManagerAbstractTileObject* self, const gchar* value) {
	gchar* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = g_strdup (value);
	_tmp1_ = _tmp0_;
	_g_free0 (self->priv->_remove_button_stock);
	self->priv->_remove_button_stock = _tmp1_;
	g_object_notify ((GObject *) self, "remove-button-stock");
}


const gchar* dock_manager_abstract_tile_object_get_add_button_tooltip (DockManagerAbstractTileObject* self) {
	const gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	result = self->priv->_add_button_tooltip;
	return result;
}


void dock_manager_abstract_tile_object_set_add_button_tooltip (DockManagerAbstractTileObject* self, const gchar* value) {
	gchar* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = g_strdup (value);
	_tmp1_ = _tmp0_;
	_g_free0 (self->priv->_add_button_tooltip);
	self->priv->_add_button_tooltip = _tmp1_;
	g_object_notify ((GObject *) self, "add-button-tooltip");
}


const gchar* dock_manager_abstract_tile_object_get_remove_button_tooltip (DockManagerAbstractTileObject* self) {
	const gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	result = self->priv->_remove_button_tooltip;
	return result;
}


void dock_manager_abstract_tile_object_set_remove_button_tooltip (DockManagerAbstractTileObject* self, const gchar* value) {
	gchar* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = g_strdup (value);
	_tmp1_ = _tmp0_;
	_g_free0 (self->priv->_remove_button_tooltip);
	self->priv->_remove_button_tooltip = _tmp1_;
	g_object_notify ((GObject *) self, "remove-button-tooltip");
}


static void dock_manager_abstract_tile_object_real_active_changed (DockManagerAbstractTileObject* self) {
	g_return_if_fail (self != NULL);
}


static void dock_manager_abstract_tile_object_class_init (DockManagerAbstractTileObjectClass * klass) {
	dock_manager_abstract_tile_object_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (DockManagerAbstractTileObjectPrivate));
	DOCK_MANAGER_ABSTRACT_TILE_OBJECT_CLASS (klass)->active_changed = dock_manager_abstract_tile_object_real_active_changed;
	G_OBJECT_CLASS (klass)->get_property = _vala_dock_manager_abstract_tile_object_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_dock_manager_abstract_tile_object_set_property;
	G_OBJECT_CLASS (klass)->finalize = dock_manager_abstract_tile_object_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ICON, g_param_spec_string ("icon", "icon", "icon", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), DOCK_MANAGER_ABSTRACT_TILE_OBJECT_FORCE_PIXBUF, g_param_spec_object ("force-pixbuf", "force-pixbuf", "force-pixbuf", GDK_TYPE_PIXBUF, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), DOCK_MANAGER_ABSTRACT_TILE_OBJECT_NAME, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), DOCK_MANAGER_ABSTRACT_TILE_OBJECT_DESCRIPTION, g_param_spec_string ("description", "description", "description", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), DOCK_MANAGER_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TITLE, g_param_spec_string ("sub-description-title", "sub-description-title", "sub-description-title", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), DOCK_MANAGER_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TEXT, g_param_spec_string ("sub-description-text", "sub-description-text", "sub-description-text", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), DOCK_MANAGER_ABSTRACT_TILE_OBJECT_SHOW_ACTION_BUTTON, g_param_spec_boolean ("show-action-button", "show-action-button", "show-action-button", TRUE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ENABLED, g_param_spec_boolean ("enabled", "enabled", "enabled", TRUE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ADD_BUTTON_STOCK, g_param_spec_string ("add-button-stock", "add-button-stock", "add-button-stock", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), DOCK_MANAGER_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_STOCK, g_param_spec_string ("remove-button-stock", "remove-button-stock", "remove-button-stock", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ADD_BUTTON_TOOLTIP, g_param_spec_string ("add-button-tooltip", "add-button-tooltip", "add-button-tooltip", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), DOCK_MANAGER_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_TOOLTIP, g_param_spec_string ("remove-button-tooltip", "remove-button-tooltip", "remove-button-tooltip", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_signal_new ("icon_updated", DOCK_MANAGER_TYPE_ABSTRACT_TILE_OBJECT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
	g_signal_new ("text_updated", DOCK_MANAGER_TYPE_ABSTRACT_TILE_OBJECT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
	g_signal_new ("buttons_updated", DOCK_MANAGER_TYPE_ABSTRACT_TILE_OBJECT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
	g_signal_new ("active_changed", DOCK_MANAGER_TYPE_ABSTRACT_TILE_OBJECT, G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (DockManagerAbstractTileObjectClass, active_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
}


static void dock_manager_abstract_tile_object_instance_init (DockManagerAbstractTileObject * self) {
	gchar* _tmp0_;
	gchar* _tmp1_;
	self->priv = DOCK_MANAGER_ABSTRACT_TILE_OBJECT_GET_PRIVATE (self);
	self->priv->extra_buttons = NULL;
	self->priv->_show_action_button = TRUE;
	self->priv->_enabled = TRUE;
	_tmp0_ = g_strdup (GTK_STOCK_ADD);
	self->priv->_add_button_stock = _tmp0_;
	_tmp1_ = g_strdup (GTK_STOCK_DELETE);
	self->priv->_remove_button_stock = _tmp1_;
}


static void dock_manager_abstract_tile_object_finalize (GObject* obj) {
	DockManagerAbstractTileObject * self;
	self = DOCK_MANAGER_ABSTRACT_TILE_OBJECT (obj);
	__g_list_free__g_object_unref0_0 (self->priv->extra_buttons);
	_g_free0 (self->priv->_icon);
	_g_object_unref0 (self->priv->_force_pixbuf);
	_g_free0 (self->priv->_name);
	_g_free0 (self->priv->_description);
	_g_free0 (self->priv->_subdesc_title);
	_g_free0 (self->priv->_subdesc_text);
	_g_free0 (self->priv->_add_button_stock);
	_g_free0 (self->priv->_remove_button_stock);
	_g_free0 (self->priv->_add_button_tooltip);
	_g_free0 (self->priv->_remove_button_tooltip);
	G_OBJECT_CLASS (dock_manager_abstract_tile_object_parent_class)->finalize (obj);
}


GType dock_manager_abstract_tile_object_get_type (void) {
	static volatile gsize dock_manager_abstract_tile_object_type_id__volatile = 0;
	if (g_once_init_enter (&dock_manager_abstract_tile_object_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (DockManagerAbstractTileObjectClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) dock_manager_abstract_tile_object_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (DockManagerAbstractTileObject), 0, (GInstanceInitFunc) dock_manager_abstract_tile_object_instance_init, NULL };
		GType dock_manager_abstract_tile_object_type_id;
		dock_manager_abstract_tile_object_type_id = g_type_register_static (G_TYPE_OBJECT, "DockManagerAbstractTileObject", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
		g_once_init_leave (&dock_manager_abstract_tile_object_type_id__volatile, dock_manager_abstract_tile_object_type_id);
	}
	return dock_manager_abstract_tile_object_type_id__volatile;
}


static void _vala_dock_manager_abstract_tile_object_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	DockManagerAbstractTileObject * self;
	self = DOCK_MANAGER_ABSTRACT_TILE_OBJECT (object);
	switch (property_id) {
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ICON:
		g_value_set_string (value, dock_manager_abstract_tile_object_get_icon (self));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_FORCE_PIXBUF:
		g_value_set_object (value, dock_manager_abstract_tile_object_get_force_pixbuf (self));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_NAME:
		g_value_set_string (value, dock_manager_abstract_tile_object_get_name (self));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_DESCRIPTION:
		g_value_set_string (value, dock_manager_abstract_tile_object_get_description (self));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TITLE:
		g_value_set_string (value, dock_manager_abstract_tile_object_get_sub_description_title (self));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TEXT:
		g_value_set_string (value, dock_manager_abstract_tile_object_get_sub_description_text (self));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_SHOW_ACTION_BUTTON:
		g_value_set_boolean (value, dock_manager_abstract_tile_object_get_show_action_button (self));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ENABLED:
		g_value_set_boolean (value, dock_manager_abstract_tile_object_get_enabled (self));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ADD_BUTTON_STOCK:
		g_value_set_string (value, dock_manager_abstract_tile_object_get_add_button_stock (self));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_STOCK:
		g_value_set_string (value, dock_manager_abstract_tile_object_get_remove_button_stock (self));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ADD_BUTTON_TOOLTIP:
		g_value_set_string (value, dock_manager_abstract_tile_object_get_add_button_tooltip (self));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_TOOLTIP:
		g_value_set_string (value, dock_manager_abstract_tile_object_get_remove_button_tooltip (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_dock_manager_abstract_tile_object_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	DockManagerAbstractTileObject * self;
	self = DOCK_MANAGER_ABSTRACT_TILE_OBJECT (object);
	switch (property_id) {
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ICON:
		dock_manager_abstract_tile_object_set_icon (self, g_value_get_string (value));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_FORCE_PIXBUF:
		dock_manager_abstract_tile_object_set_force_pixbuf (self, g_value_get_object (value));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_NAME:
		dock_manager_abstract_tile_object_set_name (self, g_value_get_string (value));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_DESCRIPTION:
		dock_manager_abstract_tile_object_set_description (self, g_value_get_string (value));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TITLE:
		dock_manager_abstract_tile_object_set_sub_description_title (self, g_value_get_string (value));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_SUB_DESCRIPTION_TEXT:
		dock_manager_abstract_tile_object_set_sub_description_text (self, g_value_get_string (value));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_SHOW_ACTION_BUTTON:
		dock_manager_abstract_tile_object_set_show_action_button (self, g_value_get_boolean (value));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ENABLED:
		dock_manager_abstract_tile_object_set_enabled (self, g_value_get_boolean (value));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ADD_BUTTON_STOCK:
		dock_manager_abstract_tile_object_set_add_button_stock (self, g_value_get_string (value));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_STOCK:
		dock_manager_abstract_tile_object_set_remove_button_stock (self, g_value_get_string (value));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_ADD_BUTTON_TOOLTIP:
		dock_manager_abstract_tile_object_set_add_button_tooltip (self, g_value_get_string (value));
		break;
		case DOCK_MANAGER_ABSTRACT_TILE_OBJECT_REMOVE_BUTTON_TOOLTIP:
		dock_manager_abstract_tile_object_set_remove_button_tooltip (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}



