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

/*
 * Copyright (C) 2010 Michal Hruby <michal.mhr@gmail.com>
 * Copyright (C) 2010 Alberto Aldegheri <albyrock87+dev@gmail.com>
 *
 * 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 3 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, see <http://www.gnu.org/licenses/>.
 *
 * Authored by Alberto Aldegheri <albyrock87+dev@gmail.com>
 *
 */

#include <gtk/gtk.h>
#include <glib-object.h>
#include <glib.h>
#include <synapse-core.h>
#include <gee.h>
#include <gdk/gdk.h>
#include <cairo-gobject.h>
#include <stdlib.h>
#include <string.h>
#include <float.h>
#include <math.h>
#include <glib/gi18n-lib.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 SYNAPSE_GUI_TYPE_IVIEW (synapse_gui_iview_get_type ())
#define SYNAPSE_GUI_IVIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_IVIEW, SynapseGuiIView))
#define SYNAPSE_GUI_IS_IVIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_IVIEW))
#define SYNAPSE_GUI_IVIEW_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SYNAPSE_GUI_TYPE_IVIEW, SynapseGuiIViewIface))

typedef struct _SynapseGuiIView SynapseGuiIView;
typedef struct _SynapseGuiIViewIface SynapseGuiIViewIface;

#define SYNAPSE_GUI_TYPE_ENTRY (synapse_gui_entry_get_type ())
#define SYNAPSE_GUI_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_ENTRY, SynapseGuiEntry))
#define SYNAPSE_GUI_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_ENTRY, SynapseGuiEntryClass))
#define SYNAPSE_GUI_IS_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_ENTRY))
#define SYNAPSE_GUI_IS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_ENTRY))
#define SYNAPSE_GUI_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_ENTRY, SynapseGuiEntryClass))

typedef struct _SynapseGuiEntry SynapseGuiEntry;
typedef struct _SynapseGuiEntryClass SynapseGuiEntryClass;

#define SYNAPSE_GUI_TYPE_MODEL (synapse_gui_model_get_type ())
#define SYNAPSE_GUI_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_MODEL, SynapseGuiModel))
#define SYNAPSE_GUI_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_MODEL, SynapseGuiModelClass))
#define SYNAPSE_GUI_IS_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_MODEL))
#define SYNAPSE_GUI_IS_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_MODEL))
#define SYNAPSE_GUI_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_MODEL, SynapseGuiModelClass))

typedef struct _SynapseGuiModel SynapseGuiModel;
typedef struct _SynapseGuiModelClass SynapseGuiModelClass;

#define SYNAPSE_GUI_TYPE_ICONTROLLER (synapse_gui_icontroller_get_type ())
#define SYNAPSE_GUI_ICONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_ICONTROLLER, SynapseGuiIController))
#define SYNAPSE_GUI_IS_ICONTROLLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_ICONTROLLER))
#define SYNAPSE_GUI_ICONTROLLER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), SYNAPSE_GUI_TYPE_ICONTROLLER, SynapseGuiIControllerIface))

typedef struct _SynapseGuiIController SynapseGuiIController;
typedef struct _SynapseGuiIControllerIface SynapseGuiIControllerIface;

#define SYNAPSE_GUI_TYPE_KEY_COMBO_CONFIG (synapse_gui_key_combo_config_get_type ())
#define SYNAPSE_GUI_KEY_COMBO_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_KEY_COMBO_CONFIG, SynapseGuiKeyComboConfig))
#define SYNAPSE_GUI_KEY_COMBO_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_KEY_COMBO_CONFIG, SynapseGuiKeyComboConfigClass))
#define SYNAPSE_GUI_IS_KEY_COMBO_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_KEY_COMBO_CONFIG))
#define SYNAPSE_GUI_IS_KEY_COMBO_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_KEY_COMBO_CONFIG))
#define SYNAPSE_GUI_KEY_COMBO_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_KEY_COMBO_CONFIG, SynapseGuiKeyComboConfigClass))

typedef struct _SynapseGuiKeyComboConfig SynapseGuiKeyComboConfig;
typedef struct _SynapseGuiKeyComboConfigClass SynapseGuiKeyComboConfigClass;

#define SYNAPSE_GUI_TYPE_CATEGORY_CONFIG (synapse_gui_category_config_get_type ())
#define SYNAPSE_GUI_CATEGORY_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_CATEGORY_CONFIG, SynapseGuiCategoryConfig))
#define SYNAPSE_GUI_CATEGORY_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_CATEGORY_CONFIG, SynapseGuiCategoryConfigClass))
#define SYNAPSE_GUI_IS_CATEGORY_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_CATEGORY_CONFIG))
#define SYNAPSE_GUI_IS_CATEGORY_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_CATEGORY_CONFIG))
#define SYNAPSE_GUI_CATEGORY_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_CATEGORY_CONFIG, SynapseGuiCategoryConfigClass))

typedef struct _SynapseGuiCategoryConfig SynapseGuiCategoryConfig;
typedef struct _SynapseGuiCategoryConfigClass SynapseGuiCategoryConfigClass;

#define SYNAPSE_GUI_TYPE_VIEW (synapse_gui_view_get_type ())
#define SYNAPSE_GUI_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_VIEW, SynapseGuiView))
#define SYNAPSE_GUI_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_VIEW, SynapseGuiViewClass))
#define SYNAPSE_GUI_IS_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_VIEW))
#define SYNAPSE_GUI_IS_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_VIEW))
#define SYNAPSE_GUI_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_VIEW, SynapseGuiViewClass))

typedef struct _SynapseGuiView SynapseGuiView;
typedef struct _SynapseGuiViewClass SynapseGuiViewClass;
typedef struct _SynapseGuiViewPrivate SynapseGuiViewPrivate;

#define SYNAPSE_GUI_UTILS_TYPE_COLOR_HELPER (synapse_gui_utils_color_helper_get_type ())
#define SYNAPSE_GUI_UTILS_COLOR_HELPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_UTILS_TYPE_COLOR_HELPER, SynapseGuiUtilsColorHelper))
#define SYNAPSE_GUI_UTILS_COLOR_HELPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_UTILS_TYPE_COLOR_HELPER, SynapseGuiUtilsColorHelperClass))
#define SYNAPSE_GUI_UTILS_IS_COLOR_HELPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_UTILS_TYPE_COLOR_HELPER))
#define SYNAPSE_GUI_UTILS_IS_COLOR_HELPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_UTILS_TYPE_COLOR_HELPER))
#define SYNAPSE_GUI_UTILS_COLOR_HELPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_UTILS_TYPE_COLOR_HELPER, SynapseGuiUtilsColorHelperClass))

typedef struct _SynapseGuiUtilsColorHelper SynapseGuiUtilsColorHelper;
typedef struct _SynapseGuiUtilsColorHelperClass SynapseGuiUtilsColorHelperClass;

#define SYNAPSE_GUI_TYPE_HTEXT_SELECTOR (synapse_gui_htext_selector_get_type ())
#define SYNAPSE_GUI_HTEXT_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_HTEXT_SELECTOR, SynapseGuiHTextSelector))
#define SYNAPSE_GUI_HTEXT_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_HTEXT_SELECTOR, SynapseGuiHTextSelectorClass))
#define SYNAPSE_GUI_IS_HTEXT_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_HTEXT_SELECTOR))
#define SYNAPSE_GUI_IS_HTEXT_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_HTEXT_SELECTOR))
#define SYNAPSE_GUI_HTEXT_SELECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_HTEXT_SELECTOR, SynapseGuiHTextSelectorClass))

typedef struct _SynapseGuiHTextSelector SynapseGuiHTextSelector;
typedef struct _SynapseGuiHTextSelectorClass SynapseGuiHTextSelectorClass;

#define SYNAPSE_GUI_TYPE_FAKE_BUTTON (synapse_gui_fake_button_get_type ())
#define SYNAPSE_GUI_FAKE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_FAKE_BUTTON, SynapseGuiFakeButton))
#define SYNAPSE_GUI_FAKE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_FAKE_BUTTON, SynapseGuiFakeButtonClass))
#define SYNAPSE_GUI_IS_FAKE_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_FAKE_BUTTON))
#define SYNAPSE_GUI_IS_FAKE_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_FAKE_BUTTON))
#define SYNAPSE_GUI_FAKE_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_FAKE_BUTTON, SynapseGuiFakeButtonClass))

typedef struct _SynapseGuiFakeButton SynapseGuiFakeButton;
typedef struct _SynapseGuiFakeButtonClass SynapseGuiFakeButtonClass;

#define SYNAPSE_GUI_TYPE_MENU_BUTTON (synapse_gui_menu_button_get_type ())
#define SYNAPSE_GUI_MENU_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_MENU_BUTTON, SynapseGuiMenuButton))
#define SYNAPSE_GUI_MENU_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_MENU_BUTTON, SynapseGuiMenuButtonClass))
#define SYNAPSE_GUI_IS_MENU_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_MENU_BUTTON))
#define SYNAPSE_GUI_IS_MENU_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_MENU_BUTTON))
#define SYNAPSE_GUI_MENU_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_MENU_BUTTON, SynapseGuiMenuButtonClass))

typedef struct _SynapseGuiMenuButton SynapseGuiMenuButton;
typedef struct _SynapseGuiMenuButtonClass SynapseGuiMenuButtonClass;

#define SYNAPSE_GUI_TYPE_VIEW_VIRGILIO (synapse_gui_view_virgilio_get_type ())
#define SYNAPSE_GUI_VIEW_VIRGILIO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_VIEW_VIRGILIO, SynapseGuiViewVirgilio))
#define SYNAPSE_GUI_VIEW_VIRGILIO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_VIEW_VIRGILIO, SynapseGuiViewVirgilioClass))
#define SYNAPSE_GUI_IS_VIEW_VIRGILIO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_VIEW_VIRGILIO))
#define SYNAPSE_GUI_IS_VIEW_VIRGILIO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_VIEW_VIRGILIO))
#define SYNAPSE_GUI_VIEW_VIRGILIO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_VIEW_VIRGILIO, SynapseGuiViewVirgilioClass))

typedef struct _SynapseGuiViewVirgilio SynapseGuiViewVirgilio;
typedef struct _SynapseGuiViewVirgilioClass SynapseGuiViewVirgilioClass;
typedef struct _SynapseGuiViewVirgilioPrivate SynapseGuiViewVirgilioPrivate;

#define SYNAPSE_GUI_TYPE_SMART_LABEL (synapse_gui_smart_label_get_type ())
#define SYNAPSE_GUI_SMART_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_SMART_LABEL, SynapseGuiSmartLabel))
#define SYNAPSE_GUI_SMART_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_SMART_LABEL, SynapseGuiSmartLabelClass))
#define SYNAPSE_GUI_IS_SMART_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_SMART_LABEL))
#define SYNAPSE_GUI_IS_SMART_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_SMART_LABEL))
#define SYNAPSE_GUI_SMART_LABEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_SMART_LABEL, SynapseGuiSmartLabelClass))

typedef struct _SynapseGuiSmartLabel SynapseGuiSmartLabel;
typedef struct _SynapseGuiSmartLabelClass SynapseGuiSmartLabelClass;

#define SYNAPSE_GUI_TYPE_MATCH_LIST_VIEW (synapse_gui_match_list_view_get_type ())
#define SYNAPSE_GUI_MATCH_LIST_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_MATCH_LIST_VIEW, SynapseGuiMatchListView))
#define SYNAPSE_GUI_MATCH_LIST_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_MATCH_LIST_VIEW, SynapseGuiMatchListViewClass))
#define SYNAPSE_GUI_IS_MATCH_LIST_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_MATCH_LIST_VIEW))
#define SYNAPSE_GUI_IS_MATCH_LIST_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_MATCH_LIST_VIEW))
#define SYNAPSE_GUI_MATCH_LIST_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_MATCH_LIST_VIEW, SynapseGuiMatchListViewClass))

typedef struct _SynapseGuiMatchListView SynapseGuiMatchListView;
typedef struct _SynapseGuiMatchListViewClass SynapseGuiMatchListViewClass;

#define SYNAPSE_GUI_TYPE_SPECIFIC_MATCH_LIST (synapse_gui_specific_match_list_get_type ())
#define SYNAPSE_GUI_SPECIFIC_MATCH_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_SPECIFIC_MATCH_LIST, SynapseGuiSpecificMatchList))
#define SYNAPSE_GUI_SPECIFIC_MATCH_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_SPECIFIC_MATCH_LIST, SynapseGuiSpecificMatchListClass))
#define SYNAPSE_GUI_IS_SPECIFIC_MATCH_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_SPECIFIC_MATCH_LIST))
#define SYNAPSE_GUI_IS_SPECIFIC_MATCH_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_SPECIFIC_MATCH_LIST))
#define SYNAPSE_GUI_SPECIFIC_MATCH_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_SPECIFIC_MATCH_LIST, SynapseGuiSpecificMatchListClass))

typedef struct _SynapseGuiSpecificMatchList SynapseGuiSpecificMatchList;
typedef struct _SynapseGuiSpecificMatchListClass SynapseGuiSpecificMatchListClass;

#define SYNAPSE_GUI_TYPE_MENU_THROBBER (synapse_gui_menu_throbber_get_type ())
#define SYNAPSE_GUI_MENU_THROBBER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_MENU_THROBBER, SynapseGuiMenuThrobber))
#define SYNAPSE_GUI_MENU_THROBBER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_MENU_THROBBER, SynapseGuiMenuThrobberClass))
#define SYNAPSE_GUI_IS_MENU_THROBBER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_MENU_THROBBER))
#define SYNAPSE_GUI_IS_MENU_THROBBER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_MENU_THROBBER))
#define SYNAPSE_GUI_MENU_THROBBER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_MENU_THROBBER, SynapseGuiMenuThrobberClass))

typedef struct _SynapseGuiMenuThrobber SynapseGuiMenuThrobber;
typedef struct _SynapseGuiMenuThrobberClass SynapseGuiMenuThrobberClass;
enum  {
	SYNAPSE_GUI_VIEW_VIRGILIO_0_PROPERTY,
	SYNAPSE_GUI_VIEW_VIRGILIO_NUM_PROPERTIES
};
static GParamSpec* synapse_gui_view_virgilio_properties[SYNAPSE_GUI_VIEW_VIRGILIO_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))

#define SYNAPSE_GUI_MATCH_LIST_VIEW_TYPE_MATCH_VIEW_RENDERER_BASE (synapse_gui_match_list_view_match_view_renderer_base_get_type ())
#define SYNAPSE_GUI_MATCH_LIST_VIEW_MATCH_VIEW_RENDERER_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_MATCH_LIST_VIEW_TYPE_MATCH_VIEW_RENDERER_BASE, SynapseGuiMatchListViewMatchViewRendererBase))
#define SYNAPSE_GUI_MATCH_LIST_VIEW_MATCH_VIEW_RENDERER_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_MATCH_LIST_VIEW_TYPE_MATCH_VIEW_RENDERER_BASE, SynapseGuiMatchListViewMatchViewRendererBaseClass))
#define SYNAPSE_GUI_MATCH_LIST_VIEW_IS_MATCH_VIEW_RENDERER_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_MATCH_LIST_VIEW_TYPE_MATCH_VIEW_RENDERER_BASE))
#define SYNAPSE_GUI_MATCH_LIST_VIEW_IS_MATCH_VIEW_RENDERER_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_MATCH_LIST_VIEW_TYPE_MATCH_VIEW_RENDERER_BASE))
#define SYNAPSE_GUI_MATCH_LIST_VIEW_MATCH_VIEW_RENDERER_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_MATCH_LIST_VIEW_TYPE_MATCH_VIEW_RENDERER_BASE, SynapseGuiMatchListViewMatchViewRendererBaseClass))

typedef struct _SynapseGuiMatchListViewMatchViewRendererBase SynapseGuiMatchListViewMatchViewRendererBase;
typedef struct _SynapseGuiMatchListViewMatchViewRendererBaseClass SynapseGuiMatchListViewMatchViewRendererBaseClass;

#define SYNAPSE_GUI_TYPE_MATCH_VIEW_RENDERER (synapse_gui_match_view_renderer_get_type ())
#define SYNAPSE_GUI_MATCH_VIEW_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SYNAPSE_GUI_TYPE_MATCH_VIEW_RENDERER, SynapseGuiMatchViewRenderer))
#define SYNAPSE_GUI_MATCH_VIEW_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SYNAPSE_GUI_TYPE_MATCH_VIEW_RENDERER, SynapseGuiMatchViewRendererClass))
#define SYNAPSE_GUI_IS_MATCH_VIEW_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SYNAPSE_GUI_TYPE_MATCH_VIEW_RENDERER))
#define SYNAPSE_GUI_IS_MATCH_VIEW_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SYNAPSE_GUI_TYPE_MATCH_VIEW_RENDERER))
#define SYNAPSE_GUI_MATCH_VIEW_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SYNAPSE_GUI_TYPE_MATCH_VIEW_RENDERER, SynapseGuiMatchViewRendererClass))

typedef struct _SynapseGuiMatchViewRenderer SynapseGuiMatchViewRenderer;
typedef struct _SynapseGuiMatchViewRendererClass SynapseGuiMatchViewRendererClass;
typedef enum  {
	SYNAPSE_GUI_SEARCHING_FOR_SOURCES,
	SYNAPSE_GUI_SEARCHING_FOR_ACTIONS,
	SYNAPSE_GUI_SEARCHING_FOR_TARGETS,
	SYNAPSE_GUI_SEARCHING_FOR_COUNT
} SynapseGuiSearchingFor;

#define SYNAPSE_GUI_TYPE_SEARCHING_FOR (synapse_gui_searching_for_get_type ())
typedef struct _SynapseGuiModelPrivate SynapseGuiModelPrivate;
#define _synapse_gui_entry_unref0(var) ((var == NULL) ? NULL : (var = (synapse_gui_entry_unref (var), NULL)))
typedef enum  {
	SYNAPSE_GUI_STYLE_TYPE_BG,
	SYNAPSE_GUI_STYLE_TYPE_FG,
	SYNAPSE_GUI_STYLE_TYPE_BASE,
	SYNAPSE_GUI_STYLE_TYPE_TEXT
} SynapseGuiStyleType;

#define SYNAPSE_GUI_TYPE_STYLE_TYPE (synapse_gui_style_type_get_type ())
typedef enum  {
	SYNAPSE_GUI_MOD_NORMAL,
	SYNAPSE_GUI_MOD_LIGHTER,
	SYNAPSE_GUI_MOD_LIGHTEST,
	SYNAPSE_GUI_MOD_DARKER,
	SYNAPSE_GUI_MOD_DARKEST,
	SYNAPSE_GUI_MOD_INVERTED
} SynapseGuiMod;

#define SYNAPSE_GUI_TYPE_MOD (synapse_gui_mod_get_type ())
#define _cairo_pattern_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_pattern_destroy (var), NULL)))
#define _g_param_spec_unref0(var) ((var == NULL) ? NULL : (var = (g_param_spec_unref (var), NULL)))

struct _SynapseGuiIControllerIface {
	GTypeInterface parent_iface;
	void (*key_press_event) (SynapseGuiIController* self, GdkEventKey* event);
	void (*category_changed_event) (SynapseGuiIController* self, gint category_index);
	void (*fire_focus_context_switch_event) (SynapseGuiIController* self);
	void (*fire_focus) (SynapseGuiIController* self);
	void (*selected_index_changed_event) (SynapseGuiIController* self, gint focus_index);
	void (*set_view) (SynapseGuiIController* self, GType view_type);
	void (*summon_or_vanish) (SynapseGuiIController* self);
	gboolean (*is_in_initial_state) (SynapseGuiIController* self);
	gboolean (*searched_for_recent) (SynapseGuiIController* self);
	SynapseDataSink* (*get_data_sink) (SynapseGuiIController* self);
	void (*set_data_sink) (SynapseGuiIController* self, SynapseDataSink* value);
	SynapseGuiKeyComboConfig* (*get_key_combo_config) (SynapseGuiIController* self);
	void (*set_key_combo_config) (SynapseGuiIController* self, SynapseGuiKeyComboConfig* value);
	SynapseGuiCategoryConfig* (*get_category_config) (SynapseGuiIController* self);
	void (*set_category_config) (SynapseGuiIController* self, SynapseGuiCategoryConfig* value);
};

struct _SynapseGuiIViewIface {
	GTypeInterface parent_iface;
	void (*summon) (SynapseGuiIView* self);
	void (*vanish) (SynapseGuiIView* self);
	void (*summon_or_vanish) (SynapseGuiIView* self);
	void (*update_focused_source) (SynapseGuiIView* self, SynapseGuiEntry* m);
	void (*update_focused_action) (SynapseGuiIView* self, SynapseGuiEntry* m);
	void (*update_focused_target) (SynapseGuiIView* self, SynapseGuiEntry* m);
	void (*update_sources) (SynapseGuiIView* self, GeeList* list);
	void (*update_actions) (SynapseGuiIView* self, GeeList* list);
	void (*update_targets) (SynapseGuiIView* self, GeeList* list);
	void (*update_selected_category) (SynapseGuiIView* self);
	void (*update_searching_for) (SynapseGuiIView* self);
	gboolean (*is_list_visible) (SynapseGuiIView* self);
	void (*set_list_visible) (SynapseGuiIView* self, gboolean visible);
	void (*set_throbber_visible) (SynapseGuiIView* self, gboolean visible);
	SynapseGuiModel* (*get_controller_model) (SynapseGuiIView* self);
	void (*set_controller_model) (SynapseGuiIView* self, SynapseGuiModel* value);
	SynapseGuiIController* (*get_controller) (SynapseGuiIView* self);
	void (*set_controller) (SynapseGuiIView* self, SynapseGuiIController* value);
};

struct _SynapseGuiView {
	GtkWindow parent_instance;
	SynapseGuiViewPrivate * priv;
	gboolean is_kwin;
	SynapseGuiUtilsColorHelper* ch;
	SynapseGuiHTextSelector* flag_selector;
	SynapseGuiMenuButton* menu;
	GtkLabel* spacer;
	gint BORDER_RADIUS;
	gint SHADOW_SIZE;
	GtkStateFlags bg_state;
	gboolean cache_enabled;
	GeeMap* bg_cache;
	SynapseGuiModel* model;
};

struct _SynapseGuiViewClass {
	GtkWindowClass parent_class;
	void (*build_ui) (SynapseGuiView* self);
	void (*paint_background) (SynapseGuiView* self, cairo_t* ctx);
	void (*summon) (SynapseGuiView* self);
	void (*vanish) (SynapseGuiView* self);
	void (*summon_or_vanish) (SynapseGuiView* self);
	void (*update_focused_source) (SynapseGuiView* self, SynapseGuiEntry* m);
	void (*update_focused_action) (SynapseGuiView* self, SynapseGuiEntry* m);
	void (*update_focused_target) (SynapseGuiView* self, SynapseGuiEntry* m);
	void (*update_sources) (SynapseGuiView* self, GeeList* list);
	void (*update_actions) (SynapseGuiView* self, GeeList* list);
	void (*update_targets) (SynapseGuiView* self, GeeList* list);
	void (*update_selected_category) (SynapseGuiView* self);
	void (*update_searching_for) (SynapseGuiView* self);
	gboolean (*is_list_visible) (SynapseGuiView* self);
	void (*set_list_visible) (SynapseGuiView* self, gboolean visible);
	void (*set_throbber_visible) (SynapseGuiView* self, gboolean visible);
};

struct _SynapseGuiViewVirgilio {
	SynapseGuiView parent_instance;
	SynapseGuiViewVirgilioPrivate * priv;
};

struct _SynapseGuiViewVirgilioClass {
	SynapseGuiViewClass parent_class;
};

struct _SynapseGuiViewVirgilioPrivate {
	GtkBox* container;
	GtkBox* action_box;
	GtkBox* target_box;
	SynapseGuiSmartLabel* status;
	SynapseGuiSmartLabel* search;
	SynapseGuiSpecificMatchList* results_sources;
	SynapseGuiSpecificMatchList* results_actions;
	SynapseGuiSpecificMatchList* results_targets;
	SynapseGuiMenuThrobber* menuthrobber;
};

struct _SynapseGuiModel {
	GObject parent_instance;
	SynapseGuiModelPrivate * priv;
	gchar** query;
	gint query_length1;
	GeeList** results;
	gint results_length1;
	SynapseGuiEntry** focus;
	gint focus_length1;
	gint selected_category;
	SynapseGuiSearchingFor searching_for;
};

struct _SynapseGuiModelClass {
	GObjectClass parent_class;
};

static gint SynapseGuiViewVirgilio_private_offset;
static gpointer synapse_gui_view_virgilio_parent_class = NULL;

VALA_EXTERN gpointer synapse_gui_entry_ref (gpointer instance);
VALA_EXTERN void synapse_gui_entry_unref (gpointer instance);
VALA_EXTERN GParamSpec* synapse_gui_param_spec_entry (const gchar* name,
                                          const gchar* nick,
                                          const gchar* blurb,
                                          GType object_type,
                                          GParamFlags flags);
VALA_EXTERN void synapse_gui_value_set_entry (GValue* value,
                                  gpointer v_object);
VALA_EXTERN void synapse_gui_value_take_entry (GValue* value,
                                   gpointer v_object);
VALA_EXTERN gpointer synapse_gui_value_get_entry (const GValue* value);
VALA_EXTERN GType synapse_gui_entry_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiEntry, synapse_gui_entry_unref)
VALA_EXTERN GType synapse_gui_model_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiModel, g_object_unref)
VALA_EXTERN GType synapse_gui_key_combo_config_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiKeyComboConfig, g_object_unref)
VALA_EXTERN GType synapse_gui_category_config_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiCategoryConfig, g_object_unref)
VALA_EXTERN GType synapse_gui_icontroller_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiIController, g_object_unref)
VALA_EXTERN GType synapse_gui_iview_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiIView, g_object_unref)
VALA_EXTERN GType synapse_gui_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiView, g_object_unref)
VALA_EXTERN gpointer synapse_gui_utils_color_helper_ref (gpointer instance);
VALA_EXTERN void synapse_gui_utils_color_helper_unref (gpointer instance);
VALA_EXTERN GParamSpec* synapse_gui_utils_param_spec_color_helper (const gchar* name,
                                                       const gchar* nick,
                                                       const gchar* blurb,
                                                       GType object_type,
                                                       GParamFlags flags);
VALA_EXTERN void synapse_gui_utils_value_set_color_helper (GValue* value,
                                               gpointer v_object);
VALA_EXTERN void synapse_gui_utils_value_take_color_helper (GValue* value,
                                                gpointer v_object);
VALA_EXTERN gpointer synapse_gui_utils_value_get_color_helper (const GValue* value);
VALA_EXTERN GType synapse_gui_utils_color_helper_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiUtilsColorHelper, synapse_gui_utils_color_helper_unref)
VALA_EXTERN GType synapse_gui_htext_selector_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiHTextSelector, g_object_unref)
VALA_EXTERN GType synapse_gui_fake_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiFakeButton, g_object_unref)
VALA_EXTERN GType synapse_gui_menu_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiMenuButton, g_object_unref)
VALA_EXTERN GType synapse_gui_view_virgilio_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiViewVirgilio, g_object_unref)
VALA_EXTERN GType synapse_gui_smart_label_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiSmartLabel, g_object_unref)
VALA_EXTERN GType synapse_gui_match_list_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiMatchListView, g_object_unref)
VALA_EXTERN GType synapse_gui_specific_match_list_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiSpecificMatchList, g_object_unref)
VALA_EXTERN GType synapse_gui_menu_throbber_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiMenuThrobber, g_object_unref)
VALA_EXTERN void synapse_gui_view_build_ui (SynapseGuiView* self);
VALA_EXTERN gboolean synapse_gui_view_is_list_visible (SynapseGuiView* self);
VALA_EXTERN void synapse_gui_view_set_list_visible (SynapseGuiView* self,
                                        gboolean visible);
VALA_EXTERN void synapse_gui_view_set_throbber_visible (SynapseGuiView* self,
                                            gboolean visible);
VALA_EXTERN void synapse_gui_view_update_searching_for (SynapseGuiView* self);
VALA_EXTERN void synapse_gui_view_update_selected_category (SynapseGuiView* self);
VALA_EXTERN void synapse_gui_view_paint_background (SynapseGuiView* self,
                                        cairo_t* ctx);
VALA_EXTERN void synapse_gui_view_update_focused_source (SynapseGuiView* self,
                                             SynapseGuiEntry* m);
VALA_EXTERN void synapse_gui_view_update_focused_action (SynapseGuiView* self,
                                             SynapseGuiEntry* m);
VALA_EXTERN void synapse_gui_view_update_focused_target (SynapseGuiView* self,
                                             SynapseGuiEntry* m);
VALA_EXTERN void synapse_gui_view_update_sources (SynapseGuiView* self,
                                      GeeList* list);
VALA_EXTERN void synapse_gui_view_update_actions (SynapseGuiView* self,
                                      GeeList* list);
VALA_EXTERN void synapse_gui_view_update_targets (SynapseGuiView* self,
                                      GeeList* list);
static void synapse_gui_view_virgilio_real_style_updated (GtkWidget* base);
VALA_EXTERN GType synapse_gui_match_list_view_match_view_renderer_base_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiMatchListViewMatchViewRendererBase, g_object_unref)
VALA_EXTERN GType synapse_gui_match_view_renderer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SynapseGuiMatchViewRenderer, g_object_unref)
static void synapse_gui_view_virgilio_fix_listview_size (SynapseGuiViewVirgilio* self,
                                                  SynapseGuiMatchViewRenderer* rend,
                                                  gint iconsize,
                                                  const gchar* title,
                                                  const gchar* desc);
VALA_EXTERN SynapseGuiMatchViewRenderer* synapse_gui_specific_match_list_get_match_renderer (SynapseGuiSpecificMatchList* self);
static void synapse_gui_view_virgilio_real_build_ui (SynapseGuiView* base);
VALA_EXTERN SynapseGuiSmartLabel* synapse_gui_smart_label_new (void);
VALA_EXTERN SynapseGuiSmartLabel* synapse_gui_smart_label_construct (GType object_type);
VALA_EXTERN void synapse_gui_smart_label_set_animation_enabled (SynapseGuiSmartLabel* self,
                                                    gboolean b);
VALA_EXTERN SynapseGuiMenuThrobber* synapse_gui_menu_throbber_new (void);
VALA_EXTERN SynapseGuiMenuThrobber* synapse_gui_menu_throbber_construct (GType object_type);
static GtkWidget* synapse_gui_view_virgilio_create_separator (SynapseGuiViewVirgilio* self);
VALA_EXTERN SynapseGuiIController* synapse_gui_iview_get_controller (SynapseGuiIView* self);
VALA_EXTERN GType synapse_gui_searching_for_get_type (void) G_GNUC_CONST ;
VALA_EXTERN SynapseGuiSpecificMatchList* synapse_gui_specific_match_list_new (SynapseGuiIController* controller,
                                                                  SynapseGuiModel* model,
                                                                  SynapseGuiSearchingFor sf);
VALA_EXTERN SynapseGuiSpecificMatchList* synapse_gui_specific_match_list_construct (GType object_type,
                                                                        SynapseGuiIController* controller,
                                                                        SynapseGuiModel* model,
                                                                        SynapseGuiSearchingFor sf);
VALA_EXTERN void synapse_gui_view_connect_handlers (SynapseGuiView* self,
                                        SynapseGuiMatchListView* view);
VALA_EXTERN void synapse_gui_match_list_view_set_use_base_colors (SynapseGuiMatchListView* self,
                                                      gboolean value);
static gboolean synapse_gui_view_virgilio_draw_separator (SynapseGuiViewVirgilio* self,
                                                   GtkWidget* separator,
                                                   cairo_t* ctx);
static gboolean _synapse_gui_view_virgilio_draw_separator_gtk_widget_draw (GtkWidget* _sender,
                                                                    cairo_t* cr,
                                                                    gpointer self);
VALA_EXTERN void synapse_gui_match_view_renderer_set_icon_size (SynapseGuiMatchViewRenderer* self,
                                                    gint value);
VALA_EXTERN void synapse_gui_match_view_renderer_set_title_markup (SynapseGuiMatchViewRenderer* self,
                                                       const gchar* value);
VALA_EXTERN void synapse_gui_match_view_renderer_set_description_markup (SynapseGuiMatchViewRenderer* self,
                                                             const gchar* value);
static gboolean synapse_gui_view_virgilio_real_is_list_visible (SynapseGuiView* base);
static void synapse_gui_view_virgilio_real_set_list_visible (SynapseGuiView* base,
                                                      gboolean visible);
VALA_EXTERN void synapse_gui_match_list_view_set_min_visible_rows (SynapseGuiMatchListView* self,
                                                       gint value);
static void synapse_gui_view_virgilio_real_set_throbber_visible (SynapseGuiView* base,
                                                          gboolean visible);
VALA_EXTERN void synapse_gui_menu_throbber_set_active (SynapseGuiMenuThrobber* self,
                                           gboolean value);
static void synapse_gui_view_virgilio_real_update_searching_for (SynapseGuiView* base);
VALA_EXTERN void synapse_gui_specific_match_list_update_searching_for (SynapseGuiSpecificMatchList* self);
VALA_EXTERN gint synapse_gui_match_list_view_get_min_visible_rows (SynapseGuiMatchListView* self);
static void synapse_gui_view_virgilio_update_labels (SynapseGuiViewVirgilio* self);
VALA_EXTERN gboolean synapse_gui_model_has_results (SynapseGuiModel* self);
VALA_EXTERN void synapse_gui_smart_label_set_markup (SynapseGuiSmartLabel* self,
                                         const gchar* m);
VALA_EXTERN SynapseGuiEntry* synapse_gui_model_get_actual_focus (SynapseGuiModel* self);
VALA_EXTERN gconstpointer synapse_gui_entry_get_key (SynapseGuiEntry* self);
VALA_EXTERN void synapse_gui_smart_label_set_text (SynapseGuiSmartLabel* self,
                                       const gchar* s);
static void synapse_gui_view_virgilio_real_update_selected_category (SynapseGuiView* base);
VALA_EXTERN void synapse_gui_htext_selector_set_selected (SynapseGuiHTextSelector* self,
                                              gint value);
static void synapse_gui_view_virgilio_real_paint_background (SynapseGuiView* base,
                                                      cairo_t* ctx);
VALA_EXTERN void synapse_gui_utils_cairo_make_shadow_for_rect (cairo_t* ctx,
                                                   gdouble x1,
                                                   gdouble y1,
                                                   gdouble w,
                                                   gdouble h,
                                                   gdouble rad,
                                                   gdouble r,
                                                   gdouble g,
                                                   gdouble b,
                                                   gdouble size);
VALA_EXTERN GType synapse_gui_style_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType synapse_gui_mod_get_type (void) G_GNUC_CONST ;
VALA_EXTERN void synapse_gui_utils_color_helper_add_color_stop_rgba (SynapseGuiUtilsColorHelper* self,
                                                         cairo_pattern_t* pat,
                                                         gdouble val,
                                                         gdouble alpha,
                                                         SynapseGuiStyleType t,
                                                         GtkStateFlags st,
                                                         SynapseGuiMod mod);
VALA_EXTERN void synapse_gui_utils_cairo_rounded_rect (cairo_t* ctx,
                                           gdouble x,
                                           gdouble y,
                                           gdouble w,
                                           gdouble h,
                                           gdouble r);
static void synapse_gui_view_virgilio_real_update_focused_source (SynapseGuiView* base,
                                                           SynapseGuiEntry* m);
VALA_EXTERN gconstpointer synapse_gui_entry_get_value (SynapseGuiEntry* self);
VALA_EXTERN void synapse_gui_match_list_view_set_indexes (SynapseGuiMatchListView* self,
                                              gint targetted,
                                              gint selected);
static void synapse_gui_view_virgilio_real_update_focused_action (SynapseGuiView* base,
                                                           SynapseGuiEntry* m);
static void synapse_gui_view_virgilio_real_update_focused_target (SynapseGuiView* base,
                                                           SynapseGuiEntry* m);
static void synapse_gui_view_virgilio_real_update_sources (SynapseGuiView* base,
                                                    GeeList* list);
VALA_EXTERN void synapse_gui_match_list_view_set_list (SynapseGuiMatchListView* self,
                                           GeeList* list,
                                           gint targetted_index,
                                           gint selected_index);
VALA_EXTERN gboolean synapse_gui_icontroller_is_in_initial_state (SynapseGuiIController* self);
static void synapse_gui_view_virgilio_real_update_actions (SynapseGuiView* base,
                                                    GeeList* list);
static void synapse_gui_view_virgilio_real_update_targets (SynapseGuiView* base,
                                                    GeeList* list);
VALA_EXTERN SynapseGuiViewVirgilio* synapse_gui_view_virgilio_new (void);
VALA_EXTERN SynapseGuiViewVirgilio* synapse_gui_view_virgilio_construct (GType object_type);
VALA_EXTERN SynapseGuiView* synapse_gui_view_new (void);
VALA_EXTERN SynapseGuiView* synapse_gui_view_construct (GType object_type);
static GObject * synapse_gui_view_virgilio_constructor (GType type,
                                                 guint n_construct_properties,
                                                 GObjectConstructParam * construct_properties);
static void synapse_gui_view_virgilio_finalize (GObject * obj);
static GType synapse_gui_view_virgilio_get_type_once (void);

static inline gpointer
synapse_gui_view_virgilio_get_instance_private (SynapseGuiViewVirgilio* self)
{
	return G_STRUCT_MEMBER_P (self, SynapseGuiViewVirgilio_private_offset);
}

static void
synapse_gui_view_virgilio_real_style_updated (GtkWidget* base)
{
	SynapseGuiViewVirgilio * self;
	gint width = 0;
	gint icon_size = 0;
	gchar* tmax = NULL;
	gchar* dmax = NULL;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	GtkBox* _tmp4_;
	SynapseGuiSpecificMatchList* _tmp5_;
	SynapseGuiMatchViewRenderer* _tmp6_;
	SynapseGuiMatchViewRenderer* _tmp7_;
	SynapseGuiSpecificMatchList* _tmp8_;
	SynapseGuiMatchViewRenderer* _tmp9_;
	SynapseGuiMatchViewRenderer* _tmp10_;
	SynapseGuiSpecificMatchList* _tmp11_;
	SynapseGuiMatchViewRenderer* _tmp12_;
	SynapseGuiMatchViewRenderer* _tmp13_;
#line 54 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) base;
#line 56 "view-virgilio.vala"
	GTK_WIDGET_CLASS (synapse_gui_view_virgilio_parent_class)->style_updated ((GtkWidget*) G_TYPE_CHECK_INSTANCE_CAST (self, SYNAPSE_GUI_TYPE_VIEW, SynapseGuiView));
#line 60 "view-virgilio.vala"
	gtk_widget_style_get ((GtkWidget*) self, "ui-width", &_tmp0_, "icon-size", &_tmp1_, "title-size", &_tmp2_, "description-size", &_tmp3_, NULL);
#line 60 "view-virgilio.vala"
	width = _tmp0_;
#line 60 "view-virgilio.vala"
	icon_size = _tmp1_;
#line 60 "view-virgilio.vala"
	_g_free0 (tmax);
#line 60 "view-virgilio.vala"
	tmax = _tmp2_;
#line 60 "view-virgilio.vala"
	_g_free0 (dmax);
#line 60 "view-virgilio.vala"
	dmax = _tmp3_;
#line 63 "view-virgilio.vala"
	_tmp4_ = self->priv->container;
#line 63 "view-virgilio.vala"
	gtk_widget_set_size_request ((GtkWidget*) _tmp4_, width, -1);
#line 64 "view-virgilio.vala"
	_tmp5_ = self->priv->results_sources;
#line 64 "view-virgilio.vala"
	_tmp6_ = synapse_gui_specific_match_list_get_match_renderer (_tmp5_);
#line 64 "view-virgilio.vala"
	_tmp7_ = _tmp6_;
#line 64 "view-virgilio.vala"
	synapse_gui_view_virgilio_fix_listview_size (self, _tmp7_, icon_size, tmax, dmax);
#line 64 "view-virgilio.vala"
	_g_object_unref0 (_tmp7_);
#line 65 "view-virgilio.vala"
	_tmp8_ = self->priv->results_actions;
#line 65 "view-virgilio.vala"
	_tmp9_ = synapse_gui_specific_match_list_get_match_renderer (_tmp8_);
#line 65 "view-virgilio.vala"
	_tmp10_ = _tmp9_;
#line 65 "view-virgilio.vala"
	synapse_gui_view_virgilio_fix_listview_size (self, _tmp10_, icon_size, tmax, dmax);
#line 65 "view-virgilio.vala"
	_g_object_unref0 (_tmp10_);
#line 66 "view-virgilio.vala"
	_tmp11_ = self->priv->results_targets;
#line 66 "view-virgilio.vala"
	_tmp12_ = synapse_gui_specific_match_list_get_match_renderer (_tmp11_);
#line 66 "view-virgilio.vala"
	_tmp13_ = _tmp12_;
#line 66 "view-virgilio.vala"
	synapse_gui_view_virgilio_fix_listview_size (self, _tmp13_, icon_size, tmax, dmax);
#line 66 "view-virgilio.vala"
	_g_object_unref0 (_tmp13_);
#line 54 "view-virgilio.vala"
	_g_free0 (dmax);
#line 54 "view-virgilio.vala"
	_g_free0 (tmax);
#line 677 "view-virgilio.c"
}

static gpointer
_g_object_ref0 (gpointer self)
{
#line 100 "view-virgilio.vala"
	return self ? g_object_ref (self) : NULL;
#line 685 "view-virgilio.c"
}

static void
synapse_gui_view_virgilio_real_build_ui (SynapseGuiView* base)
{
	SynapseGuiViewVirgilio * self;
	GtkBox* _tmp0_;
	SynapseGuiSmartLabel* _tmp1_;
	SynapseGuiSmartLabel* _tmp2_;
	SynapseGuiSmartLabel* _tmp3_;
	SynapseGuiSmartLabel* _tmp4_;
	SynapseGuiSmartLabel* _tmp5_;
	GtkBox* hb_status = NULL;
	GtkBox* _tmp6_;
	SynapseGuiSmartLabel* _tmp7_;
	SynapseGuiSmartLabel* _tmp8_;
	GtkBox* categories_hbox = NULL;
	GtkBox* _tmp9_;
	SynapseGuiMenuThrobber* _tmp10_;
	SynapseGuiMenuThrobber* _tmp11_;
	SynapseGuiMenuButton* _tmp12_;
	SynapseGuiMenuThrobber* _tmp13_;
	SynapseGuiHTextSelector* _tmp14_;
	SynapseGuiMenuThrobber* _tmp15_;
	GtkBox* _tmp16_;
	GtkBox* _tmp17_;
	GtkWidget* _tmp18_;
	GtkWidget* _tmp19_;
	SynapseGuiIController* _tmp20_;
	SynapseGuiIController* _tmp21_;
	SynapseGuiModel* _tmp22_;
	SynapseGuiSpecificMatchList* _tmp23_;
	SynapseGuiIController* _tmp24_;
	SynapseGuiIController* _tmp25_;
	SynapseGuiModel* _tmp26_;
	SynapseGuiSpecificMatchList* _tmp27_;
	SynapseGuiIController* _tmp28_;
	SynapseGuiIController* _tmp29_;
	SynapseGuiModel* _tmp30_;
	SynapseGuiSpecificMatchList* _tmp31_;
	SynapseGuiSpecificMatchList* _tmp32_;
	SynapseGuiSpecificMatchList* _tmp33_;
	SynapseGuiSpecificMatchList* _tmp34_;
	SynapseGuiSpecificMatchList* _tmp35_;
	SynapseGuiSpecificMatchList* _tmp36_;
	SynapseGuiSpecificMatchList* _tmp37_;
	SynapseGuiSpecificMatchList* _tmp38_;
	SynapseGuiMatchViewRenderer* _tmp39_;
	SynapseGuiMatchViewRenderer* _tmp40_;
	SynapseGuiSpecificMatchList* _tmp41_;
	SynapseGuiMatchViewRenderer* _tmp42_;
	SynapseGuiMatchViewRenderer* _tmp43_;
	SynapseGuiSpecificMatchList* _tmp44_;
	SynapseGuiMatchViewRenderer* _tmp45_;
	SynapseGuiMatchViewRenderer* _tmp46_;
	GtkBox* _tmp47_;
	SynapseGuiSpecificMatchList* _tmp48_;
	GtkBox* _tmp49_;
	GtkWidget* _tmp50_;
	GtkWidget* _tmp51_;
	GtkBox* _tmp52_;
	GtkBox* _tmp53_;
	SynapseGuiSpecificMatchList* _tmp54_;
	GtkBox* _tmp55_;
	GtkWidget* _tmp56_;
	GtkWidget* _tmp57_;
	GtkBox* _tmp58_;
	GtkBox* _tmp59_;
	GtkBox* _tmp60_;
	GtkBox* _tmp61_;
	SynapseGuiSpecificMatchList* _tmp62_;
	GtkBox* _tmp63_;
	GtkWidget* _tmp64_;
	GtkWidget* _tmp65_;
	GtkBox* _tmp66_;
	GtkBox* _tmp67_;
	GtkBox* _tmp68_;
	GtkBox* _tmp69_;
	GtkBox* _tmp70_;
	GtkBox* _tmp71_;
#line 82 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) base;
#line 84 "view-virgilio.vala"
	_tmp0_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#line 84 "view-virgilio.vala"
	g_object_ref_sink (_tmp0_);
#line 84 "view-virgilio.vala"
	_g_object_unref0 (self->priv->container);
#line 84 "view-virgilio.vala"
	self->priv->container = _tmp0_;
#line 86 "view-virgilio.vala"
	_tmp1_ = synapse_gui_smart_label_new ();
#line 86 "view-virgilio.vala"
	g_object_ref_sink (_tmp1_);
#line 86 "view-virgilio.vala"
	_g_object_unref0 (self->priv->status);
#line 86 "view-virgilio.vala"
	self->priv->status = _tmp1_;
#line 87 "view-virgilio.vala"
	_tmp2_ = synapse_gui_smart_label_new ();
#line 87 "view-virgilio.vala"
	g_object_ref_sink (_tmp2_);
#line 87 "view-virgilio.vala"
	_g_object_unref0 (self->priv->search);
#line 87 "view-virgilio.vala"
	self->priv->search = _tmp2_;
#line 88 "view-virgilio.vala"
	_tmp3_ = self->priv->search;
#line 88 "view-virgilio.vala"
	synapse_gui_smart_label_set_animation_enabled (_tmp3_, TRUE);
#line 89 "view-virgilio.vala"
	_tmp4_ = self->priv->search;
#line 89 "view-virgilio.vala"
	g_object_set ((GtkMisc*) _tmp4_, "xalign", 0.5f, NULL);
#line 90 "view-virgilio.vala"
	_tmp5_ = self->priv->status;
#line 90 "view-virgilio.vala"
	g_object_set ((GtkMisc*) _tmp5_, "xalign", 0.0f, NULL);
#line 91 "view-virgilio.vala"
	_tmp6_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#line 91 "view-virgilio.vala"
	g_object_ref_sink (_tmp6_);
#line 91 "view-virgilio.vala"
	hb_status = _tmp6_;
#line 92 "view-virgilio.vala"
	gtk_box_set_homogeneous (hb_status, TRUE);
#line 93 "view-virgilio.vala"
	_tmp7_ = self->priv->status;
#line 93 "view-virgilio.vala"
	gtk_box_pack_start (hb_status, (GtkWidget*) _tmp7_, TRUE, TRUE, (guint) 0);
#line 94 "view-virgilio.vala"
	_tmp8_ = self->priv->search;
#line 94 "view-virgilio.vala"
	gtk_box_pack_start (hb_status, (GtkWidget*) _tmp8_, TRUE, TRUE, (guint) 0);
#line 97 "view-virgilio.vala"
	_tmp9_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
#line 97 "view-virgilio.vala"
	g_object_ref_sink (_tmp9_);
#line 97 "view-virgilio.vala"
	categories_hbox = _tmp9_;
#line 99 "view-virgilio.vala"
	_tmp10_ = synapse_gui_menu_throbber_new ();
#line 99 "view-virgilio.vala"
	g_object_ref_sink (_tmp10_);
#line 99 "view-virgilio.vala"
	_g_object_unref0 (self->priv->menuthrobber);
#line 99 "view-virgilio.vala"
	self->priv->menuthrobber = _tmp10_;
#line 100 "view-virgilio.vala"
	_tmp11_ = self->priv->menuthrobber;
#line 100 "view-virgilio.vala"
	_tmp12_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_CAST (_tmp11_, SYNAPSE_GUI_TYPE_MENU_BUTTON, SynapseGuiMenuButton));
#line 100 "view-virgilio.vala"
	_g_object_unref0 (((SynapseGuiView*) self)->menu);
#line 100 "view-virgilio.vala"
	((SynapseGuiView*) self)->menu = _tmp12_;
#line 101 "view-virgilio.vala"
	_tmp13_ = self->priv->menuthrobber;
#line 101 "view-virgilio.vala"
	gtk_widget_set_size_request ((GtkWidget*) _tmp13_, 14, 14);
#line 103 "view-virgilio.vala"
	_tmp14_ = ((SynapseGuiView*) self)->flag_selector;
#line 103 "view-virgilio.vala"
	gtk_box_pack_start (categories_hbox, (GtkWidget*) _tmp14_, TRUE, TRUE, (guint) 0);
#line 104 "view-virgilio.vala"
	_tmp15_ = self->priv->menuthrobber;
#line 104 "view-virgilio.vala"
	gtk_box_pack_start (categories_hbox, (GtkWidget*) _tmp15_, FALSE, TRUE, (guint) 0);
#line 106 "view-virgilio.vala"
	_tmp16_ = self->priv->container;
#line 106 "view-virgilio.vala"
	gtk_box_pack_start (_tmp16_, (GtkWidget*) categories_hbox, FALSE, FALSE, (guint) 2);
#line 107 "view-virgilio.vala"
	_tmp17_ = self->priv->container;
#line 107 "view-virgilio.vala"
	_tmp18_ = synapse_gui_view_virgilio_create_separator (self);
#line 107 "view-virgilio.vala"
	_tmp19_ = _tmp18_;
#line 107 "view-virgilio.vala"
	gtk_box_pack_start (_tmp17_, _tmp19_, FALSE, TRUE, (guint) 0);
#line 107 "view-virgilio.vala"
	_g_object_unref0 (_tmp19_);
#line 110 "view-virgilio.vala"
	_tmp20_ = synapse_gui_iview_get_controller ((SynapseGuiIView*) self);
#line 110 "view-virgilio.vala"
	_tmp21_ = _tmp20_;
#line 110 "view-virgilio.vala"
	_tmp22_ = ((SynapseGuiView*) self)->model;
#line 110 "view-virgilio.vala"
	_tmp23_ = synapse_gui_specific_match_list_new (_tmp21_, _tmp22_, SYNAPSE_GUI_SEARCHING_FOR_SOURCES);
#line 110 "view-virgilio.vala"
	g_object_ref_sink (_tmp23_);
#line 110 "view-virgilio.vala"
	_g_object_unref0 (self->priv->results_sources);
#line 110 "view-virgilio.vala"
	self->priv->results_sources = _tmp23_;
#line 111 "view-virgilio.vala"
	_tmp24_ = synapse_gui_iview_get_controller ((SynapseGuiIView*) self);
#line 111 "view-virgilio.vala"
	_tmp25_ = _tmp24_;
#line 111 "view-virgilio.vala"
	_tmp26_ = ((SynapseGuiView*) self)->model;
#line 111 "view-virgilio.vala"
	_tmp27_ = synapse_gui_specific_match_list_new (_tmp25_, _tmp26_, SYNAPSE_GUI_SEARCHING_FOR_ACTIONS);
#line 111 "view-virgilio.vala"
	g_object_ref_sink (_tmp27_);
#line 111 "view-virgilio.vala"
	_g_object_unref0 (self->priv->results_actions);
#line 111 "view-virgilio.vala"
	self->priv->results_actions = _tmp27_;
#line 112 "view-virgilio.vala"
	_tmp28_ = synapse_gui_iview_get_controller ((SynapseGuiIView*) self);
#line 112 "view-virgilio.vala"
	_tmp29_ = _tmp28_;
#line 112 "view-virgilio.vala"
	_tmp30_ = ((SynapseGuiView*) self)->model;
#line 112 "view-virgilio.vala"
	_tmp31_ = synapse_gui_specific_match_list_new (_tmp29_, _tmp30_, SYNAPSE_GUI_SEARCHING_FOR_TARGETS);
#line 112 "view-virgilio.vala"
	g_object_ref_sink (_tmp31_);
#line 112 "view-virgilio.vala"
	_g_object_unref0 (self->priv->results_targets);
#line 112 "view-virgilio.vala"
	self->priv->results_targets = _tmp31_;
#line 114 "view-virgilio.vala"
	_tmp32_ = self->priv->results_sources;
#line 114 "view-virgilio.vala"
	synapse_gui_view_connect_handlers ((SynapseGuiView*) self, (SynapseGuiMatchListView*) _tmp32_);
#line 115 "view-virgilio.vala"
	_tmp33_ = self->priv->results_actions;
#line 115 "view-virgilio.vala"
	synapse_gui_view_connect_handlers ((SynapseGuiView*) self, (SynapseGuiMatchListView*) _tmp33_);
#line 116 "view-virgilio.vala"
	_tmp34_ = self->priv->results_targets;
#line 116 "view-virgilio.vala"
	synapse_gui_view_connect_handlers ((SynapseGuiView*) self, (SynapseGuiMatchListView*) _tmp34_);
#line 117 "view-virgilio.vala"
	_tmp35_ = self->priv->results_sources;
#line 117 "view-virgilio.vala"
	synapse_gui_match_list_view_set_use_base_colors ((SynapseGuiMatchListView*) _tmp35_, FALSE);
#line 118 "view-virgilio.vala"
	_tmp36_ = self->priv->results_actions;
#line 118 "view-virgilio.vala"
	synapse_gui_match_list_view_set_use_base_colors ((SynapseGuiMatchListView*) _tmp36_, FALSE);
#line 119 "view-virgilio.vala"
	_tmp37_ = self->priv->results_targets;
#line 119 "view-virgilio.vala"
	synapse_gui_match_list_view_set_use_base_colors ((SynapseGuiMatchListView*) _tmp37_, FALSE);
#line 120 "view-virgilio.vala"
	_tmp38_ = self->priv->results_sources;
#line 120 "view-virgilio.vala"
	_tmp39_ = synapse_gui_specific_match_list_get_match_renderer (_tmp38_);
#line 120 "view-virgilio.vala"
	_tmp40_ = _tmp39_;
#line 120 "view-virgilio.vala"
	synapse_gui_view_virgilio_fix_listview_size (self, _tmp40_, 48, "large", "medium");
#line 120 "view-virgilio.vala"
	_g_object_unref0 (_tmp40_);
#line 121 "view-virgilio.vala"
	_tmp41_ = self->priv->results_actions;
#line 121 "view-virgilio.vala"
	_tmp42_ = synapse_gui_specific_match_list_get_match_renderer (_tmp41_);
#line 121 "view-virgilio.vala"
	_tmp43_ = _tmp42_;
#line 121 "view-virgilio.vala"
	synapse_gui_view_virgilio_fix_listview_size (self, _tmp43_, 48, "large", "medium");
#line 121 "view-virgilio.vala"
	_g_object_unref0 (_tmp43_);
#line 122 "view-virgilio.vala"
	_tmp44_ = self->priv->results_targets;
#line 122 "view-virgilio.vala"
	_tmp45_ = synapse_gui_specific_match_list_get_match_renderer (_tmp44_);
#line 122 "view-virgilio.vala"
	_tmp46_ = _tmp45_;
#line 122 "view-virgilio.vala"
	synapse_gui_view_virgilio_fix_listview_size (self, _tmp46_, 48, "large", "medium");
#line 122 "view-virgilio.vala"
	_g_object_unref0 (_tmp46_);
#line 124 "view-virgilio.vala"
	_tmp47_ = self->priv->container;
#line 124 "view-virgilio.vala"
	_tmp48_ = self->priv->results_sources;
#line 124 "view-virgilio.vala"
	gtk_box_pack_start (_tmp47_, (GtkWidget*) _tmp48_, TRUE, TRUE, (guint) 0);
#line 125 "view-virgilio.vala"
	_tmp49_ = self->priv->container;
#line 125 "view-virgilio.vala"
	_tmp50_ = synapse_gui_view_virgilio_create_separator (self);
#line 125 "view-virgilio.vala"
	_tmp51_ = _tmp50_;
#line 125 "view-virgilio.vala"
	gtk_box_pack_start (_tmp49_, _tmp51_, FALSE, TRUE, (guint) 0);
#line 125 "view-virgilio.vala"
	_g_object_unref0 (_tmp51_);
#line 127 "view-virgilio.vala"
	_tmp52_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#line 127 "view-virgilio.vala"
	g_object_ref_sink (_tmp52_);
#line 127 "view-virgilio.vala"
	_g_object_unref0 (self->priv->action_box);
#line 127 "view-virgilio.vala"
	self->priv->action_box = _tmp52_;
#line 128 "view-virgilio.vala"
	_tmp53_ = self->priv->action_box;
#line 128 "view-virgilio.vala"
	_tmp54_ = self->priv->results_actions;
#line 128 "view-virgilio.vala"
	gtk_box_pack_start (_tmp53_, (GtkWidget*) _tmp54_, FALSE, TRUE, (guint) 0);
#line 129 "view-virgilio.vala"
	_tmp55_ = self->priv->action_box;
#line 129 "view-virgilio.vala"
	_tmp56_ = synapse_gui_view_virgilio_create_separator (self);
#line 129 "view-virgilio.vala"
	_tmp57_ = _tmp56_;
#line 129 "view-virgilio.vala"
	gtk_box_pack_start (_tmp55_, _tmp57_, FALSE, TRUE, (guint) 0);
#line 129 "view-virgilio.vala"
	_g_object_unref0 (_tmp57_);
#line 130 "view-virgilio.vala"
	_tmp58_ = self->priv->container;
#line 130 "view-virgilio.vala"
	_tmp59_ = self->priv->action_box;
#line 130 "view-virgilio.vala"
	gtk_box_pack_start (_tmp58_, (GtkWidget*) _tmp59_, FALSE, TRUE, (guint) 0);
#line 132 "view-virgilio.vala"
	_tmp60_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
#line 132 "view-virgilio.vala"
	g_object_ref_sink (_tmp60_);
#line 132 "view-virgilio.vala"
	_g_object_unref0 (self->priv->target_box);
#line 132 "view-virgilio.vala"
	self->priv->target_box = _tmp60_;
#line 133 "view-virgilio.vala"
	_tmp61_ = self->priv->target_box;
#line 133 "view-virgilio.vala"
	_tmp62_ = self->priv->results_targets;
#line 133 "view-virgilio.vala"
	gtk_box_pack_start (_tmp61_, (GtkWidget*) _tmp62_, FALSE, TRUE, (guint) 0);
#line 134 "view-virgilio.vala"
	_tmp63_ = self->priv->target_box;
#line 134 "view-virgilio.vala"
	_tmp64_ = synapse_gui_view_virgilio_create_separator (self);
#line 134 "view-virgilio.vala"
	_tmp65_ = _tmp64_;
#line 134 "view-virgilio.vala"
	gtk_box_pack_start (_tmp63_, _tmp65_, FALSE, TRUE, (guint) 0);
#line 134 "view-virgilio.vala"
	_g_object_unref0 (_tmp65_);
#line 135 "view-virgilio.vala"
	_tmp66_ = self->priv->container;
#line 135 "view-virgilio.vala"
	_tmp67_ = self->priv->target_box;
#line 135 "view-virgilio.vala"
	gtk_box_pack_start (_tmp66_, (GtkWidget*) _tmp67_, FALSE, TRUE, (guint) 0);
#line 137 "view-virgilio.vala"
	_tmp68_ = self->priv->container;
#line 137 "view-virgilio.vala"
	gtk_box_pack_start (_tmp68_, (GtkWidget*) hb_status, FALSE, FALSE, (guint) 2);
#line 139 "view-virgilio.vala"
	_tmp69_ = self->priv->container;
#line 139 "view-virgilio.vala"
	gtk_widget_show_all ((GtkWidget*) _tmp69_);
#line 141 "view-virgilio.vala"
	_tmp70_ = self->priv->container;
#line 141 "view-virgilio.vala"
	gtk_widget_set_size_request ((GtkWidget*) _tmp70_, 500, -1);
#line 142 "view-virgilio.vala"
	_tmp71_ = self->priv->container;
#line 142 "view-virgilio.vala"
	gtk_container_add ((GtkContainer*) self, (GtkWidget*) _tmp71_);
#line 82 "view-virgilio.vala"
	_g_object_unref0 (categories_hbox);
#line 82 "view-virgilio.vala"
	_g_object_unref0 (hb_status);
#line 1060 "view-virgilio.c"
}

static gboolean
_synapse_gui_view_virgilio_draw_separator_gtk_widget_draw (GtkWidget* _sender,
                                                           cairo_t* cr,
                                                           gpointer self)
{
	gboolean result;
	result = synapse_gui_view_virgilio_draw_separator ((SynapseGuiViewVirgilio*) self, _sender, cr);
#line 153 "view-virgilio.vala"
	return result;
#line 1072 "view-virgilio.c"
}

static GtkWidget*
synapse_gui_view_virgilio_create_separator (SynapseGuiViewVirgilio* self)
{
	GtkEventBox* separator = NULL;
	GtkEventBox* _tmp0_;
	GtkStyleContext* _tmp1_;
	GtkStyleContext* _tmp2_;
	GtkWidget* result;
#line 146 "view-virgilio.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 148 "view-virgilio.vala"
	_tmp0_ = (GtkEventBox*) gtk_event_box_new ();
#line 148 "view-virgilio.vala"
	g_object_ref_sink (_tmp0_);
#line 148 "view-virgilio.vala"
	separator = _tmp0_;
#line 149 "view-virgilio.vala"
	g_object_set ((GtkWidget*) separator, "height-request", 2, NULL);
#line 150 "view-virgilio.vala"
	g_object_set ((GtkWidget*) separator, "width-request", 120, NULL);
#line 151 "view-virgilio.vala"
	_tmp1_ = gtk_widget_get_style_context ((GtkWidget*) separator);
#line 151 "view-virgilio.vala"
	gtk_style_context_add_class (_tmp1_, GTK_STYLE_CLASS_SEPARATOR);
#line 152 "view-virgilio.vala"
	_tmp2_ = gtk_widget_get_style_context ((GtkWidget*) separator);
#line 152 "view-virgilio.vala"
	gtk_style_context_add_class (_tmp2_, GTK_STYLE_CLASS_HORIZONTAL);
#line 153 "view-virgilio.vala"
	g_signal_connect_object ((GtkWidget*) separator, "draw", (GCallback) _synapse_gui_view_virgilio_draw_separator_gtk_widget_draw, self, 0);
#line 154 "view-virgilio.vala"
	result = (GtkWidget*) separator;
#line 154 "view-virgilio.vala"
	return result;
#line 1109 "view-virgilio.c"
}

static gboolean
synapse_gui_view_virgilio_draw_separator (SynapseGuiViewVirgilio* self,
                                          GtkWidget* separator,
                                          cairo_t* ctx)
{
	GtkStyleContext* _tmp0_;
	gboolean result;
#line 157 "view-virgilio.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 157 "view-virgilio.vala"
	g_return_val_if_fail (separator != NULL, FALSE);
#line 157 "view-virgilio.vala"
	g_return_val_if_fail (ctx != NULL, FALSE);
#line 159 "view-virgilio.vala"
	_tmp0_ = gtk_widget_get_style_context (separator);
#line 159 "view-virgilio.vala"
	gtk_render_frame (_tmp0_, ctx, (gdouble) 0, (gdouble) 0, (gdouble) gtk_widget_get_allocated_width (separator), (gdouble) 2);
#line 160 "view-virgilio.vala"
	result = FALSE;
#line 160 "view-virgilio.vala"
	return result;
#line 1133 "view-virgilio.c"
}

static void
synapse_gui_view_virgilio_fix_listview_size (SynapseGuiViewVirgilio* self,
                                             SynapseGuiMatchViewRenderer* rend,
                                             gint iconsize,
                                             const gchar* title,
                                             const gchar* desc)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
#line 163 "view-virgilio.vala"
	g_return_if_fail (self != NULL);
#line 163 "view-virgilio.vala"
	g_return_if_fail (rend != NULL);
#line 163 "view-virgilio.vala"
	g_return_if_fail (title != NULL);
#line 163 "view-virgilio.vala"
	g_return_if_fail (desc != NULL);
#line 165 "view-virgilio.vala"
	synapse_gui_match_view_renderer_set_icon_size (rend, iconsize);
#line 166 "view-virgilio.vala"
	_tmp0_ = g_strdup_printf ("<span size=\"%s\"><b>%%s</b></span>", title);
#line 166 "view-virgilio.vala"
	_tmp1_ = _tmp0_;
#line 166 "view-virgilio.vala"
	synapse_gui_match_view_renderer_set_title_markup (rend, _tmp1_);
#line 166 "view-virgilio.vala"
	_g_free0 (_tmp1_);
#line 167 "view-virgilio.vala"
	_tmp2_ = g_strdup_printf ("<span size=\"%s\">%%s</span>", desc);
#line 167 "view-virgilio.vala"
	_tmp3_ = _tmp2_;
#line 167 "view-virgilio.vala"
	synapse_gui_match_view_renderer_set_description_markup (rend, _tmp3_);
#line 167 "view-virgilio.vala"
	_g_free0 (_tmp3_);
#line 1173 "view-virgilio.c"
}

static gboolean
synapse_gui_view_virgilio_real_is_list_visible (SynapseGuiView* base)
{
	SynapseGuiViewVirgilio * self;
	gboolean result;
#line 170 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) base;
#line 172 "view-virgilio.vala"
	result = TRUE;
#line 172 "view-virgilio.vala"
	return result;
#line 1187 "view-virgilio.c"
}

static void
synapse_gui_view_virgilio_real_set_list_visible (SynapseGuiView* base,
                                                 gboolean visible)
{
	SynapseGuiViewVirgilio * self;
	gboolean _tmp0_;
	gboolean _tmp1_;
	gint _tmp2_ = 0;
	SynapseGuiSpecificMatchList* _tmp3_;
#line 175 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) base;
#line 177 "view-virgilio.vala"
	_tmp0_ = gtk_widget_get_visible ((GtkWidget*) self);
#line 177 "view-virgilio.vala"
	_tmp1_ = _tmp0_;
#line 177 "view-virgilio.vala"
	if (_tmp1_) {
#line 177 "view-virgilio.vala"
		return;
#line 1209 "view-virgilio.c"
	}
#line 178 "view-virgilio.vala"
	if (visible) {
#line 178 "view-virgilio.vala"
		_tmp2_ = 7;
#line 1215 "view-virgilio.c"
	} else {
#line 178 "view-virgilio.vala"
		_tmp2_ = 1;
#line 1219 "view-virgilio.c"
	}
#line 178 "view-virgilio.vala"
	_tmp3_ = self->priv->results_sources;
#line 178 "view-virgilio.vala"
	synapse_gui_match_list_view_set_min_visible_rows ((SynapseGuiMatchListView*) _tmp3_, _tmp2_);
#line 1225 "view-virgilio.c"
}

static void
synapse_gui_view_virgilio_real_set_throbber_visible (SynapseGuiView* base,
                                                     gboolean visible)
{
	SynapseGuiViewVirgilio * self;
	SynapseGuiMenuThrobber* _tmp0_;
#line 181 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) base;
#line 183 "view-virgilio.vala"
	_tmp0_ = self->priv->menuthrobber;
#line 183 "view-virgilio.vala"
	synapse_gui_menu_throbber_set_active (_tmp0_, visible);
#line 1240 "view-virgilio.c"
}

static void
synapse_gui_view_virgilio_real_update_searching_for (SynapseGuiView* base)
{
	SynapseGuiViewVirgilio * self;
	SynapseGuiSpecificMatchList* _tmp0_;
	SynapseGuiSpecificMatchList* _tmp1_;
	SynapseGuiSpecificMatchList* _tmp2_;
	GtkBox* _tmp3_;
	SynapseGuiSpecificMatchList* _tmp4_;
	gint _tmp5_;
	gint _tmp6_;
#line 186 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) base;
#line 188 "view-virgilio.vala"
	_tmp0_ = self->priv->results_sources;
#line 188 "view-virgilio.vala"
	synapse_gui_specific_match_list_update_searching_for (_tmp0_);
#line 189 "view-virgilio.vala"
	_tmp1_ = self->priv->results_actions;
#line 189 "view-virgilio.vala"
	synapse_gui_specific_match_list_update_searching_for (_tmp1_);
#line 190 "view-virgilio.vala"
	_tmp2_ = self->priv->results_targets;
#line 190 "view-virgilio.vala"
	synapse_gui_specific_match_list_update_searching_for (_tmp2_);
#line 191 "view-virgilio.vala"
	_tmp3_ = self->priv->target_box;
#line 191 "view-virgilio.vala"
	_tmp4_ = self->priv->results_targets;
#line 191 "view-virgilio.vala"
	_tmp5_ = synapse_gui_match_list_view_get_min_visible_rows ((SynapseGuiMatchListView*) _tmp4_);
#line 191 "view-virgilio.vala"
	_tmp6_ = _tmp5_;
#line 191 "view-virgilio.vala"
	gtk_widget_set_visible ((GtkWidget*) _tmp3_, _tmp6_ > 0);
#line 192 "view-virgilio.vala"
	synapse_gui_view_virgilio_update_labels (self);
#line 1280 "view-virgilio.c"
}

static void
synapse_gui_view_virgilio_update_labels (SynapseGuiViewVirgilio* self)
{
	SynapseGuiModel* _tmp0_;
	SynapseGuiSmartLabel* _tmp16_;
	SynapseGuiModel* _tmp17_;
	gchar** _tmp18_;
	gint _tmp18__length1;
	SynapseGuiModel* _tmp19_;
	const gchar* _tmp20_;
#line 195 "view-virgilio.vala"
	g_return_if_fail (self != NULL);
#line 197 "view-virgilio.vala"
	_tmp0_ = ((SynapseGuiView*) self)->model;
#line 197 "view-virgilio.vala"
	if (synapse_gui_model_has_results (_tmp0_)) {
#line 1299 "view-virgilio.c"
		SynapseGuiSmartLabel* _tmp1_;
		SynapseGuiModel* _tmp2_;
		SynapseGuiEntry* _tmp3_;
		SynapseGuiEntry* _tmp4_;
		gconstpointer _tmp5_;
		gconstpointer _tmp6_;
		SynapseGuiModel* _tmp7_;
		GeeList** _tmp8_;
		gint _tmp8__length1;
		SynapseGuiModel* _tmp9_;
		GeeList* _tmp10_;
		gint _tmp11_;
		gint _tmp12_;
		gchar* _tmp13_;
		gchar* _tmp14_;
#line 199 "view-virgilio.vala"
		_tmp1_ = self->priv->status;
#line 199 "view-virgilio.vala"
		_tmp2_ = ((SynapseGuiView*) self)->model;
#line 199 "view-virgilio.vala"
		_tmp3_ = synapse_gui_model_get_actual_focus (_tmp2_);
#line 199 "view-virgilio.vala"
		_tmp4_ = _tmp3_;
#line 199 "view-virgilio.vala"
		_tmp5_ = synapse_gui_entry_get_key (_tmp4_);
#line 199 "view-virgilio.vala"
		_tmp6_ = _tmp5_;
#line 199 "view-virgilio.vala"
		_tmp7_ = ((SynapseGuiView*) self)->model;
#line 199 "view-virgilio.vala"
		_tmp8_ = _tmp7_->results;
#line 199 "view-virgilio.vala"
		_tmp8__length1 = _tmp7_->results_length1;
#line 199 "view-virgilio.vala"
		_tmp9_ = ((SynapseGuiView*) self)->model;
#line 199 "view-virgilio.vala"
		_tmp10_ = _tmp8_[_tmp9_->searching_for];
#line 199 "view-virgilio.vala"
		_tmp11_ = gee_collection_get_size ((GeeCollection*) _tmp10_);
#line 199 "view-virgilio.vala"
		_tmp12_ = _tmp11_;
#line 199 "view-virgilio.vala"
		_tmp13_ = g_markup_printf_escaped (_ ("<b>%d of %d</b>"), ((gint) ((gintptr) _tmp6_)) + 1, _tmp12_);
#line 199 "view-virgilio.vala"
		_tmp14_ = _tmp13_;
#line 199 "view-virgilio.vala"
		synapse_gui_smart_label_set_markup (_tmp1_, _tmp14_);
#line 199 "view-virgilio.vala"
		_g_free0 (_tmp14_);
#line 199 "view-virgilio.vala"
		_synapse_gui_entry_unref0 (_tmp4_);
#line 1351 "view-virgilio.c"
	} else {
		SynapseGuiSmartLabel* _tmp15_;
#line 203 "view-virgilio.vala"
		_tmp15_ = self->priv->status;
#line 203 "view-virgilio.vala"
		synapse_gui_smart_label_set_text (_tmp15_, "");
#line 1358 "view-virgilio.c"
	}
#line 205 "view-virgilio.vala"
	_tmp16_ = self->priv->search;
#line 205 "view-virgilio.vala"
	_tmp17_ = ((SynapseGuiView*) self)->model;
#line 205 "view-virgilio.vala"
	_tmp18_ = _tmp17_->query;
#line 205 "view-virgilio.vala"
	_tmp18__length1 = _tmp17_->query_length1;
#line 205 "view-virgilio.vala"
	_tmp19_ = ((SynapseGuiView*) self)->model;
#line 205 "view-virgilio.vala"
	_tmp20_ = _tmp18_[_tmp19_->searching_for];
#line 205 "view-virgilio.vala"
	synapse_gui_smart_label_set_text (_tmp16_, _tmp20_);
#line 1374 "view-virgilio.c"
}

static void
synapse_gui_view_virgilio_real_update_selected_category (SynapseGuiView* base)
{
	SynapseGuiViewVirgilio * self;
	SynapseGuiHTextSelector* _tmp0_;
	SynapseGuiModel* _tmp1_;
#line 208 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) base;
#line 210 "view-virgilio.vala"
	_tmp0_ = ((SynapseGuiView*) self)->flag_selector;
#line 210 "view-virgilio.vala"
	_tmp1_ = ((SynapseGuiView*) self)->model;
#line 210 "view-virgilio.vala"
	synapse_gui_htext_selector_set_selected (_tmp0_, _tmp1_->selected_category);
#line 1391 "view-virgilio.c"
}

static void
synapse_gui_view_virgilio_real_paint_background (SynapseGuiView* base,
                                                 cairo_t* ctx)
{
	SynapseGuiViewVirgilio * self;
	GtkAllocation container_allocation = {0};
	GtkBox* _tmp0_;
	GtkAllocation _tmp1_ = {0};
	gint width = 0;
	GtkAllocation _tmp2_;
	gint height = 0;
	GtkAllocation _tmp3_;
	GtkAllocation _tmp4_;
	GtkAllocation _tmp5_;
	cairo_pattern_t* pat = NULL;
	cairo_pattern_t* _tmp6_;
	SynapseGuiUtilsColorHelper* _tmp7_;
	SynapseGuiUtilsColorHelper* _tmp8_;
	SynapseGuiUtilsColorHelper* _tmp9_;
#line 213 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) base;
#line 213 "view-virgilio.vala"
	g_return_if_fail (ctx != NULL);
#line 216 "view-virgilio.vala"
	_tmp0_ = self->priv->container;
#line 216 "view-virgilio.vala"
	gtk_widget_get_allocation ((GtkWidget*) _tmp0_, &_tmp1_);
#line 216 "view-virgilio.vala"
	container_allocation = _tmp1_;
#line 218 "view-virgilio.vala"
	_tmp2_ = container_allocation;
#line 218 "view-virgilio.vala"
	width = _tmp2_.width + (((SynapseGuiView*) self)->BORDER_RADIUS * 2);
#line 219 "view-virgilio.vala"
	_tmp3_ = container_allocation;
#line 219 "view-virgilio.vala"
	height = _tmp3_.height + (((SynapseGuiView*) self)->BORDER_RADIUS * 2);
#line 220 "view-virgilio.vala"
	_tmp4_ = container_allocation;
#line 220 "view-virgilio.vala"
	_tmp5_ = container_allocation;
#line 220 "view-virgilio.vala"
	cairo_translate (ctx, (gdouble) (_tmp4_.x - ((SynapseGuiView*) self)->BORDER_RADIUS), (gdouble) (_tmp5_.y - ((SynapseGuiView*) self)->BORDER_RADIUS));
#line 221 "view-virgilio.vala"
	if (gtk_widget_is_composited ((GtkWidget*) self)) {
#line 223 "view-virgilio.vala"
		cairo_translate (ctx, 0.5, 0.5);
#line 224 "view-virgilio.vala"
		cairo_set_operator (ctx, CAIRO_OPERATOR_OVER);
#line 225 "view-virgilio.vala"
		synapse_gui_utils_cairo_make_shadow_for_rect (ctx, (gdouble) 0, (gdouble) 0, (gdouble) (width - 1), (gdouble) (height - 1), (gdouble) ((SynapseGuiView*) self)->BORDER_RADIUS, (gdouble) 0, (gdouble) 0, (gdouble) 0, (gdouble) ((SynapseGuiView*) self)->SHADOW_SIZE);
#line 227 "view-virgilio.vala"
		cairo_translate (ctx, -0.5, -0.5);
#line 1447 "view-virgilio.c"
	}
#line 229 "view-virgilio.vala"
	cairo_save (ctx);
#line 231 "view-virgilio.vala"
	_tmp6_ = cairo_pattern_create_linear ((gdouble) 0, (gdouble) 0, (gdouble) 0, (gdouble) height);
#line 231 "view-virgilio.vala"
	pat = _tmp6_;
#line 232 "view-virgilio.vala"
	_tmp7_ = ((SynapseGuiView*) self)->ch;
#line 232 "view-virgilio.vala"
	synapse_gui_utils_color_helper_add_color_stop_rgba (_tmp7_, pat, 0.0, 0.95, SYNAPSE_GUI_STYLE_TYPE_BG, GTK_STATE_FLAG_NORMAL, SYNAPSE_GUI_MOD_LIGHTER);
#line 233 "view-virgilio.vala"
	_tmp8_ = ((SynapseGuiView*) self)->ch;
#line 233 "view-virgilio.vala"
	synapse_gui_utils_color_helper_add_color_stop_rgba (_tmp8_, pat, 0.2, 1.0, SYNAPSE_GUI_STYLE_TYPE_BG, GTK_STATE_FLAG_NORMAL, SYNAPSE_GUI_MOD_NORMAL);
#line 234 "view-virgilio.vala"
	_tmp9_ = ((SynapseGuiView*) self)->ch;
#line 234 "view-virgilio.vala"
	synapse_gui_utils_color_helper_add_color_stop_rgba (_tmp9_, pat, 1.0, 1.0, SYNAPSE_GUI_STYLE_TYPE_BG, GTK_STATE_FLAG_NORMAL, SYNAPSE_GUI_MOD_DARKER);
#line 235 "view-virgilio.vala"
	synapse_gui_utils_cairo_rounded_rect (ctx, (gdouble) 0, (gdouble) 0, (gdouble) width, (gdouble) height, (gdouble) ((SynapseGuiView*) self)->BORDER_RADIUS);
#line 236 "view-virgilio.vala"
	cairo_set_source (ctx, pat);
#line 237 "view-virgilio.vala"
	cairo_set_operator (ctx, CAIRO_OPERATOR_SOURCE);
#line 238 "view-virgilio.vala"
	cairo_clip (ctx);
#line 239 "view-virgilio.vala"
	cairo_paint (ctx);
#line 240 "view-virgilio.vala"
	cairo_restore (ctx);
#line 213 "view-virgilio.vala"
	_cairo_pattern_destroy0 (pat);
#line 1481 "view-virgilio.c"
}

static void
synapse_gui_view_virgilio_real_update_focused_source (SynapseGuiView* base,
                                                      SynapseGuiEntry* m)
{
	SynapseGuiViewVirgilio * self;
	gconstpointer _tmp0_;
	gconstpointer _tmp1_;
	SynapseGuiModel* _tmp7_;
#line 243 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) base;
#line 243 "view-virgilio.vala"
	g_return_if_fail (m != NULL);
#line 245 "view-virgilio.vala"
	_tmp0_ = synapse_gui_entry_get_value (m);
#line 245 "view-virgilio.vala"
	_tmp1_ = _tmp0_;
#line 245 "view-virgilio.vala"
	if (((SynapseMatch*) _tmp1_) != NULL) {
#line 1502 "view-virgilio.c"
		SynapseGuiSpecificMatchList* _tmp2_;
		gconstpointer _tmp3_;
		gconstpointer _tmp4_;
		gconstpointer _tmp5_;
		gconstpointer _tmp6_;
#line 245 "view-virgilio.vala"
		_tmp2_ = self->priv->results_sources;
#line 245 "view-virgilio.vala"
		_tmp3_ = synapse_gui_entry_get_key (m);
#line 245 "view-virgilio.vala"
		_tmp4_ = _tmp3_;
#line 245 "view-virgilio.vala"
		_tmp5_ = synapse_gui_entry_get_key (m);
#line 245 "view-virgilio.vala"
		_tmp6_ = _tmp5_;
#line 245 "view-virgilio.vala"
		synapse_gui_match_list_view_set_indexes ((SynapseGuiMatchListView*) _tmp2_, (gint) ((gintptr) _tmp4_), (gint) ((gintptr) _tmp6_));
#line 1520 "view-virgilio.c"
	}
#line 246 "view-virgilio.vala"
	_tmp7_ = ((SynapseGuiView*) self)->model;
#line 246 "view-virgilio.vala"
	if (_tmp7_->searching_for == SYNAPSE_GUI_SEARCHING_FOR_SOURCES) {
#line 246 "view-virgilio.vala"
		synapse_gui_view_virgilio_update_labels (self);
#line 1528 "view-virgilio.c"
	}
}

static void
synapse_gui_view_virgilio_real_update_focused_action (SynapseGuiView* base,
                                                      SynapseGuiEntry* m)
{
	SynapseGuiViewVirgilio * self;
	gconstpointer _tmp0_;
	gconstpointer _tmp1_;
	SynapseGuiModel* _tmp7_;
#line 249 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) base;
#line 249 "view-virgilio.vala"
	g_return_if_fail (m != NULL);
#line 251 "view-virgilio.vala"
	_tmp0_ = synapse_gui_entry_get_value (m);
#line 251 "view-virgilio.vala"
	_tmp1_ = _tmp0_;
#line 251 "view-virgilio.vala"
	if (((SynapseMatch*) _tmp1_) != NULL) {
#line 1550 "view-virgilio.c"
		SynapseGuiSpecificMatchList* _tmp2_;
		gconstpointer _tmp3_;
		gconstpointer _tmp4_;
		gconstpointer _tmp5_;
		gconstpointer _tmp6_;
#line 253 "view-virgilio.vala"
		_tmp2_ = self->priv->results_actions;
#line 253 "view-virgilio.vala"
		_tmp3_ = synapse_gui_entry_get_key (m);
#line 253 "view-virgilio.vala"
		_tmp4_ = _tmp3_;
#line 253 "view-virgilio.vala"
		_tmp5_ = synapse_gui_entry_get_key (m);
#line 253 "view-virgilio.vala"
		_tmp6_ = _tmp5_;
#line 253 "view-virgilio.vala"
		synapse_gui_match_list_view_set_indexes ((SynapseGuiMatchListView*) _tmp2_, (gint) ((gintptr) _tmp4_), (gint) ((gintptr) _tmp6_));
#line 1568 "view-virgilio.c"
	}
#line 255 "view-virgilio.vala"
	_tmp7_ = ((SynapseGuiView*) self)->model;
#line 255 "view-virgilio.vala"
	if (_tmp7_->searching_for == SYNAPSE_GUI_SEARCHING_FOR_ACTIONS) {
#line 255 "view-virgilio.vala"
		synapse_gui_view_virgilio_update_labels (self);
#line 1576 "view-virgilio.c"
	}
}

static void
synapse_gui_view_virgilio_real_update_focused_target (SynapseGuiView* base,
                                                      SynapseGuiEntry* m)
{
	SynapseGuiViewVirgilio * self;
	gconstpointer _tmp0_;
	gconstpointer _tmp1_;
	SynapseGuiModel* _tmp7_;
#line 258 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) base;
#line 258 "view-virgilio.vala"
	g_return_if_fail (m != NULL);
#line 260 "view-virgilio.vala"
	_tmp0_ = synapse_gui_entry_get_value (m);
#line 260 "view-virgilio.vala"
	_tmp1_ = _tmp0_;
#line 260 "view-virgilio.vala"
	if (((SynapseMatch*) _tmp1_) != NULL) {
#line 1598 "view-virgilio.c"
		SynapseGuiSpecificMatchList* _tmp2_;
		gconstpointer _tmp3_;
		gconstpointer _tmp4_;
		gconstpointer _tmp5_;
		gconstpointer _tmp6_;
#line 260 "view-virgilio.vala"
		_tmp2_ = self->priv->results_targets;
#line 260 "view-virgilio.vala"
		_tmp3_ = synapse_gui_entry_get_key (m);
#line 260 "view-virgilio.vala"
		_tmp4_ = _tmp3_;
#line 260 "view-virgilio.vala"
		_tmp5_ = synapse_gui_entry_get_key (m);
#line 260 "view-virgilio.vala"
		_tmp6_ = _tmp5_;
#line 260 "view-virgilio.vala"
		synapse_gui_match_list_view_set_indexes ((SynapseGuiMatchListView*) _tmp2_, (gint) ((gintptr) _tmp4_), (gint) ((gintptr) _tmp6_));
#line 1616 "view-virgilio.c"
	}
#line 261 "view-virgilio.vala"
	_tmp7_ = ((SynapseGuiView*) self)->model;
#line 261 "view-virgilio.vala"
	if (_tmp7_->searching_for == SYNAPSE_GUI_SEARCHING_FOR_TARGETS) {
#line 261 "view-virgilio.vala"
		synapse_gui_view_virgilio_update_labels (self);
#line 1624 "view-virgilio.c"
	}
}

static void
synapse_gui_view_virgilio_real_update_sources (SynapseGuiView* base,
                                               GeeList* list)
{
	SynapseGuiViewVirgilio * self;
	SynapseGuiSpecificMatchList* _tmp0_;
	GtkBox* _tmp1_;
	SynapseGuiIController* _tmp2_;
	SynapseGuiIController* _tmp3_;
#line 264 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) base;
#line 266 "view-virgilio.vala"
	_tmp0_ = self->priv->results_sources;
#line 266 "view-virgilio.vala"
	synapse_gui_match_list_view_set_list ((SynapseGuiMatchListView*) _tmp0_, list, 0, -1);
#line 267 "view-virgilio.vala"
	_tmp1_ = self->priv->action_box;
#line 267 "view-virgilio.vala"
	_tmp2_ = synapse_gui_iview_get_controller ((SynapseGuiIView*) self);
#line 267 "view-virgilio.vala"
	_tmp3_ = _tmp2_;
#line 267 "view-virgilio.vala"
	gtk_widget_set_visible ((GtkWidget*) _tmp1_, !synapse_gui_icontroller_is_in_initial_state (_tmp3_));
#line 1651 "view-virgilio.c"
}

static void
synapse_gui_view_virgilio_real_update_actions (SynapseGuiView* base,
                                               GeeList* list)
{
	SynapseGuiViewVirgilio * self;
	SynapseGuiSpecificMatchList* _tmp0_;
#line 269 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) base;
#line 271 "view-virgilio.vala"
	_tmp0_ = self->priv->results_actions;
#line 271 "view-virgilio.vala"
	synapse_gui_match_list_view_set_list ((SynapseGuiMatchListView*) _tmp0_, list, 0, -1);
#line 1666 "view-virgilio.c"
}

static void
synapse_gui_view_virgilio_real_update_targets (SynapseGuiView* base,
                                               GeeList* list)
{
	SynapseGuiViewVirgilio * self;
	SynapseGuiSpecificMatchList* _tmp0_;
	SynapseGuiSpecificMatchList* _tmp1_;
	GtkBox* _tmp2_;
	SynapseGuiSpecificMatchList* _tmp3_;
	gint _tmp4_;
	gint _tmp5_;
#line 273 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) base;
#line 275 "view-virgilio.vala"
	_tmp0_ = self->priv->results_targets;
#line 275 "view-virgilio.vala"
	synapse_gui_match_list_view_set_list ((SynapseGuiMatchListView*) _tmp0_, list, 0, -1);
#line 276 "view-virgilio.vala"
	_tmp1_ = self->priv->results_targets;
#line 276 "view-virgilio.vala"
	synapse_gui_specific_match_list_update_searching_for (_tmp1_);
#line 277 "view-virgilio.vala"
	_tmp2_ = self->priv->target_box;
#line 277 "view-virgilio.vala"
	_tmp3_ = self->priv->results_targets;
#line 277 "view-virgilio.vala"
	_tmp4_ = synapse_gui_match_list_view_get_min_visible_rows ((SynapseGuiMatchListView*) _tmp3_);
#line 277 "view-virgilio.vala"
	_tmp5_ = _tmp4_;
#line 277 "view-virgilio.vala"
	gtk_widget_set_visible ((GtkWidget*) _tmp2_, _tmp5_ > 0);
#line 1700 "view-virgilio.c"
}

SynapseGuiViewVirgilio*
synapse_gui_view_virgilio_construct (GType object_type)
{
	SynapseGuiViewVirgilio * self = NULL;
#line 24 "view-virgilio.vala"
	self = (SynapseGuiViewVirgilio*) synapse_gui_view_construct (object_type);
#line 24 "view-virgilio.vala"
	return self;
#line 1711 "view-virgilio.c"
}

SynapseGuiViewVirgilio*
synapse_gui_view_virgilio_new (void)
{
#line 24 "view-virgilio.vala"
	return synapse_gui_view_virgilio_construct (SYNAPSE_GUI_TYPE_VIEW_VIRGILIO);
#line 1719 "view-virgilio.c"
}

static GObject *
synapse_gui_view_virgilio_constructor (GType type,
                                       guint n_construct_properties,
                                       GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	SynapseGuiViewVirgilio * self;
#line 26 "view-virgilio.vala"
	parent_class = G_OBJECT_CLASS (synapse_gui_view_virgilio_parent_class);
#line 26 "view-virgilio.vala"
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
#line 26 "view-virgilio.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_GUI_TYPE_VIEW_VIRGILIO, SynapseGuiViewVirgilio);
#line 26 "view-virgilio.vala"
	return obj;
#line 1738 "view-virgilio.c"
}

static void
synapse_gui_view_virgilio_class_init (SynapseGuiViewVirgilioClass * klass,
                                      gpointer klass_data)
{
	GParamSpecInt* icon_size = NULL;
	GParamSpecInt* _tmp0_;
	GParamSpecString* title_max = NULL;
	GParamSpecString* _tmp1_;
	GParamSpecString* descr_max = NULL;
	GParamSpecString* _tmp2_;
	GParamSpecInt* _tmp3_;
	GParamSpecString* _tmp4_;
	GParamSpecString* _tmp5_;
#line 24 "view-virgilio.vala"
	synapse_gui_view_virgilio_parent_class = g_type_class_peek_parent (klass);
#line 24 "view-virgilio.vala"
	g_type_class_adjust_private_offset (klass, &SynapseGuiViewVirgilio_private_offset);
#line 24 "view-virgilio.vala"
	((GtkWidgetClass *) klass)->style_updated = (void (*) (GtkWidget*)) synapse_gui_view_virgilio_real_style_updated;
#line 24 "view-virgilio.vala"
	((SynapseGuiViewClass *) klass)->build_ui = (void (*) (SynapseGuiView*)) synapse_gui_view_virgilio_real_build_ui;
#line 24 "view-virgilio.vala"
	((SynapseGuiViewClass *) klass)->is_list_visible = (gboolean (*) (SynapseGuiView*)) synapse_gui_view_virgilio_real_is_list_visible;
#line 24 "view-virgilio.vala"
	((SynapseGuiViewClass *) klass)->set_list_visible = (void (*) (SynapseGuiView*, gboolean)) synapse_gui_view_virgilio_real_set_list_visible;
#line 24 "view-virgilio.vala"
	((SynapseGuiViewClass *) klass)->set_throbber_visible = (void (*) (SynapseGuiView*, gboolean)) synapse_gui_view_virgilio_real_set_throbber_visible;
#line 24 "view-virgilio.vala"
	((SynapseGuiViewClass *) klass)->update_searching_for = (void (*) (SynapseGuiView*)) synapse_gui_view_virgilio_real_update_searching_for;
#line 24 "view-virgilio.vala"
	((SynapseGuiViewClass *) klass)->update_selected_category = (void (*) (SynapseGuiView*)) synapse_gui_view_virgilio_real_update_selected_category;
#line 24 "view-virgilio.vala"
	((SynapseGuiViewClass *) klass)->paint_background = (void (*) (SynapseGuiView*, cairo_t*)) synapse_gui_view_virgilio_real_paint_background;
#line 24 "view-virgilio.vala"
	((SynapseGuiViewClass *) klass)->update_focused_source = (void (*) (SynapseGuiView*, SynapseGuiEntry*)) synapse_gui_view_virgilio_real_update_focused_source;
#line 24 "view-virgilio.vala"
	((SynapseGuiViewClass *) klass)->update_focused_action = (void (*) (SynapseGuiView*, SynapseGuiEntry*)) synapse_gui_view_virgilio_real_update_focused_action;
#line 24 "view-virgilio.vala"
	((SynapseGuiViewClass *) klass)->update_focused_target = (void (*) (SynapseGuiView*, SynapseGuiEntry*)) synapse_gui_view_virgilio_real_update_focused_target;
#line 24 "view-virgilio.vala"
	((SynapseGuiViewClass *) klass)->update_sources = (void (*) (SynapseGuiView*, GeeList*)) synapse_gui_view_virgilio_real_update_sources;
#line 24 "view-virgilio.vala"
	((SynapseGuiViewClass *) klass)->update_actions = (void (*) (SynapseGuiView*, GeeList*)) synapse_gui_view_virgilio_real_update_actions;
#line 24 "view-virgilio.vala"
	((SynapseGuiViewClass *) klass)->update_targets = (void (*) (SynapseGuiView*, GeeList*)) synapse_gui_view_virgilio_real_update_targets;
#line 24 "view-virgilio.vala"
	G_OBJECT_CLASS (klass)->constructor = synapse_gui_view_virgilio_constructor;
#line 24 "view-virgilio.vala"
	G_OBJECT_CLASS (klass)->finalize = synapse_gui_view_virgilio_finalize;
#line 32 "view-virgilio.vala"
	_tmp0_ = (GParamSpecInt*) g_param_spec_int ("icon-size", "Icon Size", "The size of focused icon in supported themes", 24, 64, 48, G_PARAM_READWRITE);
#line 32 "view-virgilio.vala"
	icon_size = _tmp0_;
#line 37 "view-virgilio.vala"
	_tmp1_ = (GParamSpecString*) g_param_spec_string ("title-size", "Title Font Size", "The standard size the match title in Pango absolute sizes (string)", "large", G_PARAM_READWRITE);
#line 37 "view-virgilio.vala"
	title_max = _tmp1_;
#line 43 "view-virgilio.vala"
	_tmp2_ = (GParamSpecString*) g_param_spec_string ("description-size", "Description Font Size", "The standard size the match description in Pango absolute sizes (strin" \
"g)", "medium", G_PARAM_READWRITE);
#line 43 "view-virgilio.vala"
	descr_max = _tmp2_;
#line 49 "view-virgilio.vala"
	_tmp3_ = icon_size;
#line 49 "view-virgilio.vala"
	gtk_widget_class_install_style_property (GTK_WIDGET_CLASS (klass), (GParamSpec*) _tmp3_);
#line 50 "view-virgilio.vala"
	_tmp4_ = title_max;
#line 50 "view-virgilio.vala"
	gtk_widget_class_install_style_property (GTK_WIDGET_CLASS (klass), (GParamSpec*) _tmp4_);
#line 51 "view-virgilio.vala"
	_tmp5_ = descr_max;
#line 51 "view-virgilio.vala"
	gtk_widget_class_install_style_property (GTK_WIDGET_CLASS (klass), (GParamSpec*) _tmp5_);
#line 30 "view-virgilio.vala"
	_g_param_spec_unref0 (descr_max);
#line 30 "view-virgilio.vala"
	_g_param_spec_unref0 (title_max);
#line 30 "view-virgilio.vala"
	_g_param_spec_unref0 (icon_size);
#line 1820 "view-virgilio.c"
}

static void
synapse_gui_view_virgilio_instance_init (SynapseGuiViewVirgilio * self,
                                         gpointer klass)
{
#line 24 "view-virgilio.vala"
	self->priv = synapse_gui_view_virgilio_get_instance_private (self);
#line 1829 "view-virgilio.c"
}

static void
synapse_gui_view_virgilio_finalize (GObject * obj)
{
	SynapseGuiViewVirgilio * self;
#line 24 "view-virgilio.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, SYNAPSE_GUI_TYPE_VIEW_VIRGILIO, SynapseGuiViewVirgilio);
#line 69 "view-virgilio.vala"
	_g_object_unref0 (self->priv->container);
#line 70 "view-virgilio.vala"
	_g_object_unref0 (self->priv->action_box);
#line 71 "view-virgilio.vala"
	_g_object_unref0 (self->priv->target_box);
#line 73 "view-virgilio.vala"
	_g_object_unref0 (self->priv->status);
#line 74 "view-virgilio.vala"
	_g_object_unref0 (self->priv->search);
#line 76 "view-virgilio.vala"
	_g_object_unref0 (self->priv->results_sources);
#line 77 "view-virgilio.vala"
	_g_object_unref0 (self->priv->results_actions);
#line 78 "view-virgilio.vala"
	_g_object_unref0 (self->priv->results_targets);
#line 80 "view-virgilio.vala"
	_g_object_unref0 (self->priv->menuthrobber);
#line 24 "view-virgilio.vala"
	G_OBJECT_CLASS (synapse_gui_view_virgilio_parent_class)->finalize (obj);
#line 1858 "view-virgilio.c"
}

static GType
synapse_gui_view_virgilio_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SynapseGuiViewVirgilioClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) synapse_gui_view_virgilio_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (SynapseGuiViewVirgilio), 0, (GInstanceInitFunc) synapse_gui_view_virgilio_instance_init, NULL };
	GType synapse_gui_view_virgilio_type_id;
	synapse_gui_view_virgilio_type_id = g_type_register_static (SYNAPSE_GUI_TYPE_VIEW, "SynapseGuiViewVirgilio", &g_define_type_info, 0);
	SynapseGuiViewVirgilio_private_offset = g_type_add_instance_private (synapse_gui_view_virgilio_type_id, sizeof (SynapseGuiViewVirgilioPrivate));
	return synapse_gui_view_virgilio_type_id;
}

GType
synapse_gui_view_virgilio_get_type (void)
{
	static volatile gsize synapse_gui_view_virgilio_type_id__once = 0;
	if (g_once_init_enter (&synapse_gui_view_virgilio_type_id__once)) {
		GType synapse_gui_view_virgilio_type_id;
		synapse_gui_view_virgilio_type_id = synapse_gui_view_virgilio_get_type_once ();
		g_once_init_leave (&synapse_gui_view_virgilio_type_id__once, synapse_gui_view_virgilio_type_id);
	}
	return synapse_gui_view_virgilio_type_id__once;
}

