/* moonshot-custom-vbox.c generated by valac 0.34.9, the Vala compiler
 * generated from moonshot-custom-vbox.vala, do not modify */

/*
 * Copyright (c) 2011-2016, JANET(UK)
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * 3. Neither the name of JANET(UK) nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
*/

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


#define TYPE_CUSTOM_VBOX (custom_vbox_get_type ())
#define CUSTOM_VBOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CUSTOM_VBOX, CustomVBox))
#define CUSTOM_VBOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CUSTOM_VBOX, CustomVBoxClass))
#define IS_CUSTOM_VBOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CUSTOM_VBOX))
#define IS_CUSTOM_VBOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CUSTOM_VBOX))
#define CUSTOM_VBOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CUSTOM_VBOX, CustomVBoxClass))

typedef struct _CustomVBox CustomVBox;
typedef struct _CustomVBoxClass CustomVBoxClass;
typedef struct _CustomVBoxPrivate CustomVBoxPrivate;

#define TYPE_IDENTITY_MANAGER_VIEW (identity_manager_view_get_type ())
#define IDENTITY_MANAGER_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IDENTITY_MANAGER_VIEW, IdentityManagerView))
#define IDENTITY_MANAGER_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IDENTITY_MANAGER_VIEW, IdentityManagerViewClass))
#define IS_IDENTITY_MANAGER_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IDENTITY_MANAGER_VIEW))
#define IS_IDENTITY_MANAGER_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IDENTITY_MANAGER_VIEW))
#define IDENTITY_MANAGER_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IDENTITY_MANAGER_VIEW, IdentityManagerViewClass))

typedef struct _IdentityManagerView IdentityManagerView;
typedef struct _IdentityManagerViewClass IdentityManagerViewClass;

#define TYPE_MOONSHOT_LOGGER (moonshot_logger_get_type ())
#define MOONSHOT_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MOONSHOT_LOGGER, MoonshotLogger))
#define MOONSHOT_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MOONSHOT_LOGGER, MoonshotLoggerClass))
#define IS_MOONSHOT_LOGGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MOONSHOT_LOGGER))
#define IS_MOONSHOT_LOGGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MOONSHOT_LOGGER))
#define MOONSHOT_LOGGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MOONSHOT_LOGGER, MoonshotLoggerClass))

typedef struct _MoonshotLogger MoonshotLogger;
typedef struct _MoonshotLoggerClass MoonshotLoggerClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define TYPE_ID_CARD_WIDGET (id_card_widget_get_type ())
#define ID_CARD_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ID_CARD_WIDGET, IdCardWidget))
#define ID_CARD_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ID_CARD_WIDGET, IdCardWidgetClass))
#define IS_ID_CARD_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ID_CARD_WIDGET))
#define IS_ID_CARD_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ID_CARD_WIDGET))
#define ID_CARD_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ID_CARD_WIDGET, IdCardWidgetClass))

typedef struct _IdCardWidget IdCardWidget;
typedef struct _IdCardWidgetClass IdCardWidgetClass;
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))

#define TYPE_ID_CARD (id_card_get_type ())
#define ID_CARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ID_CARD, IdCard))
#define ID_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ID_CARD, IdCardClass))
#define IS_ID_CARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ID_CARD))
#define IS_ID_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ID_CARD))
#define ID_CARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ID_CARD, IdCardClass))

typedef struct _IdCard IdCard;
typedef struct _IdCardClass IdCardClass;

struct _CustomVBox {
	GtkVBox parent_instance;
	CustomVBoxPrivate * priv;
};

struct _CustomVBoxClass {
	GtkVBoxClass parent_class;
};

struct _CustomVBoxPrivate {
	IdentityManagerView* main_window;
	gint next_pos;
};


static gpointer custom_vbox_parent_class = NULL;
static MoonshotLogger* custom_vbox_logger;
static MoonshotLogger* custom_vbox_logger = NULL;

GType custom_vbox_get_type (void) G_GNUC_CONST;
GType identity_manager_view_get_type (void) G_GNUC_CONST;
#define CUSTOM_VBOX_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), TYPE_CUSTOM_VBOX, CustomVBoxPrivate))
enum  {
	CUSTOM_VBOX_DUMMY_PROPERTY
};
GType moonshot_logger_get_type (void) G_GNUC_CONST;
MoonshotLogger* get_logger (const gchar* name);
CustomVBox* custom_vbox_new (IdentityManagerView* window, gboolean homogeneous, gint spacing);
CustomVBox* custom_vbox_construct (GType object_type, IdentityManagerView* window, gboolean homogeneous, gint spacing);
GType id_card_widget_get_type (void) G_GNUC_CONST;
void custom_vbox_receive_expanded_event (CustomVBox* self, IdCardWidget* id_card_widget);
void id_card_widget_collapse (IdCardWidget* self);
void custom_vbox_receive_collapsed_event (CustomVBox* self, IdCardWidget* id_card_widget);
void custom_vbox_add_id_card_widget (CustomVBox* self, IdCardWidget* id_card_widget);
void id_card_widget_set_position (IdCardWidget* self, gint value);
GType id_card_get_type (void) G_GNUC_CONST;
IdCardWidget* custom_vbox_find_idcard_widget (CustomVBox* self, IdCard* card);
IdCard* id_card_widget_get_id_card (IdCardWidget* self);
void custom_vbox_clear (CustomVBox* self);
void moonshot_logger_trace (MoonshotLogger* self, const gchar* message, GError* e);
static void custom_vbox_finalize (GObject* obj);


static gpointer _g_object_ref0 (gpointer self) {
#line 42 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	return self ? g_object_ref (self) : NULL;
#line 143 "moonshot-custom-vbox.c"
}


CustomVBox* custom_vbox_construct (GType object_type, IdentityManagerView* window, gboolean homogeneous, gint spacing) {
	CustomVBox * self = NULL;
	IdentityManagerView* _tmp0_ = NULL;
	IdentityManagerView* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	gint _tmp3_ = 0;
#line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	g_return_val_if_fail (window != NULL, NULL);
#line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	self = (CustomVBox*) g_object_new (object_type, NULL);
#line 42 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp0_ = window;
#line 42 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 42 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_g_object_unref0 (self->priv->main_window);
#line 42 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	self->priv->main_window = _tmp1_;
#line 43 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp2_ = homogeneous;
#line 43 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	gtk_box_set_homogeneous ((GtkBox*) self, _tmp2_);
#line 44 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp3_ = spacing;
#line 44 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	gtk_box_set_spacing ((GtkBox*) self, _tmp3_);
#line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	return self;
#line 175 "moonshot-custom-vbox.c"
}


CustomVBox* custom_vbox_new (IdentityManagerView* window, gboolean homogeneous, gint spacing) {
#line 40 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	return custom_vbox_construct (TYPE_CUSTOM_VBOX, window, homogeneous, spacing);
#line 182 "moonshot-custom-vbox.c"
}


void custom_vbox_receive_expanded_event (CustomVBox* self, IdCardWidget* id_card_widget) {
	GList* list = NULL;
	GList* _tmp0_ = NULL;
	GList* _tmp1_ = NULL;
#line 47 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	g_return_if_fail (self != NULL);
#line 47 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	g_return_if_fail (id_card_widget != NULL);
#line 49 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp0_ = gtk_container_get_children ((GtkContainer*) self);
#line 49 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	list = _tmp0_;
#line 50 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp1_ = list;
#line 200 "moonshot-custom-vbox.c"
	{
		GList* id_card_collection = NULL;
		GList* id_card_it = NULL;
#line 50 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
		id_card_collection = _tmp1_;
#line 50 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
		for (id_card_it = id_card_collection; id_card_it != NULL; id_card_it = id_card_it->next) {
#line 208 "moonshot-custom-vbox.c"
			GtkWidget* _tmp2_ = NULL;
			GtkWidget* id_card = NULL;
#line 50 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
			_tmp2_ = _g_object_ref0 ((GtkWidget*) id_card_it->data);
#line 50 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
			id_card = _tmp2_;
#line 215 "moonshot-custom-vbox.c"
			{
				GtkWidget* _tmp3_ = NULL;
				IdCardWidget* _tmp4_ = NULL;
#line 52 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				_tmp3_ = id_card;
#line 52 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				_tmp4_ = id_card_widget;
#line 52 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				if (_tmp3_ != G_TYPE_CHECK_INSTANCE_CAST (_tmp4_, GTK_TYPE_WIDGET, GtkWidget)) {
#line 225 "moonshot-custom-vbox.c"
					GtkWidget* _tmp5_ = NULL;
#line 53 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
					_tmp5_ = id_card;
#line 53 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
					id_card_widget_collapse (G_TYPE_CHECK_INSTANCE_CAST (_tmp5_, TYPE_ID_CARD_WIDGET, IdCardWidget));
#line 231 "moonshot-custom-vbox.c"
				}
#line 50 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				_g_object_unref0 (id_card);
#line 235 "moonshot-custom-vbox.c"
			}
		}
	}
#line 56 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	gtk_container_check_resize ((GtkContainer*) self);
#line 47 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_g_list_free0 (list);
#line 243 "moonshot-custom-vbox.c"
}


void custom_vbox_receive_collapsed_event (CustomVBox* self, IdCardWidget* id_card_widget) {
#line 59 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	g_return_if_fail (self != NULL);
#line 59 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	g_return_if_fail (id_card_widget != NULL);
#line 61 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	gtk_container_check_resize ((GtkContainer*) self);
#line 254 "moonshot-custom-vbox.c"
}


void custom_vbox_add_id_card_widget (CustomVBox* self, IdCardWidget* id_card_widget) {
	IdCardWidget* _tmp0_ = NULL;
	IdCardWidget* _tmp1_ = NULL;
	gint _tmp2_ = 0;
#line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	g_return_if_fail (self != NULL);
#line 64 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	g_return_if_fail (id_card_widget != NULL);
#line 66 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp0_ = id_card_widget;
#line 66 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	gtk_box_pack_start ((GtkBox*) self, (GtkWidget*) _tmp0_, FALSE, FALSE, (guint) 0);
#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp1_ = id_card_widget;
#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp2_ = self->priv->next_pos;
#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	self->priv->next_pos = _tmp2_ + 1;
#line 67 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	id_card_widget_set_position (_tmp1_, _tmp2_);
#line 278 "moonshot-custom-vbox.c"
}


IdCardWidget* custom_vbox_find_idcard_widget (CustomVBox* self, IdCard* card) {
	IdCardWidget* result = NULL;
	IdCard* _tmp0_ = NULL;
	GList* _tmp1_ = NULL;
#line 70 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp0_ = card;
#line 71 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	if (_tmp0_ == NULL) {
#line 72 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
		result = NULL;
#line 72 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
		return result;
#line 296 "moonshot-custom-vbox.c"
	}
#line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp1_ = gtk_container_get_children ((GtkContainer*) self);
#line 300 "moonshot-custom-vbox.c"
	{
		GList* w_collection = NULL;
		GList* w_it = NULL;
#line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
		w_collection = _tmp1_;
#line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
		for (w_it = w_collection; w_it != NULL; w_it = w_it->next) {
#line 308 "moonshot-custom-vbox.c"
			GtkWidget* w = NULL;
#line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
			w = (GtkWidget*) w_it->data;
#line 312 "moonshot-custom-vbox.c"
			{
				IdCardWidget* widget = NULL;
				GtkWidget* _tmp2_ = NULL;
				IdCardWidget* _tmp3_ = NULL;
				IdCardWidget* _tmp4_ = NULL;
				IdCard* _tmp5_ = NULL;
				IdCard* _tmp6_ = NULL;
				IdCard* _tmp7_ = NULL;
#line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				_tmp2_ = w;
#line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				_tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TYPE_ID_CARD_WIDGET, IdCardWidget));
#line 75 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				widget = _tmp3_;
#line 76 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				_tmp4_ = widget;
#line 76 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				_tmp5_ = id_card_widget_get_id_card (_tmp4_);
#line 76 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				_tmp6_ = _tmp5_;
#line 76 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				_tmp7_ = card;
#line 76 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				if (_tmp6_ == _tmp7_) {
#line 77 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
					result = widget;
#line 77 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
					_g_list_free0 (w_collection);
#line 77 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
					return result;
#line 343 "moonshot-custom-vbox.c"
				}
#line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				_g_object_unref0 (widget);
#line 347 "moonshot-custom-vbox.c"
			}
		}
#line 74 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
		_g_list_free0 (w_collection);
#line 352 "moonshot-custom-vbox.c"
	}
#line 80 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	result = NULL;
#line 80 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	return result;
#line 358 "moonshot-custom-vbox.c"
}


void custom_vbox_clear (CustomVBox* self) {
	MoonshotLogger* _tmp0_ = NULL;
	GList* children = NULL;
	GList* _tmp1_ = NULL;
	GList* _tmp2_ = NULL;
#line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	g_return_if_fail (self != NULL);
#line 85 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp0_ = custom_vbox_logger;
#line 85 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	moonshot_logger_trace (_tmp0_, "clear", NULL);
#line 87 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp1_ = gtk_container_get_children ((GtkContainer*) self);
#line 87 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	children = _tmp1_;
#line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp2_ = children;
#line 379 "moonshot-custom-vbox.c"
	{
		GList* id_card_widget_collection = NULL;
		GList* id_card_widget_it = NULL;
#line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
		id_card_widget_collection = _tmp2_;
#line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
		for (id_card_widget_it = id_card_widget_collection; id_card_widget_it != NULL; id_card_widget_it = id_card_widget_it->next) {
#line 387 "moonshot-custom-vbox.c"
			GtkWidget* id_card_widget = NULL;
#line 88 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
			id_card_widget = (GtkWidget*) id_card_widget_it->data;
#line 391 "moonshot-custom-vbox.c"
			{
				GtkWidget* _tmp3_ = NULL;
#line 89 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				_tmp3_ = id_card_widget;
#line 89 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
				gtk_container_remove ((GtkContainer*) self, _tmp3_);
#line 398 "moonshot-custom-vbox.c"
			}
		}
	}
#line 92 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	self->priv->next_pos = 0;
#line 83 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_g_list_free0 (children);
#line 406 "moonshot-custom-vbox.c"
}


static void custom_vbox_class_init (CustomVBoxClass * klass) {
	MoonshotLogger* _tmp0_ = NULL;
#line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	custom_vbox_parent_class = g_type_class_peek_parent (klass);
#line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	g_type_class_add_private (klass, sizeof (CustomVBoxPrivate));
#line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	G_OBJECT_CLASS (klass)->finalize = custom_vbox_finalize;
#line 36 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_tmp0_ = get_logger ("CustomVBox");
#line 36 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	custom_vbox_logger = _tmp0_;
#line 422 "moonshot-custom-vbox.c"
}


static void custom_vbox_instance_init (CustomVBox * self) {
#line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	self->priv = CUSTOM_VBOX_GET_PRIVATE (self);
#line 38 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	self->priv->next_pos = 0;
#line 431 "moonshot-custom-vbox.c"
}


static void custom_vbox_finalize (GObject* obj) {
	CustomVBox * self;
#line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CUSTOM_VBOX, CustomVBox);
#line 37 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	_g_object_unref0 (self->priv->main_window);
#line 34 "/home/hartmans/moonshot/moonshot/ui/src/moonshot-custom-vbox.vala"
	G_OBJECT_CLASS (custom_vbox_parent_class)->finalize (obj);
#line 443 "moonshot-custom-vbox.c"
}


GType custom_vbox_get_type (void) {
	static volatile gsize custom_vbox_type_id__volatile = 0;
	if (g_once_init_enter (&custom_vbox_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (CustomVBoxClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) custom_vbox_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CustomVBox), 0, (GInstanceInitFunc) custom_vbox_instance_init, NULL };
		GType custom_vbox_type_id;
		custom_vbox_type_id = g_type_register_static (GTK_TYPE_VBOX, "CustomVBox", &g_define_type_info, 0);
		g_once_init_leave (&custom_vbox_type_id__volatile, custom_vbox_type_id);
	}
	return custom_vbox_type_id__volatile;
}



