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

/*
* Copyright (c) 2018-2026 (https://github.com/phase1geo/Minder)
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*
* Authored by: Trevor Williams <phase1geo@gmail.com>
*/

#include <gtk/gtk.h>
#include <glib-object.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <gtksourceview/gtksource.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_CURRENT_INSPECTOR (current_inspector_get_type ())
#define CURRENT_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CURRENT_INSPECTOR, CurrentInspector))
#define CURRENT_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CURRENT_INSPECTOR, CurrentInspectorClass))
#define IS_CURRENT_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CURRENT_INSPECTOR))
#define IS_CURRENT_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CURRENT_INSPECTOR))
#define CURRENT_INSPECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CURRENT_INSPECTOR, CurrentInspectorClass))

typedef struct _CurrentInspector CurrentInspector;
typedef struct _CurrentInspectorClass CurrentInspectorClass;
typedef struct _CurrentInspectorPrivate CurrentInspectorPrivate;

#define TYPE_MIND_MAP (mind_map_get_type ())
#define MIND_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MIND_MAP, MindMap))
#define MIND_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MIND_MAP, MindMapClass))
#define IS_MIND_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MIND_MAP))
#define IS_MIND_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MIND_MAP))
#define MIND_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MIND_MAP, MindMapClass))

typedef struct _MindMap MindMap;
typedef struct _MindMapClass MindMapClass;
enum  {
	CURRENT_INSPECTOR_0_PROPERTY,
	CURRENT_INSPECTOR_NUM_PROPERTIES
};
static GParamSpec* current_inspector_properties[CURRENT_INSPECTOR_NUM_PROPERTIES];
#define _mind_map_unref0(var) ((var == NULL) ? NULL : (var = (mind_map_unref (var), NULL)))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define TYPE_MAIN_WINDOW (main_window_get_type ())
#define MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MAIN_WINDOW, MainWindow))
#define MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MAIN_WINDOW, MainWindowClass))
#define IS_MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MAIN_WINDOW))
#define IS_MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MAIN_WINDOW))
#define MAIN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MAIN_WINDOW, MainWindowClass))

typedef struct _MainWindow MainWindow;
typedef struct _MainWindowClass MainWindowClass;

#define TYPE_NODE_INSPECTOR (node_inspector_get_type ())
#define NODE_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NODE_INSPECTOR, NodeInspector))
#define NODE_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NODE_INSPECTOR, NodeInspectorClass))
#define IS_NODE_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NODE_INSPECTOR))
#define IS_NODE_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NODE_INSPECTOR))
#define NODE_INSPECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NODE_INSPECTOR, NodeInspectorClass))

typedef struct _NodeInspector NodeInspector;
typedef struct _NodeInspectorClass NodeInspectorClass;

#define TYPE_CONNECTION_INSPECTOR (connection_inspector_get_type ())
#define CONNECTION_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONNECTION_INSPECTOR, ConnectionInspector))
#define CONNECTION_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONNECTION_INSPECTOR, ConnectionInspectorClass))
#define IS_CONNECTION_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONNECTION_INSPECTOR))
#define IS_CONNECTION_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONNECTION_INSPECTOR))
#define CONNECTION_INSPECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONNECTION_INSPECTOR, ConnectionInspectorClass))

typedef struct _ConnectionInspector ConnectionInspector;
typedef struct _ConnectionInspectorClass ConnectionInspectorClass;

#define TYPE_GROUP_INSPECTOR (group_inspector_get_type ())
#define GROUP_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_GROUP_INSPECTOR, GroupInspector))
#define GROUP_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_GROUP_INSPECTOR, GroupInspectorClass))
#define IS_GROUP_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_GROUP_INSPECTOR))
#define IS_GROUP_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_GROUP_INSPECTOR))
#define GROUP_INSPECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_GROUP_INSPECTOR, GroupInspectorClass))

typedef struct _GroupInspector GroupInspector;
typedef struct _GroupInspectorClass GroupInspectorClass;
typedef struct _Block11Data Block11Data;

#define TYPE_EMPTY_INSPECTOR (empty_inspector_get_type ())
#define EMPTY_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EMPTY_INSPECTOR, EmptyInspector))
#define EMPTY_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EMPTY_INSPECTOR, EmptyInspectorClass))
#define IS_EMPTY_INSPECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EMPTY_INSPECTOR))
#define IS_EMPTY_INSPECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EMPTY_INSPECTOR))
#define EMPTY_INSPECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EMPTY_INSPECTOR, EmptyInspectorClass))

typedef struct _EmptyInspector EmptyInspector;
typedef struct _EmptyInspectorClass EmptyInspectorClass;

#define TYPE_NODE (node_get_type ())
#define NODE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NODE, Node))
#define NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NODE, NodeClass))
#define IS_NODE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NODE))
#define IS_NODE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NODE))
#define NODE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NODE, NodeClass))

typedef struct _Node Node;
typedef struct _NodeClass NodeClass;

#define TYPE_CONNECTION (connection_get_type ())
#define CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONNECTION, Connection))
#define CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONNECTION, ConnectionClass))
#define IS_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONNECTION))
#define IS_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONNECTION))
#define CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONNECTION, ConnectionClass))

typedef struct _Connection Connection;
typedef struct _ConnectionClass ConnectionClass;

#define TYPE_NODE_GROUP (node_group_get_type ())
#define NODE_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NODE_GROUP, NodeGroup))
#define NODE_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NODE_GROUP, NodeGroupClass))
#define IS_NODE_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NODE_GROUP))
#define IS_NODE_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NODE_GROUP))
#define NODE_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NODE_GROUP, NodeGroupClass))

typedef struct _NodeGroup NodeGroup;
typedef struct _NodeGroupClass NodeGroupClass;

#define TYPE_NOTE_VIEW (note_view_get_type ())
#define NOTE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_NOTE_VIEW, NoteView))
#define NOTE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_NOTE_VIEW, NoteViewClass))
#define IS_NOTE_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_NOTE_VIEW))
#define IS_NOTE_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_NOTE_VIEW))
#define NOTE_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_NOTE_VIEW, NoteViewClass))

typedef struct _NoteView NoteView;
typedef struct _NoteViewClass NoteViewClass;
enum  {
	CURRENT_INSPECTOR_UPDATE_ICONS_SIGNAL,
	CURRENT_INSPECTOR_EDITABLE_CHANGED_SIGNAL,
	CURRENT_INSPECTOR_NUM_SIGNALS
};
static guint current_inspector_signals[CURRENT_INSPECTOR_NUM_SIGNALS] = {0};

struct _CurrentInspector {
	GtkBox parent_instance;
	CurrentInspectorPrivate * priv;
};

struct _CurrentInspectorClass {
	GtkBoxClass parent_class;
};

struct _CurrentInspectorPrivate {
	MindMap* _map;
	GtkStack* _stack;
};

struct _Block11Data {
	int _ref_count_;
	CurrentInspector* self;
	NodeInspector* node_box;
	ConnectionInspector* conn_box;
	GroupInspector* group_box;
};

static gint CurrentInspector_private_offset;
static gpointer current_inspector_parent_class = NULL;

VALA_EXTERN GType current_inspector_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (CurrentInspector, g_object_unref)
VALA_EXTERN gpointer mind_map_ref (gpointer instance);
VALA_EXTERN void mind_map_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_mind_map (const gchar* name,
                                 const gchar* nick,
                                 const gchar* blurb,
                                 GType object_type,
                                 GParamFlags flags);
VALA_EXTERN void value_set_mind_map (GValue* value,
                         gpointer v_object);
VALA_EXTERN void value_take_mind_map (GValue* value,
                          gpointer v_object);
VALA_EXTERN gpointer value_get_mind_map (const GValue* value);
VALA_EXTERN GType mind_map_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MindMap, mind_map_unref)
VALA_EXTERN GType main_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MainWindow, g_object_unref)
VALA_EXTERN CurrentInspector* current_inspector_new (MainWindow* win);
VALA_EXTERN CurrentInspector* current_inspector_construct (GType object_type,
                                               MainWindow* win);
VALA_EXTERN GType node_inspector_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (NodeInspector, g_object_unref)
VALA_EXTERN GType connection_inspector_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (ConnectionInspector, g_object_unref)
VALA_EXTERN GType group_inspector_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GroupInspector, g_object_unref)
static Block11Data* block11_data_ref (Block11Data* _data11_);
static void block11_data_unref (void * _userdata_);
VALA_EXTERN NodeInspector* node_inspector_new (MainWindow* win);
VALA_EXTERN NodeInspector* node_inspector_construct (GType object_type,
                                         MainWindow* win);
VALA_EXTERN ConnectionInspector* connection_inspector_new (MainWindow* win);
VALA_EXTERN ConnectionInspector* connection_inspector_construct (GType object_type,
                                                     MainWindow* win);
VALA_EXTERN GroupInspector* group_inspector_new (MainWindow* win);
VALA_EXTERN GroupInspector* group_inspector_construct (GType object_type,
                                           MainWindow* win);
VALA_EXTERN GType empty_inspector_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (EmptyInspector, g_object_unref)
VALA_EXTERN EmptyInspector* empty_inspector_new (MainWindow* win);
VALA_EXTERN EmptyInspector* empty_inspector_construct (GType object_type,
                                           MainWindow* win);
static void __lambda140_ (Block11Data* _data11_);
static void ___lambda140__current_inspector_update_icons (CurrentInspector* _sender,
                                                   gpointer self);
static void current_inspector_tab_changed (CurrentInspector* self,
                                    MindMap* map);
static void _current_inspector_tab_changed_main_window_canvas_changed (MainWindow* _sender,
                                                                MindMap* map,
                                                                gpointer self);
static void __lambda141_ (Block11Data* _data11_);
static void ___lambda141__current_inspector_editable_changed (CurrentInspector* _sender,
                                                       gpointer self);
VALA_EXTERN void current_inspector_set_width (CurrentInspector* self,
                                  gint width);
VALA_EXTERN void node_inspector_set_width (NodeInspector* self,
                               gint width);
VALA_EXTERN void connection_inspector_set_width (ConnectionInspector* self,
                                     gint width);
VALA_EXTERN void group_inspector_set_width (GroupInspector* self,
                                gint width);
VALA_EXTERN void current_inspector_set_transition_duration (CurrentInspector* self,
                                                gint duration);
VALA_EXTERN void current_inspector_reset_width (CurrentInspector* self);
static void current_inspector_current_changed (CurrentInspector* self);
static void _current_inspector_current_changed_mind_map_current_changed (MindMap* _sender,
                                                                  MindMap* map,
                                                                  gpointer self);
VALA_EXTERN GType node_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Node, g_object_unref)
VALA_EXTERN Node* mind_map_get_current_node (MindMap* self);
VALA_EXTERN GType connection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (Connection, g_object_unref)
VALA_EXTERN Connection* mind_map_get_current_connection (MindMap* self);
VALA_EXTERN GType node_group_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (NodeGroup, g_object_unref)
VALA_EXTERN NodeGroup* mind_map_get_current_group (MindMap* self);
VALA_EXTERN void current_inspector_grab_note (CurrentInspector* self);
VALA_EXTERN void node_inspector_grab_note (NodeInspector* self);
VALA_EXTERN void connection_inspector_grab_note (ConnectionInspector* self);
VALA_EXTERN void group_inspector_grab_note (GroupInspector* self);
VALA_EXTERN GType note_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (NoteView, g_object_unref)
VALA_EXTERN NoteView* current_inspector_get_note (CurrentInspector* self);
VALA_EXTERN NoteView* node_inspector_get_note (NodeInspector* self);
VALA_EXTERN NoteView* connection_inspector_get_note (ConnectionInspector* self);
VALA_EXTERN NoteView* group_inspector_get_note (GroupInspector* self);
VALA_EXTERN void current_inspector_grab_first (CurrentInspector* self);
VALA_EXTERN void node_inspector_grab_first (NodeInspector* self);
VALA_EXTERN void connection_inspector_grab_first (ConnectionInspector* self);
VALA_EXTERN void group_inspector_grab_first (GroupInspector* self);
static void current_inspector_finalize (GObject * obj);
static GType current_inspector_get_type_once (void);

static inline gpointer
current_inspector_get_instance_private (CurrentInspector* self)
{
	return G_STRUCT_MEMBER_P (self, CurrentInspector_private_offset);
}

static Block11Data*
block11_data_ref (Block11Data* _data11_)
{
	g_atomic_int_inc (&_data11_->_ref_count_);
	return _data11_;
}

static void
block11_data_unref (void * _userdata_)
{
	Block11Data* _data11_;
	_data11_ = (Block11Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data11_->_ref_count_)) {
		CurrentInspector* self;
		self = _data11_->self;
		_g_object_unref0 (_data11_->group_box);
		_g_object_unref0 (_data11_->conn_box);
		_g_object_unref0 (_data11_->node_box);
		_g_object_unref0 (self);
		g_slice_free (Block11Data, _data11_);
	}
}

static void
__lambda140_ (Block11Data* _data11_)
{
	CurrentInspector* self;
	self = _data11_->self;
	g_signal_emit_by_name (_data11_->node_box, "update-icons");
}

static void
___lambda140__current_inspector_update_icons (CurrentInspector* _sender,
                                              gpointer self)
{
	__lambda140_ (self);
}

static void
_current_inspector_tab_changed_main_window_canvas_changed (MainWindow* _sender,
                                                           MindMap* map,
                                                           gpointer self)
{
	current_inspector_tab_changed ((CurrentInspector*) self, map);
}

static void
__lambda141_ (Block11Data* _data11_)
{
	CurrentInspector* self;
	self = _data11_->self;
	g_signal_emit_by_name (_data11_->node_box, "editable-changed");
	g_signal_emit_by_name (_data11_->conn_box, "editable-changed");
	g_signal_emit_by_name (_data11_->group_box, "editable-changed");
}

static void
___lambda141__current_inspector_editable_changed (CurrentInspector* _sender,
                                                  gpointer self)
{
	__lambda141_ (self);
}

CurrentInspector*
current_inspector_construct (GType object_type,
                             MainWindow* win)
{
	CurrentInspector * self = NULL;
	Block11Data* _data11_;
	GtkStack* _tmp0_ = NULL;
	NodeInspector* _tmp1_;
	ConnectionInspector* _tmp2_;
	GroupInspector* _tmp3_;
	EmptyInspector* empty_box = NULL;
	EmptyInspector* _tmp4_;
	GtkStack* _tmp5_;
	GtkStack* _tmp6_;
	GtkStack* _tmp7_;
	GtkStack* _tmp8_;
	GtkStack* _tmp9_;
	g_return_val_if_fail (win != NULL, NULL);
	_data11_ = g_slice_new0 (Block11Data);
	_data11_->_ref_count_ = 1;
	self = (CurrentInspector*) g_object_new (object_type, "orientation", GTK_ORIENTATION_VERTICAL, "spacing", 10, "valign", GTK_ALIGN_FILL, NULL);
	_data11_->self = g_object_ref (self);
	_tmp0_ = (GtkStack*) gtk_stack_new ();
	gtk_widget_set_vexpand ((GtkWidget*) _tmp0_, TRUE);
	gtk_stack_set_transition_duration (_tmp0_, (guint) 500);
	gtk_stack_set_transition_type (_tmp0_, GTK_STACK_TRANSITION_TYPE_NONE);
	g_object_ref_sink (_tmp0_);
	_g_object_unref0 (self->priv->_stack);
	self->priv->_stack = _tmp0_;
	_tmp1_ = node_inspector_new (win);
	g_object_ref_sink (_tmp1_);
	_data11_->node_box = _tmp1_;
	_tmp2_ = connection_inspector_new (win);
	g_object_ref_sink (_tmp2_);
	_data11_->conn_box = _tmp2_;
	_tmp3_ = group_inspector_new (win);
	g_object_ref_sink (_tmp3_);
	_data11_->group_box = _tmp3_;
	_tmp4_ = empty_inspector_new (win);
	g_object_ref_sink (_tmp4_);
	empty_box = _tmp4_;
	g_signal_connect_data (self, "update-icons", (GCallback) ___lambda140__current_inspector_update_icons, block11_data_ref (_data11_), (GClosureNotify) block11_data_unref, 0);
	_tmp5_ = self->priv->_stack;
	gtk_stack_add_named (_tmp5_, (GtkWidget*) _data11_->node_box, "node");
	_tmp6_ = self->priv->_stack;
	gtk_stack_add_named (_tmp6_, (GtkWidget*) _data11_->conn_box, "connection");
	_tmp7_ = self->priv->_stack;
	gtk_stack_add_named (_tmp7_, (GtkWidget*) _data11_->group_box, "group");
	_tmp8_ = self->priv->_stack;
	gtk_stack_add_named (_tmp8_, (GtkWidget*) empty_box, "empty");
	g_signal_connect_object (win, "canvas-changed", (GCallback) _current_inspector_tab_changed_main_window_canvas_changed, self, 0);
	g_signal_connect_data (self, "editable-changed", (GCallback) ___lambda141__current_inspector_editable_changed, block11_data_ref (_data11_), (GClosureNotify) block11_data_unref, 0);
	_tmp9_ = self->priv->_stack;
	gtk_box_append ((GtkBox*) self, (GtkWidget*) _tmp9_);
	_g_object_unref0 (empty_box);
	block11_data_unref (_data11_);
	_data11_ = NULL;
	return self;
}

CurrentInspector*
current_inspector_new (MainWindow* win)
{
	return current_inspector_construct (TYPE_CURRENT_INSPECTOR, win);
}

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

void
current_inspector_set_width (CurrentInspector* self,
                             gint width)
{
	NodeInspector* ni = NULL;
	GtkStack* _tmp0_;
	GtkWidget* _tmp1_;
	NodeInspector* _tmp2_;
	ConnectionInspector* ci = NULL;
	GtkStack* _tmp3_;
	GtkWidget* _tmp4_;
	ConnectionInspector* _tmp5_;
	GroupInspector* gi = NULL;
	GtkStack* _tmp6_;
	GtkWidget* _tmp7_;
	GroupInspector* _tmp8_;
	NodeInspector* _tmp9_;
	ConnectionInspector* _tmp11_;
	GroupInspector* _tmp13_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_stack;
	_tmp1_ = gtk_stack_get_child_by_name (_tmp0_, "node");
	_tmp2_ = _g_object_ref0 (IS_NODE_INSPECTOR (_tmp1_) ? ((NodeInspector*) _tmp1_) : NULL);
	ni = _tmp2_;
	_tmp3_ = self->priv->_stack;
	_tmp4_ = gtk_stack_get_child_by_name (_tmp3_, "connection");
	_tmp5_ = _g_object_ref0 (IS_CONNECTION_INSPECTOR (_tmp4_) ? ((ConnectionInspector*) _tmp4_) : NULL);
	ci = _tmp5_;
	_tmp6_ = self->priv->_stack;
	_tmp7_ = gtk_stack_get_child_by_name (_tmp6_, "group");
	_tmp8_ = _g_object_ref0 (IS_GROUP_INSPECTOR (_tmp7_) ? ((GroupInspector*) _tmp7_) : NULL);
	gi = _tmp8_;
	_tmp9_ = ni;
	if (_tmp9_ != NULL) {
		NodeInspector* _tmp10_;
		_tmp10_ = ni;
		node_inspector_set_width (_tmp10_, width);
	}
	_tmp11_ = ci;
	if (_tmp11_ != NULL) {
		ConnectionInspector* _tmp12_;
		_tmp12_ = ci;
		connection_inspector_set_width (_tmp12_, width);
	}
	_tmp13_ = gi;
	if (_tmp13_ != NULL) {
		GroupInspector* _tmp14_;
		_tmp14_ = gi;
		group_inspector_set_width (_tmp14_, width);
	}
	_g_object_unref0 (gi);
	_g_object_unref0 (ci);
	_g_object_unref0 (ni);
}

void
current_inspector_set_transition_duration (CurrentInspector* self,
                                           gint duration)
{
	GtkStack* _tmp0_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_stack;
	gtk_stack_set_transition_duration (_tmp0_, (guint) duration);
}

void
current_inspector_reset_width (CurrentInspector* self)
{
	g_return_if_fail (self != NULL);
	current_inspector_set_width (self, 300);
}

static void
_current_inspector_current_changed_mind_map_current_changed (MindMap* _sender,
                                                             MindMap* map,
                                                             gpointer self)
{
	current_inspector_current_changed ((CurrentInspector*) self);
}

static gpointer
_mind_map_ref0 (gpointer self)
{
	return self ? mind_map_ref (self) : NULL;
}

static void
current_inspector_tab_changed (CurrentInspector* self,
                               MindMap* map)
{
	MindMap* _tmp0_;
	MindMap* _tmp3_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_map;
	if (_tmp0_ != NULL) {
		MindMap* _tmp1_;
		guint _tmp2_;
		_tmp1_ = self->priv->_map;
		g_signal_parse_name ("current-changed", TYPE_MIND_MAP, &_tmp2_, NULL, FALSE);
		g_signal_handlers_disconnect_matched (_tmp1_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _current_inspector_current_changed_mind_map_current_changed, self);
	}
	_tmp3_ = _mind_map_ref0 (map);
	_mind_map_unref0 (self->priv->_map);
	self->priv->_map = _tmp3_;
	if (map != NULL) {
		g_signal_connect_object (map, "current-changed", (GCallback) _current_inspector_current_changed_mind_map_current_changed, self, 0);
		current_inspector_current_changed (self);
	}
}

static void
current_inspector_current_changed (CurrentInspector* self)
{
	MindMap* _tmp0_;
	Node* _tmp1_;
	Node* _tmp2_;
	gboolean _tmp3_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_map;
	_tmp1_ = mind_map_get_current_node (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = _tmp2_ != NULL;
	_g_object_unref0 (_tmp2_);
	if (_tmp3_) {
		GtkStack* _tmp4_;
		const gchar* _tmp5_;
		const gchar* _tmp6_;
		_tmp4_ = self->priv->_stack;
		_tmp5_ = gtk_stack_get_visible_child_name (_tmp4_);
		_tmp6_ = _tmp5_;
		if (g_strcmp0 (_tmp6_, "node") != 0) {
			GtkStackTransitionType _tmp7_ = 0;
			GtkStack* _tmp8_;
			const gchar* _tmp9_;
			const gchar* _tmp10_;
			GtkStack* _tmp11_;
			GtkStack* _tmp12_;
			_tmp8_ = self->priv->_stack;
			_tmp9_ = gtk_stack_get_visible_child_name (_tmp8_);
			_tmp10_ = _tmp9_;
			if (g_strcmp0 (_tmp10_, "empty") == 0) {
				_tmp7_ = GTK_STACK_TRANSITION_TYPE_SLIDE_UP;
			} else {
				_tmp7_ = GTK_STACK_TRANSITION_TYPE_NONE;
			}
			_tmp11_ = self->priv->_stack;
			gtk_stack_set_transition_type (_tmp11_, _tmp7_);
			_tmp12_ = self->priv->_stack;
			gtk_stack_set_visible_child_name (_tmp12_, "node");
		}
	} else {
		MindMap* _tmp13_;
		Connection* _tmp14_;
		Connection* _tmp15_;
		gboolean _tmp16_;
		_tmp13_ = self->priv->_map;
		_tmp14_ = mind_map_get_current_connection (_tmp13_);
		_tmp15_ = _tmp14_;
		_tmp16_ = _tmp15_ != NULL;
		_g_object_unref0 (_tmp15_);
		if (_tmp16_) {
			GtkStack* _tmp17_;
			const gchar* _tmp18_;
			const gchar* _tmp19_;
			_tmp17_ = self->priv->_stack;
			_tmp18_ = gtk_stack_get_visible_child_name (_tmp17_);
			_tmp19_ = _tmp18_;
			if (g_strcmp0 (_tmp19_, "connection") != 0) {
				GtkStackTransitionType _tmp20_ = 0;
				GtkStack* _tmp21_;
				const gchar* _tmp22_;
				const gchar* _tmp23_;
				GtkStack* _tmp24_;
				GtkStack* _tmp25_;
				_tmp21_ = self->priv->_stack;
				_tmp22_ = gtk_stack_get_visible_child_name (_tmp21_);
				_tmp23_ = _tmp22_;
				if (g_strcmp0 (_tmp23_, "empty") == 0) {
					_tmp20_ = GTK_STACK_TRANSITION_TYPE_SLIDE_UP;
				} else {
					_tmp20_ = GTK_STACK_TRANSITION_TYPE_NONE;
				}
				_tmp24_ = self->priv->_stack;
				gtk_stack_set_transition_type (_tmp24_, _tmp20_);
				_tmp25_ = self->priv->_stack;
				gtk_stack_set_visible_child_name (_tmp25_, "connection");
			}
		} else {
			MindMap* _tmp26_;
			NodeGroup* _tmp27_;
			NodeGroup* _tmp28_;
			gboolean _tmp29_;
			_tmp26_ = self->priv->_map;
			_tmp27_ = mind_map_get_current_group (_tmp26_);
			_tmp28_ = _tmp27_;
			_tmp29_ = _tmp28_ != NULL;
			_g_object_unref0 (_tmp28_);
			if (_tmp29_) {
				GtkStack* _tmp30_;
				const gchar* _tmp31_;
				const gchar* _tmp32_;
				_tmp30_ = self->priv->_stack;
				_tmp31_ = gtk_stack_get_visible_child_name (_tmp30_);
				_tmp32_ = _tmp31_;
				if (g_strcmp0 (_tmp32_, "group") != 0) {
					GtkStackTransitionType _tmp33_ = 0;
					GtkStack* _tmp34_;
					const gchar* _tmp35_;
					const gchar* _tmp36_;
					GtkStack* _tmp37_;
					GtkStack* _tmp38_;
					_tmp34_ = self->priv->_stack;
					_tmp35_ = gtk_stack_get_visible_child_name (_tmp34_);
					_tmp36_ = _tmp35_;
					if (g_strcmp0 (_tmp36_, "empty") == 0) {
						_tmp33_ = GTK_STACK_TRANSITION_TYPE_SLIDE_UP;
					} else {
						_tmp33_ = GTK_STACK_TRANSITION_TYPE_NONE;
					}
					_tmp37_ = self->priv->_stack;
					gtk_stack_set_transition_type (_tmp37_, _tmp33_);
					_tmp38_ = self->priv->_stack;
					gtk_stack_set_visible_child_name (_tmp38_, "group");
				}
			} else {
				GtkStack* _tmp39_;
				GtkStack* _tmp40_;
				_tmp39_ = self->priv->_stack;
				gtk_stack_set_transition_type (_tmp39_, GTK_STACK_TRANSITION_TYPE_SLIDE_DOWN);
				_tmp40_ = self->priv->_stack;
				gtk_stack_set_visible_child_name (_tmp40_, "empty");
			}
		}
	}
}

void
current_inspector_grab_note (CurrentInspector* self)
{
	MindMap* _tmp0_;
	Node* _tmp1_;
	Node* _tmp2_;
	gboolean _tmp3_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_map;
	_tmp1_ = mind_map_get_current_node (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = _tmp2_ != NULL;
	_g_object_unref0 (_tmp2_);
	if (_tmp3_) {
		NodeInspector* ni = NULL;
		GtkStack* _tmp4_;
		GtkWidget* _tmp5_;
		NodeInspector* _tmp6_;
		NodeInspector* _tmp7_;
		_tmp4_ = self->priv->_stack;
		_tmp5_ = gtk_stack_get_child_by_name (_tmp4_, "node");
		_tmp6_ = _g_object_ref0 (IS_NODE_INSPECTOR (_tmp5_) ? ((NodeInspector*) _tmp5_) : NULL);
		ni = _tmp6_;
		_tmp7_ = ni;
		if (_tmp7_ != NULL) {
			NodeInspector* _tmp8_;
			_tmp8_ = ni;
			node_inspector_grab_note (_tmp8_);
		}
		_g_object_unref0 (ni);
	} else {
		MindMap* _tmp9_;
		Connection* _tmp10_;
		Connection* _tmp11_;
		gboolean _tmp12_;
		_tmp9_ = self->priv->_map;
		_tmp10_ = mind_map_get_current_connection (_tmp9_);
		_tmp11_ = _tmp10_;
		_tmp12_ = _tmp11_ != NULL;
		_g_object_unref0 (_tmp11_);
		if (_tmp12_) {
			ConnectionInspector* ci = NULL;
			GtkStack* _tmp13_;
			GtkWidget* _tmp14_;
			ConnectionInspector* _tmp15_;
			ConnectionInspector* _tmp16_;
			_tmp13_ = self->priv->_stack;
			_tmp14_ = gtk_stack_get_child_by_name (_tmp13_, "connection");
			_tmp15_ = _g_object_ref0 (IS_CONNECTION_INSPECTOR (_tmp14_) ? ((ConnectionInspector*) _tmp14_) : NULL);
			ci = _tmp15_;
			_tmp16_ = ci;
			if (_tmp16_ != NULL) {
				ConnectionInspector* _tmp17_;
				_tmp17_ = ci;
				connection_inspector_grab_note (_tmp17_);
			}
			_g_object_unref0 (ci);
		} else {
			MindMap* _tmp18_;
			NodeGroup* _tmp19_;
			NodeGroup* _tmp20_;
			gboolean _tmp21_;
			_tmp18_ = self->priv->_map;
			_tmp19_ = mind_map_get_current_group (_tmp18_);
			_tmp20_ = _tmp19_;
			_tmp21_ = _tmp20_ != NULL;
			_g_object_unref0 (_tmp20_);
			if (_tmp21_) {
				GroupInspector* gi = NULL;
				GtkStack* _tmp22_;
				GtkWidget* _tmp23_;
				GroupInspector* _tmp24_;
				GroupInspector* _tmp25_;
				_tmp22_ = self->priv->_stack;
				_tmp23_ = gtk_stack_get_child_by_name (_tmp22_, "group");
				_tmp24_ = _g_object_ref0 (IS_GROUP_INSPECTOR (_tmp23_) ? ((GroupInspector*) _tmp23_) : NULL);
				gi = _tmp24_;
				_tmp25_ = gi;
				if (_tmp25_ != NULL) {
					GroupInspector* _tmp26_;
					_tmp26_ = gi;
					group_inspector_grab_note (_tmp26_);
				}
				_g_object_unref0 (gi);
			}
		}
	}
}

NoteView*
current_inspector_get_note (CurrentInspector* self)
{
	MindMap* _tmp0_;
	Node* _tmp1_;
	Node* _tmp2_;
	gboolean _tmp3_;
	NoteView* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_map;
	_tmp1_ = mind_map_get_current_node (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = _tmp2_ != NULL;
	_g_object_unref0 (_tmp2_);
	if (_tmp3_) {
		NodeInspector* ni = NULL;
		GtkStack* _tmp4_;
		GtkWidget* _tmp5_;
		NodeInspector* _tmp6_;
		NodeInspector* _tmp7_;
		_tmp4_ = self->priv->_stack;
		_tmp5_ = gtk_stack_get_child_by_name (_tmp4_, "node");
		_tmp6_ = _g_object_ref0 (IS_NODE_INSPECTOR (_tmp5_) ? ((NodeInspector*) _tmp5_) : NULL);
		ni = _tmp6_;
		_tmp7_ = ni;
		if (_tmp7_ != NULL) {
			NodeInspector* _tmp8_;
			NoteView* _tmp9_;
			NoteView* _tmp10_;
			NoteView* _tmp11_;
			_tmp8_ = ni;
			_tmp9_ = node_inspector_get_note (_tmp8_);
			_tmp10_ = _tmp9_;
			_tmp11_ = _g_object_ref0 (_tmp10_);
			result = _tmp11_;
			_g_object_unref0 (ni);
			return result;
		}
		_g_object_unref0 (ni);
	} else {
		MindMap* _tmp12_;
		Connection* _tmp13_;
		Connection* _tmp14_;
		gboolean _tmp15_;
		_tmp12_ = self->priv->_map;
		_tmp13_ = mind_map_get_current_connection (_tmp12_);
		_tmp14_ = _tmp13_;
		_tmp15_ = _tmp14_ != NULL;
		_g_object_unref0 (_tmp14_);
		if (_tmp15_) {
			ConnectionInspector* ci = NULL;
			GtkStack* _tmp16_;
			GtkWidget* _tmp17_;
			ConnectionInspector* _tmp18_;
			ConnectionInspector* _tmp19_;
			_tmp16_ = self->priv->_stack;
			_tmp17_ = gtk_stack_get_child_by_name (_tmp16_, "connection");
			_tmp18_ = _g_object_ref0 (IS_CONNECTION_INSPECTOR (_tmp17_) ? ((ConnectionInspector*) _tmp17_) : NULL);
			ci = _tmp18_;
			_tmp19_ = ci;
			if (_tmp19_ != NULL) {
				ConnectionInspector* _tmp20_;
				NoteView* _tmp21_;
				NoteView* _tmp22_;
				NoteView* _tmp23_;
				_tmp20_ = ci;
				_tmp21_ = connection_inspector_get_note (_tmp20_);
				_tmp22_ = _tmp21_;
				_tmp23_ = _g_object_ref0 (_tmp22_);
				result = _tmp23_;
				_g_object_unref0 (ci);
				return result;
			}
			_g_object_unref0 (ci);
		} else {
			MindMap* _tmp24_;
			NodeGroup* _tmp25_;
			NodeGroup* _tmp26_;
			gboolean _tmp27_;
			_tmp24_ = self->priv->_map;
			_tmp25_ = mind_map_get_current_group (_tmp24_);
			_tmp26_ = _tmp25_;
			_tmp27_ = _tmp26_ != NULL;
			_g_object_unref0 (_tmp26_);
			if (_tmp27_) {
				GroupInspector* gi = NULL;
				GtkStack* _tmp28_;
				GtkWidget* _tmp29_;
				GroupInspector* _tmp30_;
				GroupInspector* _tmp31_;
				_tmp28_ = self->priv->_stack;
				_tmp29_ = gtk_stack_get_child_by_name (_tmp28_, "group");
				_tmp30_ = _g_object_ref0 (IS_GROUP_INSPECTOR (_tmp29_) ? ((GroupInspector*) _tmp29_) : NULL);
				gi = _tmp30_;
				_tmp31_ = gi;
				if (_tmp31_ != NULL) {
					GroupInspector* _tmp32_;
					NoteView* _tmp33_;
					NoteView* _tmp34_;
					NoteView* _tmp35_;
					_tmp32_ = gi;
					_tmp33_ = group_inspector_get_note (_tmp32_);
					_tmp34_ = _tmp33_;
					_tmp35_ = _g_object_ref0 (_tmp34_);
					result = _tmp35_;
					_g_object_unref0 (gi);
					return result;
				}
				_g_object_unref0 (gi);
			}
		}
	}
	result = NULL;
	return result;
}

void
current_inspector_grab_first (CurrentInspector* self)
{
	GtkStack* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	GQuark _tmp5_ = 0U;
	static GQuark _tmp4_label0 = 0;
	static GQuark _tmp4_label1 = 0;
	static GQuark _tmp4_label2 = 0;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_stack;
	_tmp1_ = gtk_stack_get_visible_child_name (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = _tmp2_;
	_tmp5_ = (NULL == _tmp3_) ? 0 : g_quark_from_string (_tmp3_);
	if (_tmp5_ == ((0 != _tmp4_label0) ? _tmp4_label0 : (_tmp4_label0 = g_quark_from_static_string ("node")))) {
		switch (0) {
			default:
			{
				GtkStack* _tmp6_;
				GtkWidget* _tmp7_;
				_tmp6_ = self->priv->_stack;
				_tmp7_ = gtk_stack_get_child_by_name (_tmp6_, "node");
				node_inspector_grab_first (IS_NODE_INSPECTOR (_tmp7_) ? ((NodeInspector*) _tmp7_) : NULL);
				break;
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label1) ? _tmp4_label1 : (_tmp4_label1 = g_quark_from_static_string ("connection")))) {
		switch (0) {
			default:
			{
				GtkStack* _tmp8_;
				GtkWidget* _tmp9_;
				_tmp8_ = self->priv->_stack;
				_tmp9_ = gtk_stack_get_child_by_name (_tmp8_, "connection");
				connection_inspector_grab_first (IS_CONNECTION_INSPECTOR (_tmp9_) ? ((ConnectionInspector*) _tmp9_) : NULL);
				break;
			}
		}
	} else if (_tmp5_ == ((0 != _tmp4_label2) ? _tmp4_label2 : (_tmp4_label2 = g_quark_from_static_string ("group")))) {
		switch (0) {
			default:
			{
				GtkStack* _tmp10_;
				GtkWidget* _tmp11_;
				_tmp10_ = self->priv->_stack;
				_tmp11_ = gtk_stack_get_child_by_name (_tmp10_, "group");
				group_inspector_grab_first (IS_GROUP_INSPECTOR (_tmp11_) ? ((GroupInspector*) _tmp11_) : NULL);
				break;
			}
		}
	}
}

static void
current_inspector_class_init (CurrentInspectorClass * klass,
                              gpointer klass_data)
{
	current_inspector_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &CurrentInspector_private_offset);
	G_OBJECT_CLASS (klass)->finalize = current_inspector_finalize;
	current_inspector_signals[CURRENT_INSPECTOR_UPDATE_ICONS_SIGNAL] = g_signal_new ("update-icons", TYPE_CURRENT_INSPECTOR, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
	current_inspector_signals[CURRENT_INSPECTOR_EDITABLE_CHANGED_SIGNAL] = g_signal_new ("editable-changed", TYPE_CURRENT_INSPECTOR, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
}

static void
current_inspector_instance_init (CurrentInspector * self,
                                 gpointer klass)
{
	self->priv = current_inspector_get_instance_private (self);
	self->priv->_map = NULL;
}

static void
current_inspector_finalize (GObject * obj)
{
	CurrentInspector * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_CURRENT_INSPECTOR, CurrentInspector);
	_mind_map_unref0 (self->priv->_map);
	_g_object_unref0 (self->priv->_stack);
	G_OBJECT_CLASS (current_inspector_parent_class)->finalize (obj);
}

static GType
current_inspector_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (CurrentInspectorClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) current_inspector_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (CurrentInspector), 0, (GInstanceInitFunc) current_inspector_instance_init, NULL };
	GType current_inspector_type_id;
	current_inspector_type_id = g_type_register_static (gtk_box_get_type (), "CurrentInspector", &g_define_type_info, 0);
	CurrentInspector_private_offset = g_type_add_instance_private (current_inspector_type_id, sizeof (CurrentInspectorPrivate));
	return current_inspector_type_id;
}

GType
current_inspector_get_type (void)
{
	static volatile gsize current_inspector_type_id__once = 0;
	if (g_once_init_enter (&current_inspector_type_id__once)) {
		GType current_inspector_type_id;
		current_inspector_type_id = current_inspector_get_type_once ();
		g_once_init_leave (&current_inspector_type_id__once, current_inspector_type_id);
	}
	return current_inspector_type_id__once;
}

