/* display-page.c generated by valac 0.15.0.11-e8f32, the Vala compiler
 * generated from display-page.vala, do not modify */

/* This file is part of GNOME Boxes. License: LGPLv2+*/

#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <float.h>
#include <math.h>
#include <clutter/clutter.h>
#include <clutter-gtk/clutter-gtk.h>
#include <gio/gio.h>
#include <stdlib.h>
#include <string.h>


#define BOXES_TYPE_DISPLAY_PAGE (boxes_display_page_get_type ())
#define BOXES_DISPLAY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_DISPLAY_PAGE, BoxesDisplayPage))
#define BOXES_DISPLAY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_DISPLAY_PAGE, BoxesDisplayPageClass))
#define BOXES_IS_DISPLAY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_DISPLAY_PAGE))
#define BOXES_IS_DISPLAY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_DISPLAY_PAGE))
#define BOXES_DISPLAY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_DISPLAY_PAGE, BoxesDisplayPageClass))

typedef struct _BoxesDisplayPage BoxesDisplayPage;
typedef struct _BoxesDisplayPageClass BoxesDisplayPageClass;
typedef struct _BoxesDisplayPagePrivate BoxesDisplayPagePrivate;

#define BOXES_TYPE_UI (boxes_ui_get_type ())
#define BOXES_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_UI, BoxesUI))
#define BOXES_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_UI, BoxesUIClass))
#define BOXES_IS_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_UI))
#define BOXES_IS_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_UI))
#define BOXES_UI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_UI, BoxesUIClass))

typedef struct _BoxesUI BoxesUI;
typedef struct _BoxesUIClass BoxesUIClass;

#define BOXES_TYPE_APP (boxes_app_get_type ())
#define BOXES_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_APP, BoxesApp))
#define BOXES_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_APP, BoxesAppClass))
#define BOXES_IS_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_APP))
#define BOXES_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_APP))
#define BOXES_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_APP, BoxesAppClass))

typedef struct _BoxesApp BoxesApp;
typedef struct _BoxesAppClass BoxesAppClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
typedef struct _Block6Data Block6Data;
typedef struct _BoxesUIPrivate BoxesUIPrivate;

#define BOXES_TYPE_UI_STATE (boxes_ui_state_get_type ())
typedef struct _BoxesAppPrivate BoxesAppPrivate;

#define BOXES_TYPE_COLLECTION_ITEM (boxes_collection_item_get_type ())
#define BOXES_COLLECTION_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItem))
#define BOXES_COLLECTION_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItemClass))
#define BOXES_IS_COLLECTION_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_ITEM))
#define BOXES_IS_COLLECTION_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_ITEM))
#define BOXES_COLLECTION_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItemClass))

typedef struct _BoxesCollectionItem BoxesCollectionItem;
typedef struct _BoxesCollectionItemClass BoxesCollectionItemClass;

#define BOXES_TYPE_TOPBAR (boxes_topbar_get_type ())
#define BOXES_TOPBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_TOPBAR, BoxesTopbar))
#define BOXES_TOPBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_TOPBAR, BoxesTopbarClass))
#define BOXES_IS_TOPBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_TOPBAR))
#define BOXES_IS_TOPBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_TOPBAR))
#define BOXES_TOPBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_TOPBAR, BoxesTopbarClass))

typedef struct _BoxesTopbar BoxesTopbar;
typedef struct _BoxesTopbarClass BoxesTopbarClass;

#define BOXES_TYPE_NOTIFICATIONBAR (boxes_notificationbar_get_type ())
#define BOXES_NOTIFICATIONBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbar))
#define BOXES_NOTIFICATIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbarClass))
#define BOXES_IS_NOTIFICATIONBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_NOTIFICATIONBAR))
#define BOXES_IS_NOTIFICATIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_NOTIFICATIONBAR))
#define BOXES_NOTIFICATIONBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbarClass))

typedef struct _BoxesNotificationbar BoxesNotificationbar;
typedef struct _BoxesNotificationbarClass BoxesNotificationbarClass;

#define BOXES_TYPE_SIDEBAR (boxes_sidebar_get_type ())
#define BOXES_SIDEBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_SIDEBAR, BoxesSidebar))
#define BOXES_SIDEBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_SIDEBAR, BoxesSidebarClass))
#define BOXES_IS_SIDEBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_SIDEBAR))
#define BOXES_IS_SIDEBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_SIDEBAR))
#define BOXES_SIDEBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_SIDEBAR, BoxesSidebarClass))

typedef struct _BoxesSidebar BoxesSidebar;
typedef struct _BoxesSidebarClass BoxesSidebarClass;

#define BOXES_TYPE_SELECTIONBAR (boxes_selectionbar_get_type ())
#define BOXES_SELECTIONBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbar))
#define BOXES_SELECTIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbarClass))
#define BOXES_IS_SELECTIONBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_SELECTIONBAR))
#define BOXES_IS_SELECTIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_SELECTIONBAR))
#define BOXES_SELECTIONBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbarClass))

typedef struct _BoxesSelectionbar BoxesSelectionbar;
typedef struct _BoxesSelectionbarClass BoxesSelectionbarClass;

#define BOXES_TYPE_WIZARD (boxes_wizard_get_type ())
#define BOXES_WIZARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_WIZARD, BoxesWizard))
#define BOXES_WIZARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_WIZARD, BoxesWizardClass))
#define BOXES_IS_WIZARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_WIZARD))
#define BOXES_IS_WIZARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_WIZARD))
#define BOXES_WIZARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_WIZARD, BoxesWizardClass))

typedef struct _BoxesWizard BoxesWizard;
typedef struct _BoxesWizardClass BoxesWizardClass;

#define BOXES_TYPE_PROPERTIES (boxes_properties_get_type ())
#define BOXES_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_PROPERTIES, BoxesProperties))
#define BOXES_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_PROPERTIES, BoxesPropertiesClass))
#define BOXES_IS_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_PROPERTIES))
#define BOXES_IS_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_PROPERTIES))
#define BOXES_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_PROPERTIES, BoxesPropertiesClass))

typedef struct _BoxesProperties BoxesProperties;
typedef struct _BoxesPropertiesClass BoxesPropertiesClass;

#define BOXES_TYPE_COLLECTION (boxes_collection_get_type ())
#define BOXES_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION, BoxesCollection))
#define BOXES_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION, BoxesCollectionClass))
#define BOXES_IS_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION))
#define BOXES_IS_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION))
#define BOXES_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION, BoxesCollectionClass))

typedef struct _BoxesCollection BoxesCollection;
typedef struct _BoxesCollectionClass BoxesCollectionClass;

#define BOXES_TYPE_APP_PAGE (boxes_app_page_get_type ())

#define BOXES_TYPE_MACHINE (boxes_machine_get_type ())
#define BOXES_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_MACHINE, BoxesMachine))
#define BOXES_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_MACHINE, BoxesMachineClass))
#define BOXES_IS_MACHINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_MACHINE))
#define BOXES_IS_MACHINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_MACHINE))
#define BOXES_MACHINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_MACHINE, BoxesMachineClass))

typedef struct _BoxesMachine BoxesMachine;
typedef struct _BoxesMachineClass BoxesMachineClass;
typedef struct _Block7Data Block7Data;

struct _BoxesDisplayPage {
	GObject parent_instance;
	BoxesDisplayPagePrivate * priv;
};

struct _BoxesDisplayPageClass {
	GObjectClass parent_class;
};

struct _BoxesDisplayPagePrivate {
	GtkOverlay* overlay;
	BoxesApp* app;
	GtkEventBox* event_box;
	GtkToolbar* toolbar;
	GtkToolbar* title_toolbar;
	guint toolbar_show_id;
	guint toolbar_hide_id;
	gulong display_id;
	gulong cursor_id;
	GtkLabel* title;
};

struct _Block6Data {
	int _ref_count_;
	BoxesDisplayPage * self;
	BoxesApp* app;
};

typedef enum  {
	BOXES_UI_STATE_NONE,
	BOXES_UI_STATE_COLLECTION,
	BOXES_UI_STATE_CREDS,
	BOXES_UI_STATE_DISPLAY,
	BOXES_UI_STATE_SETTINGS,
	BOXES_UI_STATE_WIZARD,
	BOXES_UI_STATE_PROPERTIES
} BoxesUIState;

struct _BoxesUI {
	GObject parent_instance;
	BoxesUIPrivate * priv;
	BoxesUIState previous_ui_state;
};

struct _BoxesUIClass {
	GObjectClass parent_class;
	void (*ui_state_changed) (BoxesUI* self);
	ClutterActor* (*get_actor) (BoxesUI* self);
};

struct _BoxesApp {
	BoxesUI parent_instance;
	BoxesAppPrivate * priv;
	GtkWindow* window;
	GtkNotebook* notebook;
	GtkClutterEmbed* embed;
	ClutterStage* stage;
	ClutterState* state;
	ClutterBox* box;
	BoxesCollectionItem* current_item;
	BoxesTopbar* topbar;
	BoxesNotificationbar* notificationbar;
	BoxesSidebar* sidebar;
	BoxesSelectionbar* selectionbar;
	guint duration;
	GSettings* settings;
	BoxesWizard* wizard;
	BoxesProperties* properties;
	BoxesDisplayPage* display_page;
	BoxesCollection* collection;
};

struct _BoxesAppClass {
	BoxesUIClass parent_class;
};

typedef enum  {
	BOXES_APP_PAGE_MAIN,
	BOXES_APP_PAGE_DISPLAY
} BoxesAppPage;

struct _Block7Data {
	int _ref_count_;
	BoxesDisplayPage * self;
	GtkWidget* display;
};


static gpointer boxes_display_page_parent_class = NULL;

GType boxes_display_page_get_type (void) G_GNUC_CONST;
GType boxes_ui_get_type (void) G_GNUC_CONST;
GType boxes_app_get_type (void) G_GNUC_CONST;
#define BOXES_DISPLAY_PAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_DISPLAY_PAGE, BoxesDisplayPagePrivate))
enum  {
	BOXES_DISPLAY_PAGE_DUMMY_PROPERTY,
	BOXES_DISPLAY_PAGE_WIDGET
};
static void boxes_display_page_toolbar_event_stop (BoxesDisplayPage* self, gboolean show, gboolean hide);
BoxesDisplayPage* boxes_display_page_new (BoxesApp* app);
BoxesDisplayPage* boxes_display_page_construct (GType object_type, BoxesApp* app);
static Block6Data* block6_data_ref (Block6Data* _data6_);
static void block6_data_unref (Block6Data* _data6_);
static gboolean __lambda21_ (Block6Data* _data6_, GdkEvent* event);
static void boxes_display_page_set_toolbar_visible (BoxesDisplayPage* self, gboolean visible);
gboolean boxes_app_get_fullscreen (BoxesApp* self);
static gboolean _____lambda22_ (BoxesDisplayPage* self);
static gboolean ______lambda22__gsource_func (gpointer self);
GType boxes_ui_state_get_type (void) G_GNUC_CONST;
GType boxes_collection_item_get_type (void) G_GNUC_CONST;
GType boxes_topbar_get_type (void) G_GNUC_CONST;
GType boxes_notificationbar_get_type (void) G_GNUC_CONST;
GType boxes_sidebar_get_type (void) G_GNUC_CONST;
GType boxes_selectionbar_get_type (void) G_GNUC_CONST;
GType boxes_wizard_get_type (void) G_GNUC_CONST;
GType boxes_properties_get_type (void) G_GNUC_CONST;
GType boxes_collection_get_type (void) G_GNUC_CONST;
static gboolean _______lambda23_ (BoxesDisplayPage* self);
static gboolean ________lambda23__gsource_func (gpointer self);
static gboolean ___lambda21__gtk_widget_event (GtkWidget* _sender, GdkEvent* event, gpointer self);
static void __lambda24_ (Block6Data* _data6_, GtkToolButton* button);
void boxes_ui_set_ui_state (BoxesUI* self, BoxesUIState value);
static void ___lambda24__gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self);
static void __lambda25_ (Block6Data* _data6_, GtkToolButton* button);
void boxes_app_set_fullscreen (BoxesApp* self, gboolean value);
static void ___lambda25__gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self);
static void __lambda26_ (Block6Data* _data6_, GtkToolButton* button);
static void ___lambda26__gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self);
void boxes_display_page_show (BoxesDisplayPage* self);
GType boxes_app_page_get_type (void) G_GNUC_CONST;
GType boxes_machine_get_type (void) G_GNUC_CONST;
void boxes_display_page_show_display (BoxesDisplayPage* self, BoxesMachine* machine, GtkWidget* display);
static Block7Data* block7_data_ref (Block7Data* _data7_);
static void block7_data_unref (Block7Data* _data7_);
GtkWidget* boxes_display_page_remove_display (BoxesDisplayPage* self);
const gchar* boxes_collection_item_get_name (BoxesCollectionItem* self);
static gboolean __lambda27_ (BoxesDisplayPage* self, GdkEvent* event);
static gboolean ___lambda27__gtk_widget_event (GtkWidget* _sender, GdkEvent* event, gpointer self);
static void __lambda28_ (Block7Data* _data7_);
static void ___lambda28__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
GtkWidget* boxes_display_page_get_widget (BoxesDisplayPage* self);
static void boxes_display_page_finalize (GObject* obj);
static void _vala_boxes_display_page_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);


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


static Block6Data* block6_data_ref (Block6Data* _data6_) {
	g_atomic_int_inc (&_data6_->_ref_count_);
	return _data6_;
}


static void block6_data_unref (Block6Data* _data6_) {
	if (g_atomic_int_dec_and_test (&_data6_->_ref_count_)) {
		BoxesDisplayPage * self;
		self = _data6_->self;
		_g_object_unref0 (_data6_->app);
		_g_object_unref0 (self);
		g_slice_free (Block6Data, _data6_);
	}
}


static gboolean _____lambda22_ (BoxesDisplayPage* self) {
	gboolean result = FALSE;
	boxes_display_page_set_toolbar_visible (self, TRUE);
	self->priv->toolbar_show_id = (guint) 0;
	result = FALSE;
	return result;
}


static gboolean ______lambda22__gsource_func (gpointer self) {
	gboolean result;
	result = _____lambda22_ (self);
	return result;
}


static gboolean _______lambda23_ (BoxesDisplayPage* self) {
	gboolean result = FALSE;
	boxes_display_page_set_toolbar_visible (self, FALSE);
	self->priv->toolbar_hide_id = (guint) 0;
	result = FALSE;
	return result;
}


static gboolean ________lambda23__gsource_func (gpointer self) {
	gboolean result;
	result = _______lambda23_ (self);
	return result;
}


static gboolean __lambda21_ (Block6Data* _data6_, GdkEvent* event) {
	BoxesDisplayPage * self;
	gboolean result = FALSE;
	GdkEvent* _tmp0_;
	GdkEventType _tmp1_;
	GtkEventBox* _tmp21_;
	GtkWidget* _tmp22_ = NULL;
	self = _data6_->self;
	g_return_val_if_fail (event != NULL, FALSE);
	_tmp0_ = event;
	_tmp1_ = _tmp0_->type;
	if (_tmp1_ == GDK_MOTION_NOTIFY) {
		GdkEvent* _tmp2_;
		GdkEventMotion _tmp3_;
		gdouble _tmp4_;
		gdouble y;
		gdouble _tmp5_;
		_tmp2_ = event;
		_tmp3_ = _tmp2_->motion;
		_tmp4_ = _tmp3_.y;
		y = _tmp4_;
		_tmp5_ = y;
		if (_tmp5_ == ((gdouble) 0)) {
			boxes_display_page_toolbar_event_stop (self, TRUE, TRUE);
			boxes_display_page_set_toolbar_visible (self, TRUE);
		} else {
			gboolean _tmp6_ = FALSE;
			gboolean _tmp7_ = FALSE;
			BoxesApp* _tmp8_;
			gboolean _tmp9_;
			gboolean _tmp10_;
			gboolean _tmp12_;
			gboolean _tmp14_;
			_tmp8_ = _data6_->app;
			_tmp9_ = boxes_app_get_fullscreen (_tmp8_);
			_tmp10_ = _tmp9_;
			if (!_tmp10_) {
				gdouble _tmp11_;
				_tmp11_ = y;
				_tmp7_ = _tmp11_ <= ((gdouble) 5);
			} else {
				_tmp7_ = FALSE;
			}
			_tmp12_ = _tmp7_;
			if (_tmp12_) {
				guint _tmp13_;
				_tmp13_ = self->priv->toolbar_show_id;
				_tmp6_ = _tmp13_ == ((guint) 0);
			} else {
				_tmp6_ = FALSE;
			}
			_tmp14_ = _tmp6_;
			if (_tmp14_) {
				guint _tmp15_ = 0U;
				boxes_display_page_toolbar_event_stop (self, TRUE, TRUE);
				_tmp15_ = g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 1000, ______lambda22__gsource_func, g_object_ref (self), g_object_unref);
				self->priv->toolbar_show_id = _tmp15_;
			} else {
				gdouble _tmp16_;
				_tmp16_ = y;
				if (_tmp16_ > ((gdouble) 5)) {
					guint _tmp17_;
					boxes_display_page_toolbar_event_stop (self, TRUE, FALSE);
					_tmp17_ = self->priv->toolbar_hide_id;
					if (_tmp17_ == ((guint) 0)) {
						BoxesApp* _tmp18_;
						guint _tmp19_;
						guint _tmp20_ = 0U;
						_tmp18_ = _data6_->app;
						_tmp19_ = _tmp18_->duration;
						_tmp20_ = g_timeout_add_full (G_PRIORITY_DEFAULT, _tmp19_, ________lambda23__gsource_func, g_object_ref (self), g_object_unref);
						self->priv->toolbar_hide_id = _tmp20_;
					}
				}
			}
		}
	}
	_tmp21_ = self->priv->event_box;
	_tmp22_ = gtk_bin_get_child ((GtkBin*) _tmp21_);
	if (_tmp22_ != NULL) {
		GtkEventBox* _tmp23_;
		GtkWidget* _tmp24_ = NULL;
		GdkEvent* _tmp25_;
		_tmp23_ = self->priv->event_box;
		_tmp24_ = gtk_bin_get_child ((GtkBin*) _tmp23_);
		_tmp25_ = event;
		gtk_widget_event (_tmp24_, _tmp25_);
	}
	result = FALSE;
	return result;
}


static gboolean ___lambda21__gtk_widget_event (GtkWidget* _sender, GdkEvent* event, gpointer self) {
	gboolean result;
	result = __lambda21_ (self, event);
	return result;
}


static void __lambda24_ (Block6Data* _data6_, GtkToolButton* button) {
	BoxesDisplayPage * self;
	BoxesApp* _tmp0_;
	self = _data6_->self;
	g_return_if_fail (button != NULL);
	_tmp0_ = _data6_->app;
	boxes_ui_set_ui_state ((BoxesUI*) _tmp0_, BOXES_UI_STATE_COLLECTION);
}


static void ___lambda24__gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) {
	__lambda24_ (self, _sender);
}


static void __lambda25_ (Block6Data* _data6_, GtkToolButton* button) {
	BoxesDisplayPage * self;
	BoxesApp* _tmp0_;
	BoxesApp* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	self = _data6_->self;
	g_return_if_fail (button != NULL);
	_tmp0_ = _data6_->app;
	_tmp1_ = _data6_->app;
	_tmp2_ = boxes_app_get_fullscreen (_tmp1_);
	_tmp3_ = _tmp2_;
	boxes_app_set_fullscreen (_tmp0_, !_tmp3_);
}


static void ___lambda25__gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) {
	__lambda25_ (self, _sender);
}


static void __lambda26_ (Block6Data* _data6_, GtkToolButton* button) {
	BoxesDisplayPage * self;
	BoxesApp* _tmp0_;
	self = _data6_->self;
	g_return_if_fail (button != NULL);
	_tmp0_ = _data6_->app;
	boxes_ui_set_ui_state ((BoxesUI*) _tmp0_, BOXES_UI_STATE_PROPERTIES);
}


static void ___lambda26__gtk_tool_button_clicked (GtkToolButton* _sender, gpointer self) {
	__lambda26_ (self, _sender);
}


BoxesDisplayPage* boxes_display_page_construct (GType object_type, BoxesApp* app) {
	BoxesDisplayPage * self = NULL;
	Block6Data* _data6_;
	BoxesApp* _tmp0_;
	BoxesApp* _tmp1_;
	BoxesApp* _tmp2_;
	BoxesApp* _tmp3_;
	GtkEventBox* _tmp4_;
	GtkEventBox* _tmp5_;
	GtkEventBox* _tmp6_;
	GtkEventBox* _tmp7_;
	GtkEventBox* _tmp8_;
	GtkOverlay* _tmp9_;
	GtkOverlay* _tmp10_;
	GtkOverlay* _tmp11_;
	GtkOverlay* _tmp12_;
	GtkEventBox* _tmp13_;
	GtkToolbar* _tmp14_;
	GtkToolbar* _tmp15_;
	GtkToolbar* _tmp16_;
	GtkToolbar* _tmp17_;
	GtkStyleContext* _tmp18_ = NULL;
	GtkToolButton* _tmp19_;
	GtkToolButton* _tmp20_;
	GtkToolButton* back;
	GtkStyleContext* _tmp21_ = NULL;
	GtkToolbar* _tmp22_;
	GtkToolbar* _tmp23_;
	GtkToolbar* _tmp24_;
	GtkToolbar* _tmp25_;
	GtkToolbar* _tmp26_;
	GtkToolbar* _tmp27_;
	GtkToolbar* _tmp28_;
	GtkStyleContext* _tmp29_ = NULL;
	GtkToolbar* _tmp30_;
	GtkLabel* _tmp31_;
	GtkLabel* _tmp32_;
	GtkToolItem* _tmp33_;
	GtkToolItem* _tmp34_;
	GtkToolItem* title_item;
	GtkLabel* _tmp35_;
	GtkToolbar* _tmp36_;
	GtkToolItem* _tmp37_;
	GtkToolItem* _tmp38_;
	GtkToolItem* sep;
	GtkToolbar* _tmp39_;
	GtkToolButton* _tmp40_;
	GtkToolButton* _tmp41_;
	GtkToolButton* btn;
	GtkStyleContext* _tmp42_ = NULL;
	GtkToolbar* _tmp43_;
	GtkToolbar* _tmp44_;
	GtkSeparatorToolItem* _tmp45_;
	GtkSeparatorToolItem* _tmp46_;
	GtkToolButton* _tmp47_;
	GtkToolButton* _tmp48_;
	GtkToolButton* props;
	GtkStyleContext* _tmp49_ = NULL;
	GtkToolbar* _tmp50_;
	GtkToolbar* _tmp51_;
	GtkToolbar* _tmp52_;
	GtkOverlay* _tmp53_;
	GtkToolbar* _tmp54_;
	GtkOverlay* _tmp55_;
	GtkToolbar* _tmp56_;
	GtkOverlay* _tmp57_;
	g_return_val_if_fail (app != NULL, NULL);
	_data6_ = g_slice_new0 (Block6Data);
	_data6_->_ref_count_ = 1;
	_tmp0_ = app;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_data6_->app = _tmp1_;
	self = (BoxesDisplayPage*) g_object_new (object_type, NULL);
	_data6_->self = g_object_ref (self);
	_tmp2_ = _data6_->app;
	_tmp3_ = _g_object_ref0 (_tmp2_);
	_g_object_unref0 (self->priv->app);
	self->priv->app = _tmp3_;
	_tmp4_ = (GtkEventBox*) gtk_event_box_new ();
	_tmp5_ = g_object_ref_sink (_tmp4_);
	_g_object_unref0 (self->priv->event_box);
	self->priv->event_box = _tmp5_;
	_tmp6_ = self->priv->event_box;
	gtk_widget_set_events ((GtkWidget*) _tmp6_, (gint) GDK_POINTER_MOTION_MASK);
	_tmp7_ = self->priv->event_box;
	gtk_event_box_set_above_child (_tmp7_, TRUE);
	_tmp8_ = self->priv->event_box;
	g_signal_connect_data ((GtkWidget*) _tmp8_, "event", (GCallback) ___lambda21__gtk_widget_event, block6_data_ref (_data6_), (GClosureNotify) block6_data_unref, 0);
	_tmp9_ = (GtkOverlay*) gtk_overlay_new ();
	_tmp10_ = g_object_ref_sink (_tmp9_);
	_g_object_unref0 (self->priv->overlay);
	self->priv->overlay = _tmp10_;
	_tmp11_ = self->priv->overlay;
	g_object_set ((GtkWidget*) _tmp11_, "margin", 0, NULL);
	_tmp12_ = self->priv->overlay;
	_tmp13_ = self->priv->event_box;
	gtk_container_add ((GtkContainer*) _tmp12_, (GtkWidget*) _tmp13_);
	_tmp14_ = (GtkToolbar*) gtk_toolbar_new ();
	_tmp15_ = g_object_ref_sink (_tmp14_);
	_g_object_unref0 (self->priv->toolbar);
	self->priv->toolbar = _tmp15_;
	_tmp16_ = self->priv->toolbar;
	gtk_toolbar_set_icon_size (_tmp16_, (gint) GTK_ICON_SIZE_MENU);
	_tmp17_ = self->priv->toolbar;
	_tmp18_ = gtk_widget_get_style_context ((GtkWidget*) _tmp17_);
	gtk_style_context_add_class (_tmp18_, GTK_STYLE_CLASS_MENUBAR);
	_tmp19_ = (GtkToolButton*) gtk_tool_button_new (NULL, NULL);
	_tmp20_ = g_object_ref_sink (_tmp19_);
	back = _tmp20_;
	gtk_tool_button_set_icon_name (back, "go-previous-symbolic");
	_tmp21_ = gtk_widget_get_style_context ((GtkWidget*) back);
	gtk_style_context_add_class (_tmp21_, "raised");
	g_signal_connect_data (back, "clicked", (GCallback) ___lambda24__gtk_tool_button_clicked, block6_data_ref (_data6_), (GClosureNotify) block6_data_unref, 0);
	_tmp22_ = self->priv->toolbar;
	gtk_toolbar_insert (_tmp22_, (GtkToolItem*) back, 0);
	_tmp23_ = self->priv->toolbar;
	gtk_toolbar_set_show_arrow (_tmp23_, FALSE);
	_tmp24_ = (GtkToolbar*) gtk_toolbar_new ();
	_tmp25_ = g_object_ref_sink (_tmp24_);
	_g_object_unref0 (self->priv->title_toolbar);
	self->priv->title_toolbar = _tmp25_;
	_tmp26_ = self->priv->title_toolbar;
	gtk_widget_set_valign ((GtkWidget*) _tmp26_, GTK_ALIGN_START);
	_tmp27_ = self->priv->title_toolbar;
	gtk_widget_set_halign ((GtkWidget*) _tmp27_, GTK_ALIGN_CENTER);
	_tmp28_ = self->priv->title_toolbar;
	_tmp29_ = gtk_widget_get_style_context ((GtkWidget*) _tmp28_);
	gtk_style_context_add_class (_tmp29_, GTK_STYLE_CLASS_MENUBAR);
	_tmp30_ = self->priv->title_toolbar;
	gtk_widget_set_size_request ((GtkWidget*) _tmp30_, 300, -1);
	_tmp31_ = (GtkLabel*) gtk_label_new ("Display");
	_tmp32_ = g_object_ref_sink (_tmp31_);
	_g_object_unref0 (self->priv->title);
	self->priv->title = _tmp32_;
	_tmp33_ = gtk_tool_item_new ();
	_tmp34_ = g_object_ref_sink (_tmp33_);
	title_item = _tmp34_;
	gtk_tool_item_set_expand (title_item, TRUE);
	_tmp35_ = self->priv->title;
	gtk_container_add ((GtkContainer*) title_item, (GtkWidget*) _tmp35_);
	_tmp36_ = self->priv->title_toolbar;
	gtk_toolbar_insert (_tmp36_, title_item, -1);
	_tmp37_ = gtk_tool_item_new ();
	_tmp38_ = g_object_ref_sink (_tmp37_);
	sep = _tmp38_;
	gtk_tool_item_set_expand (sep, TRUE);
	_tmp39_ = self->priv->toolbar;
	gtk_toolbar_insert (_tmp39_, sep, -1);
	_tmp40_ = (GtkToolButton*) gtk_tool_button_new (NULL, NULL);
	_tmp41_ = g_object_ref_sink (_tmp40_);
	btn = _tmp41_;
	gtk_tool_button_set_icon_name (btn, "view-fullscreen-symbolic");
	_tmp42_ = gtk_widget_get_style_context ((GtkWidget*) btn);
	gtk_style_context_add_class (_tmp42_, "raised");
	g_signal_connect_data (btn, "clicked", (GCallback) ___lambda25__gtk_tool_button_clicked, block6_data_ref (_data6_), (GClosureNotify) block6_data_unref, 0);
	_tmp43_ = self->priv->toolbar;
	gtk_toolbar_insert (_tmp43_, (GtkToolItem*) btn, -1);
	_tmp44_ = self->priv->toolbar;
	_tmp45_ = (GtkSeparatorToolItem*) gtk_separator_tool_item_new ();
	_tmp46_ = g_object_ref_sink (_tmp45_);
	gtk_toolbar_insert (_tmp44_, (GtkToolItem*) _tmp46_, -1);
	_g_object_unref0 (_tmp46_);
	_tmp47_ = (GtkToolButton*) gtk_tool_button_new (NULL, NULL);
	_tmp48_ = g_object_ref_sink (_tmp47_);
	props = _tmp48_;
	gtk_tool_button_set_icon_name (props, "utilities-system-monitor-symbolic");
	_tmp49_ = gtk_widget_get_style_context ((GtkWidget*) props);
	gtk_style_context_add_class (_tmp49_, "raised");
	g_signal_connect_data (props, "clicked", (GCallback) ___lambda26__gtk_tool_button_clicked, block6_data_ref (_data6_), (GClosureNotify) block6_data_unref, 0);
	_tmp50_ = self->priv->toolbar;
	gtk_toolbar_insert (_tmp50_, (GtkToolItem*) props, -1);
	_tmp51_ = self->priv->toolbar;
	gtk_toolbar_set_show_arrow (_tmp51_, FALSE);
	_tmp52_ = self->priv->toolbar;
	gtk_widget_set_valign ((GtkWidget*) _tmp52_, GTK_ALIGN_START);
	_tmp53_ = self->priv->overlay;
	_tmp54_ = self->priv->toolbar;
	gtk_overlay_add_overlay (_tmp53_, (GtkWidget*) _tmp54_);
	_tmp55_ = self->priv->overlay;
	_tmp56_ = self->priv->title_toolbar;
	gtk_overlay_add_overlay (_tmp55_, (GtkWidget*) _tmp56_);
	_tmp57_ = self->priv->overlay;
	gtk_widget_show_all ((GtkWidget*) _tmp57_);
	_g_object_unref0 (props);
	_g_object_unref0 (btn);
	_g_object_unref0 (sep);
	_g_object_unref0 (title_item);
	_g_object_unref0 (back);
	block6_data_unref (_data6_);
	_data6_ = NULL;
	return self;
}


BoxesDisplayPage* boxes_display_page_new (BoxesApp* app) {
	return boxes_display_page_construct (BOXES_TYPE_DISPLAY_PAGE, app);
}


static void boxes_display_page_set_toolbar_visible (BoxesDisplayPage* self, gboolean visible) {
	GtkToolbar* _tmp0_;
	gboolean _tmp1_;
	GtkToolbar* _tmp2_;
	gboolean _tmp3_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->toolbar;
	_tmp1_ = visible;
	gtk_widget_set_visible ((GtkWidget*) _tmp0_, _tmp1_);
	_tmp2_ = self->priv->title_toolbar;
	_tmp3_ = visible;
	gtk_widget_set_visible ((GtkWidget*) _tmp2_, _tmp3_);
}


static void boxes_display_page_toolbar_event_stop (BoxesDisplayPage* self, gboolean show, gboolean hide) {
	gboolean _tmp0_;
	gboolean _tmp3_;
	g_return_if_fail (self != NULL);
	_tmp0_ = show;
	if (_tmp0_) {
		guint _tmp1_;
		_tmp1_ = self->priv->toolbar_show_id;
		if (_tmp1_ != ((guint) 0)) {
			guint _tmp2_;
			_tmp2_ = self->priv->toolbar_show_id;
			g_source_remove (_tmp2_);
		}
		self->priv->toolbar_show_id = (guint) 0;
	}
	_tmp3_ = hide;
	if (_tmp3_) {
		guint _tmp4_;
		_tmp4_ = self->priv->toolbar_hide_id;
		if (_tmp4_ != ((guint) 0)) {
			guint _tmp5_;
			_tmp5_ = self->priv->toolbar_hide_id;
			g_source_remove (_tmp5_);
		}
		self->priv->toolbar_hide_id = (guint) 0;
	}
}


void boxes_display_page_show (BoxesDisplayPage* self) {
	BoxesApp* _tmp0_;
	GtkNotebook* _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->app;
	_tmp1_ = _tmp0_->notebook;
	g_object_set (_tmp1_, "page", (gint) BOXES_APP_PAGE_DISPLAY, NULL);
}


static Block7Data* block7_data_ref (Block7Data* _data7_) {
	g_atomic_int_inc (&_data7_->_ref_count_);
	return _data7_;
}


static void block7_data_unref (Block7Data* _data7_) {
	if (g_atomic_int_dec_and_test (&_data7_->_ref_count_)) {
		BoxesDisplayPage * self;
		self = _data7_->self;
		_g_object_unref0 (_data7_->display);
		_g_object_unref0 (self);
		g_slice_free (Block7Data, _data7_);
	}
}


static gboolean __lambda27_ (BoxesDisplayPage* self, GdkEvent* event) {
	gboolean result = FALSE;
	GdkEvent* _tmp0_;
	GdkEventType _tmp1_;
	g_return_val_if_fail (event != NULL, FALSE);
	_tmp0_ = event;
	_tmp1_ = _tmp0_->type;
	switch (_tmp1_) {
		case GDK_LEAVE_NOTIFY:
		{
			boxes_display_page_toolbar_event_stop (self, TRUE, TRUE);
			break;
		}
		case GDK_ENTER_NOTIFY:
		{
			boxes_display_page_toolbar_event_stop (self, TRUE, TRUE);
			break;
		}
		default:
		break;
	}
	result = FALSE;
	return result;
}


static gboolean ___lambda27__gtk_widget_event (GtkWidget* _sender, GdkEvent* event, gpointer self) {
	gboolean result;
	result = __lambda27_ (self, event);
	return result;
}


static void __lambda28_ (Block7Data* _data7_) {
	BoxesDisplayPage * self;
	GtkEventBox* _tmp0_;
	GdkWindow* _tmp1_ = NULL;
	GtkWidget* _tmp2_;
	GdkWindow* _tmp3_ = NULL;
	GdkCursor* _tmp4_;
	GdkCursor* _tmp5_;
	self = _data7_->self;
	_tmp0_ = self->priv->event_box;
	_tmp1_ = gtk_widget_get_window ((GtkWidget*) _tmp0_);
	_tmp2_ = _data7_->display;
	_tmp3_ = gtk_widget_get_window (_tmp2_);
	_tmp4_ = gdk_window_get_cursor (_tmp3_);
	_tmp5_ = _tmp4_;
	gdk_window_set_cursor (_tmp1_, _tmp5_);
}


static void ___lambda28__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
	__lambda28_ (self);
}


void boxes_display_page_show_display (BoxesDisplayPage* self, BoxesMachine* machine, GtkWidget* display) {
	Block7Data* _data7_;
	GtkWidget* _tmp0_;
	GtkWidget* _tmp1_;
	GtkWidget* _tmp2_ = NULL;
	GtkWidget* _tmp3_;
	GtkLabel* _tmp4_;
	BoxesMachine* _tmp5_;
	const gchar* _tmp6_;
	const gchar* _tmp7_;
	GtkEventBox* _tmp8_;
	GtkWidget* _tmp9_;
	GtkEventBox* _tmp10_;
	GtkWidget* _tmp11_;
	gulong _tmp12_ = 0UL;
	GtkWidget* _tmp13_;
	GdkWindow* _tmp14_ = NULL;
	gulong _tmp15_ = 0UL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (machine != NULL);
	g_return_if_fail (display != NULL);
	_data7_ = g_slice_new0 (Block7Data);
	_data7_->_ref_count_ = 1;
	_data7_->self = g_object_ref (self);
	_tmp0_ = display;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_data7_->display = _tmp1_;
	_tmp2_ = boxes_display_page_remove_display (self);
	_tmp3_ = _tmp2_;
	_g_object_unref0 (_tmp3_);
	boxes_display_page_set_toolbar_visible (self, FALSE);
	_tmp4_ = self->priv->title;
	_tmp5_ = machine;
	_tmp6_ = boxes_collection_item_get_name ((BoxesCollectionItem*) _tmp5_);
	_tmp7_ = _tmp6_;
	gtk_label_set_text (_tmp4_, _tmp7_);
	_tmp8_ = self->priv->event_box;
	_tmp9_ = _data7_->display;
	gtk_container_add ((GtkContainer*) _tmp8_, _tmp9_);
	_tmp10_ = self->priv->event_box;
	gtk_widget_show_all ((GtkWidget*) _tmp10_);
	_tmp11_ = _data7_->display;
	_tmp12_ = g_signal_connect_object (_tmp11_, "event", (GCallback) ___lambda27__gtk_widget_event, self, 0);
	self->priv->display_id = _tmp12_;
	_tmp13_ = _data7_->display;
	_tmp14_ = gtk_widget_get_window (_tmp13_);
	_tmp15_ = g_signal_connect_data ((GObject*) _tmp14_, "notify::cursor", (GCallback) ___lambda28__g_object_notify, block7_data_ref (_data7_), (GClosureNotify) block7_data_unref, 0);
	self->priv->cursor_id = _tmp15_;
	boxes_display_page_show (self);
	block7_data_unref (_data7_);
	_data7_ = NULL;
}


GtkWidget* boxes_display_page_remove_display (BoxesDisplayPage* self) {
	GtkWidget* result = NULL;
	GtkEventBox* _tmp0_;
	GtkWidget* _tmp1_ = NULL;
	GtkWidget* _tmp2_;
	GtkWidget* display;
	gulong _tmp3_;
	gulong _tmp6_;
	GtkWidget* _tmp10_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->event_box;
	_tmp1_ = gtk_bin_get_child ((GtkBin*) _tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	display = _tmp2_;
	_tmp3_ = self->priv->display_id;
	if (_tmp3_ != ((gulong) 0)) {
		GtkWidget* _tmp4_;
		gulong _tmp5_;
		_tmp4_ = display;
		_tmp5_ = self->priv->display_id;
		g_signal_handler_disconnect ((GObject*) _tmp4_, _tmp5_);
		self->priv->display_id = (gulong) 0;
	}
	_tmp6_ = self->priv->cursor_id;
	if (_tmp6_ != ((gulong) 0)) {
		GtkWidget* _tmp7_;
		GdkWindow* _tmp8_ = NULL;
		gulong _tmp9_;
		_tmp7_ = display;
		_tmp8_ = gtk_widget_get_window (_tmp7_);
		_tmp9_ = self->priv->cursor_id;
		g_signal_handler_disconnect ((GObject*) _tmp8_, _tmp9_);
		self->priv->cursor_id = (gulong) 0;
	}
	_tmp10_ = display;
	if (_tmp10_ != NULL) {
		GtkEventBox* _tmp11_;
		GtkWidget* _tmp12_;
		_tmp11_ = self->priv->event_box;
		_tmp12_ = display;
		gtk_container_remove ((GtkContainer*) _tmp11_, _tmp12_);
	}
	result = display;
	return result;
}


GtkWidget* boxes_display_page_get_widget (BoxesDisplayPage* self) {
	GtkWidget* result;
	GtkOverlay* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->overlay;
	result = (GtkWidget*) _tmp0_;
	return result;
}


static void boxes_display_page_class_init (BoxesDisplayPageClass * klass) {
	boxes_display_page_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (BoxesDisplayPagePrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_display_page_get_property;
	G_OBJECT_CLASS (klass)->finalize = boxes_display_page_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_DISPLAY_PAGE_WIDGET, g_param_spec_object ("widget", "widget", "widget", GTK_TYPE_WIDGET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
}


static void boxes_display_page_instance_init (BoxesDisplayPage * self) {
	self->priv = BOXES_DISPLAY_PAGE_GET_PRIVATE (self);
}


static void boxes_display_page_finalize (GObject* obj) {
	BoxesDisplayPage * self;
	self = BOXES_DISPLAY_PAGE (obj);
	boxes_display_page_toolbar_event_stop (self, TRUE, TRUE);
	_g_object_unref0 (self->priv->overlay);
	_g_object_unref0 (self->priv->app);
	_g_object_unref0 (self->priv->event_box);
	_g_object_unref0 (self->priv->toolbar);
	_g_object_unref0 (self->priv->title_toolbar);
	_g_object_unref0 (self->priv->title);
	G_OBJECT_CLASS (boxes_display_page_parent_class)->finalize (obj);
}


GType boxes_display_page_get_type (void) {
	static volatile gsize boxes_display_page_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_display_page_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesDisplayPageClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_display_page_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesDisplayPage), 0, (GInstanceInitFunc) boxes_display_page_instance_init, NULL };
		GType boxes_display_page_type_id;
		boxes_display_page_type_id = g_type_register_static (G_TYPE_OBJECT, "BoxesDisplayPage", &g_define_type_info, 0);
		g_once_init_leave (&boxes_display_page_type_id__volatile, boxes_display_page_type_id);
	}
	return boxes_display_page_type_id__volatile;
}


static void _vala_boxes_display_page_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	BoxesDisplayPage * self;
	self = BOXES_DISPLAY_PAGE (object);
	switch (property_id) {
		case BOXES_DISPLAY_PAGE_WIDGET:
		g_value_set_object (value, boxes_display_page_get_widget (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}



