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

/*
 * Copyright 2017 elementary, Inc. (https://elementary.io)
 * SPDX-License-Identifier: LGPL-3.0-or-later
 */

#include <gtk/gtk.h>
#include <glib-object.h>
#include "granite.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 TYPE_SETTINGS_VIEW (settings_view_get_type ())
#define SETTINGS_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SETTINGS_VIEW, SettingsView))
#define SETTINGS_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SETTINGS_VIEW, SettingsViewClass))
#define IS_SETTINGS_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SETTINGS_VIEW))
#define IS_SETTINGS_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SETTINGS_VIEW))
#define SETTINGS_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SETTINGS_VIEW, SettingsViewClass))

typedef struct _SettingsView SettingsView;
typedef struct _SettingsViewClass SettingsViewClass;
typedef struct _SettingsViewPrivate SettingsViewPrivate;
enum  {
	SETTINGS_VIEW_0_PROPERTY,
	SETTINGS_VIEW_NUM_PROPERTIES
};
static GParamSpec* settings_view_properties[SETTINGS_VIEW_NUM_PROPERTIES];

#define TYPE_SIMPLE_SETTINGS_PAGE (simple_settings_page_get_type ())
#define SIMPLE_SETTINGS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SIMPLE_SETTINGS_PAGE, SimpleSettingsPage))
#define SIMPLE_SETTINGS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SIMPLE_SETTINGS_PAGE, SimpleSettingsPageClass))
#define IS_SIMPLE_SETTINGS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SIMPLE_SETTINGS_PAGE))
#define IS_SIMPLE_SETTINGS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SIMPLE_SETTINGS_PAGE))
#define SIMPLE_SETTINGS_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SIMPLE_SETTINGS_PAGE, SimpleSettingsPageClass))

typedef struct _SimpleSettingsPage SimpleSettingsPage;
typedef struct _SimpleSettingsPageClass SimpleSettingsPageClass;

#define TYPE_SETTINGS_PAGE (settings_page_get_type ())
#define SETTINGS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SETTINGS_PAGE, SettingsPage))
#define SETTINGS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SETTINGS_PAGE, SettingsPageClass))
#define IS_SETTINGS_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SETTINGS_PAGE))
#define IS_SETTINGS_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SETTINGS_PAGE))
#define SETTINGS_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SETTINGS_PAGE, SettingsPageClass))

typedef struct _SettingsPage SettingsPage;
typedef struct _SettingsPageClass SettingsPageClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

struct _SettingsView {
	GtkPaned parent_instance;
	SettingsViewPrivate * priv;
};

struct _SettingsViewClass {
	GtkPanedClass parent_class;
};

static gpointer settings_view_parent_class = NULL;

VALA_EXTERN GType settings_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SettingsView, g_object_unref)
VALA_EXTERN SettingsView* settings_view_new (void);
VALA_EXTERN SettingsView* settings_view_construct (GType object_type);
static GObject * settings_view_constructor (GType type,
                                     guint n_construct_properties,
                                     GObjectConstructParam * construct_properties);
VALA_EXTERN GType simple_settings_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SimpleSettingsPage, g_object_unref)
VALA_EXTERN SimpleSettingsPage* simple_settings_page_new (void);
VALA_EXTERN SimpleSettingsPage* simple_settings_page_construct (GType object_type);
VALA_EXTERN GType settings_page_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SettingsPage, g_object_unref)
VALA_EXTERN SettingsPage* settings_page_new (void);
VALA_EXTERN SettingsPage* settings_page_construct (GType object_type);
static GType settings_view_get_type_once (void);

SettingsView*
settings_view_construct (GType object_type)
{
	SettingsView * self = NULL;
	self = (SettingsView*) g_object_new (object_type, NULL);
	return self;
}

SettingsView*
settings_view_new (void)
{
	return settings_view_construct (TYPE_SETTINGS_VIEW);
}

static GObject *
settings_view_constructor (GType type,
                           guint n_construct_properties,
                           GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	SettingsView * self;
	SimpleSettingsPage* settings_page = NULL;
	SimpleSettingsPage* _tmp0_;
	SettingsPage* settings_page_two = NULL;
	SettingsPage* _tmp1_;
	GtkStack* stack = NULL;
	GtkStack* _tmp2_;
	GtkStack* _tmp3_;
	SimpleSettingsPage* _tmp4_;
	GtkStack* _tmp5_;
	SettingsPage* _tmp6_;
	GraniteSettingsSidebar* settings_sidebar = NULL;
	GtkStack* _tmp7_;
	GraniteSettingsSidebar* _tmp8_;
	GraniteSettingsSidebar* _tmp9_;
	GtkStack* _tmp10_;
	parent_class = G_OBJECT_CLASS (settings_view_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_SETTINGS_VIEW, SettingsView);
	_tmp0_ = simple_settings_page_new ();
	g_object_ref_sink (_tmp0_);
	settings_page = _tmp0_;
	_tmp1_ = settings_page_new ();
	g_object_ref_sink (_tmp1_);
	settings_page_two = _tmp1_;
	_tmp2_ = (GtkStack*) gtk_stack_new ();
	g_object_ref_sink (_tmp2_);
	stack = _tmp2_;
	_tmp3_ = stack;
	_tmp4_ = settings_page;
	gtk_stack_add_named (_tmp3_, (GtkWidget*) _tmp4_, "settings_page");
	_tmp5_ = stack;
	_tmp6_ = settings_page_two;
	gtk_stack_add_named (_tmp5_, (GtkWidget*) _tmp6_, "settings_page_two");
	_tmp7_ = stack;
	_tmp8_ = granite_settings_sidebar_new (_tmp7_);
	g_object_ref_sink (_tmp8_);
	settings_sidebar = _tmp8_;
	_tmp9_ = settings_sidebar;
	gtk_container_add ((GtkContainer*) self, (GtkWidget*) _tmp9_);
	_tmp10_ = stack;
	gtk_container_add ((GtkContainer*) self, (GtkWidget*) _tmp10_);
	_g_object_unref0 (settings_sidebar);
	_g_object_unref0 (stack);
	_g_object_unref0 (settings_page_two);
	_g_object_unref0 (settings_page);
	return obj;
}

static void
settings_view_class_init (SettingsViewClass * klass,
                          gpointer klass_data)
{
	settings_view_parent_class = g_type_class_peek_parent (klass);
	G_OBJECT_CLASS (klass)->constructor = settings_view_constructor;
}

static void
settings_view_instance_init (SettingsView * self,
                             gpointer klass)
{
}

static GType
settings_view_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SettingsViewClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) settings_view_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SettingsView), 0, (GInstanceInitFunc) settings_view_instance_init, NULL };
	GType settings_view_type_id;
	settings_view_type_id = g_type_register_static (gtk_paned_get_type (), "SettingsView", &g_define_type_info, 0);
	return settings_view_type_id;
}

GType
settings_view_get_type (void)
{
	static volatile gsize settings_view_type_id__once = 0;
	if (g_once_init_enter (&settings_view_type_id__once)) {
		GType settings_view_type_id;
		settings_view_type_id = settings_view_get_type_once ();
		g_once_init_leave (&settings_view_type_id__once, settings_view_type_id);
	}
	return settings_view_type_id__once;
}

