/* vtgprojectmanagerui.c generated by valac 0.12.1.1-323029-dirty, the Vala compiler
 * generated from vtgprojectmanagerui.vala, do not modify */

/*
 *  vtgprojectmanagerui.vala - Vala developer toys for GEdit
 *  
 *  Copyright (C) 2008 - Andrea Del Signore <sejerpz@tin.it>
 *  
 *  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., 59 Temple Place, Suite 330,
 *  Boston, MA 02111-1307, USA.
 */

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <gtk/gtk.h>
#include <libpeas-gtk/peas-gtk.h>
#include <girepository.h>
#include <gmodule.h>
#include <libpeas/peas.h>
#include <gedit/gedit-window.h>
#include <gedit/gedit-statusbar.h>
#include <config.h>
#include <glib/gi18n-lib.h>
#include <gedit/gedit-document.h>
#include <vbf.h>
#include <gedit/gedit-view.h>
#include <valagee.h>
#include <afrodite.h>
#include <gedit/gedit-tab.h>
#include <gdk-pixbuf/gdk-pixdata.h>
#include <gedit/gedit-commands.h>
#include <sys/wait.h>


#define VTG_TYPE_PROJECT_MANAGER_UI (vtg_project_manager_ui_get_type ())
#define VTG_PROJECT_MANAGER_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_PROJECT_MANAGER_UI, VtgProjectManagerUi))
#define VTG_PROJECT_MANAGER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_PROJECT_MANAGER_UI, VtgProjectManagerUiClass))
#define VTG_IS_PROJECT_MANAGER_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_PROJECT_MANAGER_UI))
#define VTG_IS_PROJECT_MANAGER_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_PROJECT_MANAGER_UI))
#define VTG_PROJECT_MANAGER_UI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_PROJECT_MANAGER_UI, VtgProjectManagerUiClass))

typedef struct _VtgProjectManagerUi VtgProjectManagerUi;
typedef struct _VtgProjectManagerUiClass VtgProjectManagerUiClass;
typedef struct _VtgProjectManagerUiPrivate VtgProjectManagerUiPrivate;

#define VTG_TYPE_PLUGIN_INSTANCE (vtg_plugin_instance_get_type ())
#define VTG_PLUGIN_INSTANCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_PLUGIN_INSTANCE, VtgPluginInstance))
#define VTG_PLUGIN_INSTANCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_PLUGIN_INSTANCE, VtgPluginInstanceClass))
#define VTG_IS_PLUGIN_INSTANCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_PLUGIN_INSTANCE))
#define VTG_IS_PLUGIN_INSTANCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_PLUGIN_INSTANCE))
#define VTG_PLUGIN_INSTANCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_PLUGIN_INSTANCE, VtgPluginInstanceClass))

typedef struct _VtgPluginInstance VtgPluginInstance;
typedef struct _VtgPluginInstanceClass VtgPluginInstanceClass;

#define VTG_TYPE_PROJECT_BUILDER (vtg_project_builder_get_type ())
#define VTG_PROJECT_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_PROJECT_BUILDER, VtgProjectBuilder))
#define VTG_PROJECT_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_PROJECT_BUILDER, VtgProjectBuilderClass))
#define VTG_IS_PROJECT_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_PROJECT_BUILDER))
#define VTG_IS_PROJECT_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_PROJECT_BUILDER))
#define VTG_PROJECT_BUILDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_PROJECT_BUILDER, VtgProjectBuilderClass))

typedef struct _VtgProjectBuilder VtgProjectBuilder;
typedef struct _VtgProjectBuilderClass VtgProjectBuilderClass;

#define VTG_TYPE_PROJECT_EXECUTER (vtg_project_executer_get_type ())
#define VTG_PROJECT_EXECUTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_PROJECT_EXECUTER, VtgProjectExecuter))
#define VTG_PROJECT_EXECUTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_PROJECT_EXECUTER, VtgProjectExecuterClass))
#define VTG_IS_PROJECT_EXECUTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_PROJECT_EXECUTER))
#define VTG_IS_PROJECT_EXECUTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_PROJECT_EXECUTER))
#define VTG_PROJECT_EXECUTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_PROJECT_EXECUTER, VtgProjectExecuterClass))

typedef struct _VtgProjectExecuter VtgProjectExecuter;
typedef struct _VtgProjectExecuterClass VtgProjectExecuterClass;

#define VTG_TYPE_PROJECT_SEARCH (vtg_project_search_get_type ())
#define VTG_PROJECT_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_PROJECT_SEARCH, VtgProjectSearch))
#define VTG_PROJECT_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_PROJECT_SEARCH, VtgProjectSearchClass))
#define VTG_IS_PROJECT_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_PROJECT_SEARCH))
#define VTG_IS_PROJECT_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_PROJECT_SEARCH))
#define VTG_PROJECT_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_PROJECT_SEARCH, VtgProjectSearchClass))

typedef struct _VtgProjectSearch VtgProjectSearch;
typedef struct _VtgProjectSearchClass VtgProjectSearchClass;

#define VTG_TYPE_CHANGE_LOG (vtg_change_log_get_type ())
#define VTG_CHANGE_LOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_CHANGE_LOG, VtgChangeLog))
#define VTG_CHANGE_LOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_CHANGE_LOG, VtgChangeLogClass))
#define VTG_IS_CHANGE_LOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_CHANGE_LOG))
#define VTG_IS_CHANGE_LOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_CHANGE_LOG))
#define VTG_CHANGE_LOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_CHANGE_LOG, VtgChangeLogClass))

typedef struct _VtgChangeLog VtgChangeLog;
typedef struct _VtgChangeLogClass VtgChangeLogClass;

#define VTG_TYPE_PLUGIN (vtg_plugin_get_type ())
#define VTG_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_PLUGIN, VtgPlugin))
#define VTG_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_PLUGIN, VtgPluginClass))
#define VTG_IS_PLUGIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_PLUGIN))
#define VTG_IS_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_PLUGIN))
#define VTG_PLUGIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_PLUGIN, VtgPluginClass))

typedef struct _VtgPlugin VtgPlugin;
typedef struct _VtgPluginClass VtgPluginClass;

#define VTG_TYPE_PROJECTS (vtg_projects_get_type ())
#define VTG_PROJECTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_PROJECTS, VtgProjects))
#define VTG_PROJECTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_PROJECTS, VtgProjectsClass))
#define VTG_IS_PROJECTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_PROJECTS))
#define VTG_IS_PROJECTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_PROJECTS))
#define VTG_PROJECTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_PROJECTS, VtgProjectsClass))

typedef struct _VtgProjects VtgProjects;
typedef struct _VtgProjectsClass VtgProjectsClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))

#define VTG_TYPE_PROJECT_VIEW (vtg_project_view_get_type ())
#define VTG_PROJECT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_PROJECT_VIEW, VtgProjectView))
#define VTG_PROJECT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_PROJECT_VIEW, VtgProjectViewClass))
#define VTG_IS_PROJECT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_PROJECT_VIEW))
#define VTG_IS_PROJECT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_PROJECT_VIEW))
#define VTG_PROJECT_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_PROJECT_VIEW, VtgProjectViewClass))

typedef struct _VtgProjectView VtgProjectView;
typedef struct _VtgProjectViewClass VtgProjectViewClass;

#define VTG_TYPE_PROJECT_MANAGER (vtg_project_manager_get_type ())
#define VTG_PROJECT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_PROJECT_MANAGER, VtgProjectManager))
#define VTG_PROJECT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_PROJECT_MANAGER, VtgProjectManagerClass))
#define VTG_IS_PROJECT_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_PROJECT_MANAGER))
#define VTG_IS_PROJECT_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_PROJECT_MANAGER))
#define VTG_PROJECT_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_PROJECT_MANAGER, VtgProjectManagerClass))

typedef struct _VtgProjectManager VtgProjectManager;
typedef struct _VtgProjectManagerClass VtgProjectManagerClass;

#define VTG_TYPE_BUILD_LOG_VIEW (vtg_build_log_view_get_type ())
#define VTG_BUILD_LOG_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_BUILD_LOG_VIEW, VtgBuildLogView))
#define VTG_BUILD_LOG_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_BUILD_LOG_VIEW, VtgBuildLogViewClass))
#define VTG_IS_BUILD_LOG_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_BUILD_LOG_VIEW))
#define VTG_IS_BUILD_LOG_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_BUILD_LOG_VIEW))
#define VTG_BUILD_LOG_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_BUILD_LOG_VIEW, VtgBuildLogViewClass))

typedef struct _VtgBuildLogView VtgBuildLogView;
typedef struct _VtgBuildLogViewClass VtgBuildLogViewClass;
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))

#define VTG_TYPE_SYMBOL_COMPLETION (vtg_symbol_completion_get_type ())
#define VTG_SYMBOL_COMPLETION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_SYMBOL_COMPLETION, VtgSymbolCompletion))
#define VTG_SYMBOL_COMPLETION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_SYMBOL_COMPLETION, VtgSymbolCompletionClass))
#define VTG_IS_SYMBOL_COMPLETION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_SYMBOL_COMPLETION))
#define VTG_IS_SYMBOL_COMPLETION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_SYMBOL_COMPLETION))
#define VTG_SYMBOL_COMPLETION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_SYMBOL_COMPLETION, VtgSymbolCompletionClass))

typedef struct _VtgSymbolCompletion VtgSymbolCompletion;
typedef struct _VtgSymbolCompletionClass VtgSymbolCompletionClass;

#define VTG_TYPE_FILTERED_LIST_DIALOG_COLUMNS (vtg_filtered_list_dialog_columns_get_type ())
#define _vala_iterable_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterable_unref (var), NULL)))

#define VTG_TYPE_FILTERED_LIST_DIALOG (vtg_filtered_list_dialog_get_type ())
#define VTG_FILTERED_LIST_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_FILTERED_LIST_DIALOG, VtgFilteredListDialog))
#define VTG_FILTERED_LIST_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_FILTERED_LIST_DIALOG, VtgFilteredListDialogClass))
#define VTG_IS_FILTERED_LIST_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_FILTERED_LIST_DIALOG))
#define VTG_IS_FILTERED_LIST_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_FILTERED_LIST_DIALOG))
#define VTG_FILTERED_LIST_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_FILTERED_LIST_DIALOG, VtgFilteredListDialogClass))

typedef struct _VtgFilteredListDialog VtgFilteredListDialog;
typedef struct _VtgFilteredListDialogClass VtgFilteredListDialogClass;
typedef struct _VtgFilteredListDialogPrivate VtgFilteredListDialogPrivate;

#define VTG_TYPE_PROJECT_SEARCH_DIALOG (vtg_project_search_dialog_get_type ())
#define VTG_PROJECT_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_PROJECT_SEARCH_DIALOG, VtgProjectSearchDialog))
#define VTG_PROJECT_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_PROJECT_SEARCH_DIALOG, VtgProjectSearchDialogClass))
#define VTG_IS_PROJECT_SEARCH_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_PROJECT_SEARCH_DIALOG))
#define VTG_IS_PROJECT_SEARCH_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_PROJECT_SEARCH_DIALOG))
#define VTG_PROJECT_SEARCH_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_PROJECT_SEARCH_DIALOG, VtgProjectSearchDialogClass))

typedef struct _VtgProjectSearchDialog VtgProjectSearchDialog;
typedef struct _VtgProjectSearchDialogClass VtgProjectSearchDialogClass;
typedef struct _VtgProjectSearchDialogPrivate VtgProjectSearchDialogPrivate;
#define _afrodite_code_dom_unref0(var) ((var == NULL) ? NULL : (var = (afrodite_code_dom_unref (var), NULL)))
#define _vala_iterator_unref0(var) ((var == NULL) ? NULL : (var = (vala_iterator_unref (var), NULL)))

#define VTG_TYPE_FILTERED_LIST_DIALOG_DATA (vtg_filtered_list_dialog_data_get_type ())
#define VTG_FILTERED_LIST_DIALOG_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_FILTERED_LIST_DIALOG_DATA, VtgFilteredListDialogData))
#define VTG_FILTERED_LIST_DIALOG_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_FILTERED_LIST_DIALOG_DATA, VtgFilteredListDialogDataClass))
#define VTG_IS_FILTERED_LIST_DIALOG_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_FILTERED_LIST_DIALOG_DATA))
#define VTG_IS_FILTERED_LIST_DIALOG_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_FILTERED_LIST_DIALOG_DATA))
#define VTG_FILTERED_LIST_DIALOG_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_FILTERED_LIST_DIALOG_DATA, VtgFilteredListDialogDataClass))

typedef struct _VtgFilteredListDialogData VtgFilteredListDialogData;
typedef struct _VtgFilteredListDialogDataClass VtgFilteredListDialogDataClass;
typedef struct _VtgFilteredListDialogDataPrivate VtgFilteredListDialogDataPrivate;
#define _afrodite_source_reference_unref0(var) ((var == NULL) ? NULL : (var = (afrodite_source_reference_unref (var), NULL)))

#define VTG_TYPE_SOURCE_BOOKMARKS (vtg_source_bookmarks_get_type ())
#define VTG_SOURCE_BOOKMARKS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_SOURCE_BOOKMARKS, VtgSourceBookmarks))
#define VTG_SOURCE_BOOKMARKS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_SOURCE_BOOKMARKS, VtgSourceBookmarksClass))
#define VTG_IS_SOURCE_BOOKMARKS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_SOURCE_BOOKMARKS))
#define VTG_IS_SOURCE_BOOKMARKS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_SOURCE_BOOKMARKS))
#define VTG_SOURCE_BOOKMARKS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_SOURCE_BOOKMARKS, VtgSourceBookmarksClass))

typedef struct _VtgSourceBookmarks VtgSourceBookmarks;
typedef struct _VtgSourceBookmarksClass VtgSourceBookmarksClass;
typedef struct _VtgProjectManagerPrivate VtgProjectManagerPrivate;

#define VTG_TYPE_VCS_TYPES (vtg_vcs_types_get_type ())
#define _afrodite_result_item_unref0(var) ((var == NULL) ? NULL : (var = (afrodite_result_item_unref (var), NULL)))
#define _afrodite_query_result_unref0(var) ((var == NULL) ? NULL : (var = (afrodite_query_result_unref (var), NULL)))
#define _afrodite_query_options_unref0(var) ((var == NULL) ? NULL : (var = (afrodite_query_options_unref (var), NULL)))

#define VTG_INTERACTION_TYPE_PARAMETERS_DIALOG (vtg_interaction_parameters_dialog_get_type ())
#define VTG_INTERACTION_PARAMETERS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_INTERACTION_TYPE_PARAMETERS_DIALOG, VtgInteractionParametersDialog))
#define VTG_INTERACTION_PARAMETERS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_INTERACTION_TYPE_PARAMETERS_DIALOG, VtgInteractionParametersDialogClass))
#define VTG_INTERACTION_IS_PARAMETERS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_INTERACTION_TYPE_PARAMETERS_DIALOG))
#define VTG_INTERACTION_IS_PARAMETERS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_INTERACTION_TYPE_PARAMETERS_DIALOG))
#define VTG_INTERACTION_PARAMETERS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_INTERACTION_TYPE_PARAMETERS_DIALOG, VtgInteractionParametersDialogClass))

typedef struct _VtgInteractionParametersDialog VtgInteractionParametersDialog;
typedef struct _VtgInteractionParametersDialogClass VtgInteractionParametersDialogClass;

#define VTG_TYPE_CONFIGURATION (vtg_configuration_get_type ())
#define VTG_CONFIGURATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_CONFIGURATION, VtgConfiguration))
#define VTG_CONFIGURATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_CONFIGURATION, VtgConfigurationClass))
#define VTG_IS_CONFIGURATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_CONFIGURATION))
#define VTG_IS_CONFIGURATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_CONFIGURATION))
#define VTG_CONFIGURATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_CONFIGURATION, VtgConfigurationClass))

typedef struct _VtgConfiguration VtgConfiguration;
typedef struct _VtgConfigurationClass VtgConfigurationClass;
#define _vtg_interaction_parameters_dialog_unref0(var) ((var == NULL) ? NULL : (var = (vtg_interaction_parameters_dialog_unref (var), NULL)))

#define VTG_TYPE_PROJECT_EXECUTER_DIALOG (vtg_project_executer_dialog_get_type ())
#define VTG_PROJECT_EXECUTER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_PROJECT_EXECUTER_DIALOG, VtgProjectExecuterDialog))
#define VTG_PROJECT_EXECUTER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_PROJECT_EXECUTER_DIALOG, VtgProjectExecuterDialogClass))
#define VTG_IS_PROJECT_EXECUTER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_PROJECT_EXECUTER_DIALOG))
#define VTG_IS_PROJECT_EXECUTER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_PROJECT_EXECUTER_DIALOG))
#define VTG_PROJECT_EXECUTER_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_PROJECT_EXECUTER_DIALOG, VtgProjectExecuterDialogClass))

typedef struct _VtgProjectExecuterDialog VtgProjectExecuterDialog;
typedef struct _VtgProjectExecuterDialogClass VtgProjectExecuterDialogClass;
#define _vtg_project_executer_dialog_unref0(var) ((var == NULL) ? NULL : (var = (vtg_project_executer_dialog_unref (var), NULL)))

#define VTG_TYPE_OUTPUT_VIEW (vtg_output_view_get_type ())
#define VTG_OUTPUT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VTG_TYPE_OUTPUT_VIEW, VtgOutputView))
#define VTG_OUTPUT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VTG_TYPE_OUTPUT_VIEW, VtgOutputViewClass))
#define VTG_IS_OUTPUT_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VTG_TYPE_OUTPUT_VIEW))
#define VTG_IS_OUTPUT_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VTG_TYPE_OUTPUT_VIEW))
#define VTG_OUTPUT_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VTG_TYPE_OUTPUT_VIEW, VtgOutputViewClass))

typedef struct _VtgOutputView VtgOutputView;
typedef struct _VtgOutputViewClass VtgOutputViewClass;

#define VTG_TYPE_OUTPUT_TYPES (vtg_output_types_get_type ())
#define _g_dir_close0(var) ((var == NULL) ? NULL : (var = (g_dir_close (var), NULL)))

struct _VtgProjectManagerUi {
	GObject parent_instance;
	VtgProjectManagerUiPrivate * priv;
};

struct _VtgProjectManagerUiClass {
	GObjectClass parent_class;
};

struct _VtgProjectManagerUiPrivate {
	gchar* _ui_def;
	guint _ui_id;
	GtkActionGroup* _actions;
	VtgPluginInstance* _plugin_instance;
	VtgProjectBuilder* _prj_builder;
	VtgProjectExecuter* _prj_executer;
	VtgProjectSearch* _prj_search;
	VtgChangeLog* _changelog;
	gint _cache_building_count;
	guint _sb_msg_id;
	guint _sb_context_id;
	gulong* signal_ids;
	gint signal_ids_length1;
	gint _signal_ids_size_;
};

typedef enum  {
	VTG_FILTERED_LIST_DIALOG_COLUMNS_NAME = 0,
	VTG_FILTERED_LIST_DIALOG_COLUMNS_MARKUP,
	VTG_FILTERED_LIST_DIALOG_COLUMNS_VISIBILITY,
	VTG_FILTERED_LIST_DIALOG_COLUMNS_OBJECT,
	VTG_FILTERED_LIST_DIALOG_COLUMNS_ICON,
	VTG_FILTERED_LIST_DIALOG_COLUMNS_SELECTABLE,
	VTG_FILTERED_LIST_DIALOG_COLUMNS_COLUMNS_COUNT
} VtgFilteredListDialogColumns;

struct _VtgFilteredListDialog {
	GObject parent_instance;
	VtgFilteredListDialogPrivate * priv;
	GtkTreeIter selected_iter;
};

struct _VtgFilteredListDialogClass {
	GObjectClass parent_class;
};

struct _VtgProjectSearchDialog {
	GObject parent_instance;
	VtgProjectSearchDialogPrivate * priv;
	gchar* search_text;
	gboolean match_case;
};

struct _VtgProjectSearchDialogClass {
	GObjectClass parent_class;
};

struct _VtgFilteredListDialogData {
	GObject parent_instance;
	VtgFilteredListDialogDataPrivate * priv;
	AfroditeSymbol* symbol;
};

struct _VtgFilteredListDialogDataClass {
	GObjectClass parent_class;
};

typedef enum  {
	VTG_VCS_TYPES_NONE,
	VTG_VCS_TYPES_GIT,
	VTG_VCS_TYPES_BZR,
	VTG_VCS_TYPES_SVN
} VtgVcsTypes;

struct _VtgProjectManager {
	GObject parent_instance;
	VtgProjectManagerPrivate * priv;
	gchar* filename;
	gboolean is_default;
	ValaList* exec_targets;
	ValaList* all_vala_sources;
	VtgVcsTypes vcs_type;
	gchar* changelog_uri;
};

struct _VtgProjectManagerClass {
	GObjectClass parent_class;
};

typedef enum  {
	VTG_OUTPUT_TYPES_MESSAGE,
	VTG_OUTPUT_TYPES_ERROR,
	VTG_OUTPUT_TYPES_CHILD_PROCESS,
	VTG_OUTPUT_TYPES_BUILD,
	VTG_OUTPUT_TYPES_AUTO_BUILD,
	VTG_OUTPUT_TYPES_SEARCH
} VtgOutputTypes;


static gpointer vtg_project_manager_ui_parent_class = NULL;
extern VtgPlugin* vtg_plugin_main_instance;
extern GdkPixbuf* vtg_utils_icon_project;
static GType vtg_project_manager_ui_type_id = 0;
static gpointer vtg_filtered_list_dialog_data_parent_class = NULL;
static GType vtg_filtered_list_dialog_data_type_id = 0;

GType vtg_project_manager_ui_get_type (void) G_GNUC_CONST;
GType vtg_project_manager_ui_register_type (GTypeModule * module);
GType vtg_plugin_instance_get_type (void) G_GNUC_CONST;
GType vtg_plugin_instance_register_type (GTypeModule * module);
GType vtg_project_builder_get_type (void) G_GNUC_CONST;
GType vtg_project_builder_register_type (GTypeModule * module);
GType vtg_project_executer_get_type (void) G_GNUC_CONST;
GType vtg_project_executer_register_type (GTypeModule * module);
GType vtg_project_search_get_type (void) G_GNUC_CONST;
GType vtg_project_search_register_type (GTypeModule * module);
GType vtg_change_log_get_type (void) G_GNUC_CONST;
GType vtg_change_log_register_type (GTypeModule * module);
#define VTG_PROJECT_MANAGER_UI_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), VTG_TYPE_PROJECT_MANAGER_UI, VtgProjectManagerUiPrivate))
enum  {
	VTG_PROJECT_MANAGER_UI_DUMMY_PROPERTY,
	VTG_PROJECT_MANAGER_UI_PROJECT_BUILDER
};
void vtg_utils_trace (const gchar* format, ...);
GType vtg_plugin_get_type (void) G_GNUC_CONST;
GType vtg_plugin_register_type (GTypeModule * module);
GType vtg_projects_get_type (void) G_GNUC_CONST;
GType vtg_projects_register_type (GTypeModule * module);
VtgProjects* vtg_plugin_get_projects (VtgPlugin* self);
static void vtg_project_manager_ui_on_project_opened (VtgProjectManagerUi* self, VtgProjects* sender, GObject* l);
static void _vtg_project_manager_ui_on_project_opened_vtg_projects_project_opened (VtgProjects* _sender, GObject* project, gpointer self);
static void vtg_project_manager_ui_on_project_closed (VtgProjectManagerUi* self, VtgProjects* sender, GObject* l);
static void _vtg_project_manager_ui_on_project_closed_vtg_projects_project_closed (VtgProjects* _sender, GObject* project, gpointer self);
GeditWindow* vtg_plugin_instance_get_window (VtgPluginInstance* self);
static void vtg_project_manager_ui_on_project_new (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_new_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_open (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_open_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_save_all (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_save_all_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_close (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_close_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_change (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_change_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_build (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_build_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_clean (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_clean_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_configure (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_configure_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_standalone_file_compile (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_standalone_file_compile_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_stop_compilation (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_stop_compilation_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_error_next (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_error_next_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_error_previuos (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_error_previuos_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_execute_process (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_execute_process_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_kill_process (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_kill_process_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_search (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_search_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_search_result_next (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_search_result_next_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_search_result_previous (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_search_result_previous_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_search_symbol (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_search_symbol_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_goto_document (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_goto_document_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_goto_next_position (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_goto_next_position_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_goto_prev_position (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_goto_prev_position_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_goto_symbol (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_goto_symbol_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_goto_definition (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_goto_definition_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_project_goto_outerscope (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_project_goto_outerscope_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_complete_word (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_complete_word_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_prepare_changelog (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_prepare_changelog_gtk_action_callback (GtkAction* action, gpointer self);
static void vtg_project_manager_ui_on_prepare_single_file_changelog (VtgProjectManagerUi* self, GtkAction* action);
static void _vtg_project_manager_ui_on_prepare_single_file_changelog_gtk_action_callback (GtkAction* action, gpointer self);
VtgProjectManagerUi* vtg_project_manager_ui_new (VtgPluginInstance* plugin_instance);
VtgProjectManagerUi* vtg_project_manager_ui_construct (GType object_type, VtgPluginInstance* plugin_instance);
GType vtg_project_view_get_type (void) G_GNUC_CONST;
GType vtg_project_view_register_type (GTypeModule * module);
VtgProjectView* vtg_plugin_instance_get_project_view (VtgPluginInstance* self);
static void vtg_project_manager_ui_on_current_project_changed (VtgProjectManagerUi* self, GObject* sender, GParamSpec* pspec);
static void _vtg_project_manager_ui_on_current_project_changed_g_object_notify (VtgProjectView* _sender, GParamSpec* pspec, gpointer self);
VtgProjectBuilder* vtg_project_builder_new (VtgPluginInstance* plugin_instance);
VtgProjectBuilder* vtg_project_builder_construct (GType object_type, VtgPluginInstance* plugin_instance);
VtgProjectExecuter* vtg_project_executer_new (VtgPluginInstance* plugin_instance);
VtgProjectExecuter* vtg_project_executer_construct (GType object_type, VtgPluginInstance* plugin_instance);
VtgProjectSearch* vtg_project_search_new (VtgPluginInstance* plugin_instance);
VtgProjectSearch* vtg_project_search_construct (GType object_type, VtgPluginInstance* plugin_instance);
static void _lambda0_ (VtgProjectExecuter* sender, VtgProjectManagerUi* self);
GType vtg_project_manager_get_type (void) G_GNUC_CONST;
GType vtg_project_manager_register_type (GTypeModule * module);
VtgProjectManager* vtg_project_view_get_current_project (VtgProjectView* self);
static void vtg_project_manager_ui_update_ui (VtgProjectManagerUi* self, VtgProjectManager* pm);
static void __lambda0__vtg_project_executer_process_start (VtgProjectExecuter* _sender, gpointer self);
static void _lambda1_ (VtgProjectExecuter* sender, gint exit_status, VtgProjectManagerUi* self);
static void __lambda1__vtg_project_executer_process_exit (VtgProjectExecuter* _sender, gint exit_status, gpointer self);
static void _lambda2_ (VtgProjectBuilder* sender, VtgProjectManagerUi* self);
GType vtg_build_log_view_get_type (void) G_GNUC_CONST;
GType vtg_build_log_view_register_type (GTypeModule * module);
VtgBuildLogView* vtg_project_builder_get_error_pane (VtgProjectBuilder* self);
void vtg_build_log_view_clear_messages (VtgBuildLogView* self);
static void __lambda2__vtg_project_builder_build_start (VtgProjectBuilder* _sender, gpointer self);
static void _lambda3_ (VtgProjectBuilder* sender, gint exit_status, VtgProjectManagerUi* self);
static void __lambda3__vtg_project_builder_build_exit (VtgProjectBuilder* _sender, gint exit_status, gpointer self);
static void _lambda4_ (VtgProjectSearch* sender, VtgProjectManagerUi* self);
static void __lambda4__vtg_project_search_search_start (VtgProjectSearch* _sender, gpointer self);
static void _lambda5_ (VtgProjectSearch* sender, gint exit_status, VtgProjectManagerUi* self);
static void __lambda5__vtg_project_search_search_exit (VtgProjectSearch* _sender, gint exit_status, gpointer self);
static void vtg_project_manager_ui_initialize_ui (VtgProjectManagerUi* self);
VtgChangeLog* vtg_change_log_new (VtgPluginInstance* plugin_instance);
VtgChangeLog* vtg_change_log_construct (GType object_type, VtgPluginInstance* plugin_instance);
static void vtg_project_manager_ui_on_project_open_recent (VtgProjectManagerUi* self, GtkRecentChooser* sender);
static void _vtg_project_manager_ui_on_project_open_recent_gtk_recent_chooser_item_activated (GtkRecentChooser* _sender, gpointer self);
static void vtg_project_manager_ui_open_project (VtgProjectManagerUi* self, const gchar* name);
gboolean vtg_change_log_prepare (VtgChangeLog* self, const gchar* file, GError** error);
void vtg_interaction_error_message (const gchar* message, GError* err);
gchar* vtg_utils_get_document_uri (GeditDocument* doc);
VbfSource* vtg_project_manager_get_source_file_from_uri (VtgProjectManager* self, const gchar* uri);
GType vtg_symbol_completion_get_type (void) G_GNUC_CONST;
GType vtg_symbol_completion_register_type (GTypeModule * module);
VtgSymbolCompletion* vtg_plugin_instance_scs_find_from_view (VtgPluginInstance* self, GeditView* view);
void vtg_symbol_completion_complete_word (VtgSymbolCompletion* self);
void vtg_symbol_completion_goto_definition (VtgSymbolCompletion* self);
void vtg_symbol_completion_goto_outerscope (VtgSymbolCompletion* self);
void vtg_plugin_project_save_all (VtgPlugin* self, VtgProjectManager* project);
gboolean vtg_plugin_project_need_save (VtgPlugin* self, VtgProjectManager* project);
void vtg_project_manager_ui_close_project (VtgProjectManagerUi* self, VtgProjectManager* project);
static void vtg_project_manager_ui_on_symbol_cache_building (VtgProjectManagerUi* self, VtgProjectManager* sender);
static void _vtg_project_manager_ui_on_symbol_cache_building_vtg_project_manager_symbol_cache_building (VtgProjectManager* _sender, VtgProjectManager* sender, gpointer self);
static void vtg_project_manager_ui_on_symbol_cache_builded (VtgProjectManagerUi* self, VtgProjectManager* sender);
static void _vtg_project_manager_ui_on_symbol_cache_builded_vtg_project_manager_symbol_cache_builded (VtgProjectManager* _sender, VtgProjectManager* sender, gpointer self);
GtkTreeStore* vtg_filtered_list_dialog_create_model (void);
ValaList* vtg_projects_get_project_managers (VtgProjects* self);
GType vtg_filtered_list_dialog_columns_get_type (void) G_GNUC_CONST;
VbfProject* vtg_project_manager_get_project (VtgProjectManager* self);
VtgFilteredListDialog* vtg_filtered_list_dialog_new (GtkTreeStore* model, GtkTreeIterCompareFunc compare_func, void* compare_func_target);
VtgFilteredListDialog* vtg_filtered_list_dialog_construct (GType object_type, GtkTreeStore* model, GtkTreeIterCompareFunc compare_func, void* compare_func_target);
GType vtg_filtered_list_dialog_get_type (void) G_GNUC_CONST;
GType vtg_filtered_list_dialog_register_type (GTypeModule * module);
void vtg_filtered_list_dialog_set_transient_for (VtgFilteredListDialog* self, GtkWindow* parent);
gboolean vtg_filtered_list_dialog_run (VtgFilteredListDialog* self);
void vtg_project_view_set_current_project (VtgProjectView* self, VtgProjectManager* value);
static gboolean vtg_project_manager_ui_create_project (VtgProjectManagerUi* self, const gchar* project_path);
gboolean vtg_project_builder_configure (VtgProjectBuilder* self, VtgProjectManager* project_manager, const gchar* params);
void vtg_project_search_next_match (VtgProjectSearch* self);
void vtg_project_search_previous_match (VtgProjectSearch* self);
VtgProjectSearchDialog* vtg_project_search_dialog_new (GtkWindow* parent, const gchar* proposed_text);
VtgProjectSearchDialog* vtg_project_search_dialog_construct (GType object_type, GtkWindow* parent, const gchar* proposed_text);
GType vtg_project_search_dialog_get_type (void) G_GNUC_CONST;
GType vtg_project_search_dialog_register_type (GTypeModule * module);
gint vtg_project_search_dialog_run (VtgProjectSearchDialog* self);
gboolean vtg_project_search_search (VtgProjectSearch* self, VtgProjectManager* project_manager, const gchar* text, gboolean match_case);
ValaHashMap* vtg_project_manager_get_completions (VtgProjectManager* self);
static void vtg_project_manager_ui_build_search_symbol_model (VtgProjectManagerUi* self, const gchar* project_path, GtkTreeStore* model, AfroditeSymbol* parent, GtkTreeIter* parent_iter);
static gint vtg_project_manager_ui_sort_symbol_model (VtgProjectManagerUi* self, GtkTreeModel* model, GtkTreeIter* a, GtkTreeIter* b);
static gint _vtg_project_manager_ui_sort_symbol_model_gtk_tree_iter_compare_func (GtkTreeModel* model, GtkTreeIter* a, GtkTreeIter* b, gpointer self);
GType vtg_filtered_list_dialog_data_get_type (void) G_GNUC_CONST;
GType vtg_filtered_list_dialog_data_register_type (GTypeModule * module);
GeditTab* vtg_plugin_instance_activate_uri (VtgPluginInstance* self, const gchar* uri, gint line, gint col);
GType vtg_source_bookmarks_get_type (void) G_GNUC_CONST;
GType vtg_source_bookmarks_register_type (GTypeModule * module);
VtgSourceBookmarks* vtg_plugin_instance_get_bookmarks (VtgPluginInstance* self);
void vtg_source_bookmarks_move_next (VtgSourceBookmarks* self);
void vtg_source_bookmarks_move_previous (VtgSourceBookmarks* self);
VtgProjectManager* vtg_projects_get_default_project (VtgProjects* self);
GType vtg_vcs_types_get_type (void) G_GNUC_CONST;
static GtkTreeIter* _gtk_tree_iter_dup (GtkTreeIter* self);
GdkPixbuf* vtg_utils_get_big_icon_for_target_type (VbfTargetTypes type);
static void vtg_project_manager_ui_build_goto_symbol_model (VtgProjectManagerUi* self, GtkTreeStore* model, AfroditeResultItem* parent, GtkTreeIter* parent_iter);
VtgFilteredListDialogData* vtg_filtered_list_dialog_data_new (AfroditeSymbol* symbol);
VtgFilteredListDialogData* vtg_filtered_list_dialog_data_construct (GType object_type, AfroditeSymbol* symbol);
GdkPixbuf* vtg_utils_get_icon_for_type_name (AfroditeMemberType type);
gint vtg_utils_symbol_type_compare (AfroditeSymbol* vala, AfroditeSymbol* valb);
gchar* vtg_utils_get_document_name (GeditDocument* doc);
AfroditeCompletionEngine* vtg_symbol_completion_get_completion_engine (VtgSymbolCompletion* self);
gboolean vtg_project_manager_contains_vala_source_file (VtgProjectManager* self, const gchar* uri);
GtkListStore* vtg_caches_get_compile_cache (void);
VtgInteractionParametersDialog* vtg_interaction_parameters_dialog_new (const gchar* title, GtkWindow* parent, GtkListStore* completions);
VtgInteractionParametersDialog* vtg_interaction_parameters_dialog_construct (GType object_type, const gchar* title, GtkWindow* parent, GtkListStore* completions);
gpointer vtg_interaction_parameters_dialog_ref (gpointer instance);
void vtg_interaction_parameters_dialog_unref (gpointer instance);
GParamSpec* vtg_interaction_param_spec_parameters_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void vtg_interaction_value_set_parameters_dialog (GValue* value, gpointer v_object);
void vtg_interaction_value_take_parameters_dialog (GValue* value, gpointer v_object);
gpointer vtg_interaction_value_get_parameters_dialog (const GValue* value);
GType vtg_interaction_parameters_dialog_get_type (void) G_GNUC_CONST;
GType vtg_interaction_parameters_dialog_register_type (GTypeModule * module);
gint vtg_interaction_parameters_dialog_run (VtgInteractionParametersDialog* self);
const gchar* vtg_interaction_parameters_dialog_get_parameters (VtgInteractionParametersDialog* self);
gboolean vtg_caches_cache_contains (GtkListStore* cache, const gchar* data);
void vtg_caches_cache_add (GtkListStore* cache, const gchar* data);
GType vtg_configuration_get_type (void) G_GNUC_CONST;
GType vtg_configuration_register_type (GTypeModule * module);
VtgConfiguration* vtg_plugin_get_config (VtgPlugin* self);
gboolean vtg_configuration_get_save_before_build (VtgConfiguration* self);
gboolean vtg_project_builder_compile_file (VtgProjectBuilder* self, const gchar* filename, const gchar* params);
gboolean vtg_project_builder_get_is_building (VtgProjectBuilder* self);
void vtg_project_builder_stop_build (VtgProjectBuilder* self);
GtkListStore* vtg_caches_get_build_cache (void);
gboolean vtg_caches_cache_remove (GtkListStore* cache, const gchar* data);
gboolean vtg_project_builder_build (VtgProjectBuilder* self, VtgProjectManager* project_manager, const gchar* params);
GtkListStore* vtg_caches_get_configure_cache (void);
static void vtg_project_manager_ui_clean_project (VtgProjectManagerUi* self);
VtgProjectExecuterDialog* vtg_project_executer_dialog_new (GtkWindow* parent, VtgProjectManager* project);
VtgProjectExecuterDialog* vtg_project_executer_dialog_construct (GType object_type, GtkWindow* parent, VtgProjectManager* project);
gpointer vtg_project_executer_dialog_ref (gpointer instance);
void vtg_project_executer_dialog_unref (gpointer instance);
GParamSpec* vtg_param_spec_project_executer_dialog (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void vtg_value_set_project_executer_dialog (GValue* value, gpointer v_object);
void vtg_value_take_project_executer_dialog (GValue* value, gpointer v_object);
gpointer vtg_value_get_project_executer_dialog (const GValue* value);
GType vtg_project_executer_dialog_get_type (void) G_GNUC_CONST;
GType vtg_project_executer_dialog_register_type (GTypeModule * module);
gint vtg_project_executer_dialog_run (VtgProjectExecuterDialog* self);
const gchar* vtg_project_executer_dialog_get_command_line (VtgProjectExecuterDialog* self);
gboolean vtg_project_executer_execute (VtgProjectExecuter* self, VbfProject* project, const gchar* command_line);
void vtg_project_executer_kill_last (VtgProjectExecuter* self);
gboolean vtg_project_builder_clean (VtgProjectBuilder* self, VtgProjectManager* project_manager, gboolean vala_stamp);
void vtg_project_builder_next_error (VtgProjectBuilder* self);
void vtg_project_builder_previous_error (VtgProjectBuilder* self);
gboolean vtg_utils_is_vala_doc (GeditDocument* doc);
gint vtg_build_log_view_get_error_count (VtgBuildLogView* self);
gint vtg_build_log_view_get_warning_count (VtgBuildLogView* self);
gboolean vtg_project_executer_get_is_executing (VtgProjectExecuter* self);
gboolean vtg_project_search_get_is_searching (VtgProjectSearch* self);
gboolean vtg_source_bookmarks_get_is_empty (VtgSourceBookmarks* self);
VtgProjectManager* vtg_projects_get_project_manager_for_project_id (VtgProjects* self, const gchar* project_id);
VtgProjectManager* vtg_projects_open_project (VtgProjects* self, const gchar* path, GError** error);
void vtg_projects_close_project (VtgProjects* self, VtgProjectManager* project);
GType vtg_output_view_get_type (void) G_GNUC_CONST;
GType vtg_output_view_register_type (GTypeModule * module);
VtgOutputView* vtg_plugin_instance_get_output_view (VtgPluginInstance* self);
static gboolean vtg_project_manager_ui_is_dir_empty (VtgProjectManagerUi* self, const gchar* dir_path);
GType vtg_output_types_get_type (void) G_GNUC_CONST;
void vtg_output_view_log_message (VtgOutputView* self, VtgOutputTypes output_type, const gchar* message);
const gchar* vtg_configuration_get_author (VtgConfiguration* self);
const gchar* vtg_configuration_get_email_address (VtgConfiguration* self);
VtgProjectBuilder* vtg_project_manager_ui_get_project_builder (VtgProjectManagerUi* self);
static void vtg_project_manager_ui_finalize (GObject* obj);
static void _vala_vtg_project_manager_ui_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
enum  {
	VTG_FILTERED_LIST_DIALOG_DATA_DUMMY_PROPERTY
};
static void vtg_filtered_list_dialog_data_finalize (GObject* obj);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);

static const GtkActionEntry VTG_PROJECT_MANAGER_UI__action_entries[28] = {{"ProjectNew", NULL, "_New Project...", NULL, "Create a new project", (GCallback) _vtg_project_manager_ui_on_project_new_gtk_action_callback}, {"ProjectOpen", NULL, "Op_en Project...", "<control><alt>O", "Open an existing project", (GCallback) _vtg_project_manager_ui_on_project_open_gtk_action_callback}, {"ProjectSaveAll", NULL, "Save All", NULL, "Save all project files", (GCallback) _vtg_project_manager_ui_on_project_save_all_gtk_action_callback}, {"ProjectClose", NULL, "_Close Current Project", NULL, "Close current selected project", (GCallback) _vtg_project_manager_ui_on_project_close_gtk_action_callback}, {"ProjectChange", NULL, "_Change Current Project", NULL, "Change current selected project", (GCallback) _vtg_project_manager_ui_on_project_change_gtk_action_callback}, {"ProjectBuildMenuAction", NULL, "Build", NULL, "Build menu", (GCallback) NULL}, {"ProjectBuild", GTK_STOCK_EXECUTE, "_Build Project", "<control><shift>B", "Build the current project", (GCallback) _vtg_project_manager_ui_on_project_build_gtk_action_callback}, {"ProjectBuildClean", GTK_STOCK_CLEAR, "_Clean Project", NULL, "Clean the current project", (GCallback) _vtg_project_manager_ui_on_project_clean_gtk_action_callback}, {"ProjectBuildConfigure", NULL, "C_onfigure Project", NULL, "Configure or reconfigure the current project", (GCallback) _vtg_project_manager_ui_on_project_configure_gtk_action_callback}, {"ProjectBuildCompileFile", NULL, "_Compile File", "<control>B", "Compile the current file with the vala compiler", (GCallback) _vtg_project_manager_ui_on_standalone_file_compile_gtk_action_callback}, {"ProjectBuildStopCompilation", GTK_STOCK_STOP, "_Stop Compilation", "<control>B", "Stop the running compilation", (GCallback) _vtg_project_manager_ui_on_stop_compilation_gtk_action_callback}, {"ProjectBuildNextError", GTK_STOCK_GO_FORWARD, "_Next Error", "<control><shift>F12", "Go to next error source line", (GCallback) _vtg_project_manager_ui_on_project_error_next_gtk_action_callback}, {"ProjectBuildPreviousError", GTK_STOCK_GO_BACK, "_Previuos Error", NULL, "Go to previous error source line", (GCallback) _vtg_project_manager_ui_on_project_error_previuos_gtk_action_callback}, {"ProjectBuildExecute", GTK_STOCK_EXECUTE, "_Execute", "F5", "Excute target program", (GCallback) _vtg_project_manager_ui_on_project_execute_process_gtk_action_callback}, {"ProjectBuildKill", GTK_STOCK_STOP, "_Stop process", NULL, "Stop (kill) executing program", (GCallback) _vtg_project_manager_ui_on_project_kill_process_gtk_action_callback}, {"ProjectSearch", GTK_STOCK_FIND, "Find In _Project...", "<control><shift>F", "Search for text in all the project files", (GCallback) _vtg_project_manager_ui_on_project_search_gtk_action_callback}, {"ProjectSearchNextResult", NULL, "Find N_ext In Project", NULL, "Search forward for the same text in all the project files", (GCallback) _vtg_project_manager_ui_on_project_search_result_next_gtk_action_callback}, {"ProjectSearchPrevResult", NULL, "Find Previ_ous In Project", NULL, "Search backward for the same text in all the project files", (GCallback) _vtg_project_manager_ui_on_project_search_result_previous_gtk_action_callback}, {"ProjectSearchSymbol", NULL, "Find Symbol In Project...", "<control><alt>M", "Search a symbol in all the project files", (GCallback) _vtg_project_manager_ui_on_project_search_symbol_gtk_action_callback}, {"ProjectGotoDocument", GTK_STOCK_JUMP_TO, "_Go To Document...", "<control>J", "Open a document that belong to this project", (GCallback) _vtg_project_manager_ui_on_project_goto_document_gtk_action_callback}, {"ProjectGotoNextPosition", GTK_STOCK_GO_FORWARD, "_Go To Next Source Position", NULL, "Go to the next source position", (GCallback) _vtg_project_manager_ui_on_project_goto_next_position_gtk_action_callback}, {"ProjectGotoPrevPosition", GTK_STOCK_GO_BACK, "_Go To Previous Source Position", "<alt>Left", "Go to the previous or last saved source position", (GCallback) _vtg_project_manager_ui_on_project_goto_prev_position_gtk_action_callback}, {"ProjectGotoSymbol", NULL, "_Go To Symbol...", "<control>M", "Goto to a specific symbol in the current source document", (GCallback) _vtg_project_manager_ui_on_project_goto_symbol_gtk_action_callback}, {"ProjectGotoDefinition", NULL, "_Go To Definition", "F12", "Goto to a current symbol definition", (GCallback) _vtg_project_manager_ui_on_project_goto_definition_gtk_action_callback}, {"ProjectGotoOuterScope", NULL, "_Go To Outer Scope", "<control>F12", "Goto to the method or class containing the cursor", (GCallback) _vtg_project_manager_ui_on_project_goto_outerscope_gtk_action_callback}, {"ProjectCompleteWord", NULL, "Complete _Word", "<control>space", "Try to complete the word in the current source document", (GCallback) _vtg_project_manager_ui_on_complete_word_gtk_action_callback}, {"ProjectPrepareChangeLog", NULL, "_Prepare ChangeLog", NULL, "Add an entry to the ChangeLog with all added/modified files", (GCallback) _vtg_project_manager_ui_on_prepare_changelog_gtk_action_callback}, {"ProjectPrepareSingleFileChangeLog", NULL, "_Add Current File To ChangeLog", NULL, "Add the current file to the ChangeLog", (GCallback) _vtg_project_manager_ui_on_prepare_single_file_changelog_gtk_action_callback}};

static void _vtg_project_manager_ui_on_project_opened_vtg_projects_project_opened (VtgProjects* _sender, GObject* project, gpointer self) {
	vtg_project_manager_ui_on_project_opened (self, _sender, project);
}


static void _vtg_project_manager_ui_on_project_closed_vtg_projects_project_closed (VtgProjects* _sender, GObject* project, gpointer self) {
	vtg_project_manager_ui_on_project_closed (self, _sender, project);
}


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


static void _vtg_project_manager_ui_on_project_new_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_new (self, action);
}


static void _vtg_project_manager_ui_on_project_open_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_open (self, action);
}


static void _vtg_project_manager_ui_on_project_save_all_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_save_all (self, action);
}


static void _vtg_project_manager_ui_on_project_close_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_close (self, action);
}


static void _vtg_project_manager_ui_on_project_change_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_change (self, action);
}


static void _vtg_project_manager_ui_on_project_build_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_build (self, action);
}


static void _vtg_project_manager_ui_on_project_clean_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_clean (self, action);
}


static void _vtg_project_manager_ui_on_project_configure_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_configure (self, action);
}


static void _vtg_project_manager_ui_on_standalone_file_compile_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_standalone_file_compile (self, action);
}


static void _vtg_project_manager_ui_on_stop_compilation_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_stop_compilation (self, action);
}


static void _vtg_project_manager_ui_on_project_error_next_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_error_next (self, action);
}


static void _vtg_project_manager_ui_on_project_error_previuos_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_error_previuos (self, action);
}


static void _vtg_project_manager_ui_on_project_execute_process_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_execute_process (self, action);
}


static void _vtg_project_manager_ui_on_project_kill_process_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_kill_process (self, action);
}


static void _vtg_project_manager_ui_on_project_search_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_search (self, action);
}


static void _vtg_project_manager_ui_on_project_search_result_next_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_search_result_next (self, action);
}


static void _vtg_project_manager_ui_on_project_search_result_previous_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_search_result_previous (self, action);
}


static void _vtg_project_manager_ui_on_project_search_symbol_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_search_symbol (self, action);
}


static void _vtg_project_manager_ui_on_project_goto_document_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_goto_document (self, action);
}


static void _vtg_project_manager_ui_on_project_goto_next_position_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_goto_next_position (self, action);
}


static void _vtg_project_manager_ui_on_project_goto_prev_position_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_goto_prev_position (self, action);
}


static void _vtg_project_manager_ui_on_project_goto_symbol_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_goto_symbol (self, action);
}


static void _vtg_project_manager_ui_on_project_goto_definition_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_goto_definition (self, action);
}


static void _vtg_project_manager_ui_on_project_goto_outerscope_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_project_goto_outerscope (self, action);
}


static void _vtg_project_manager_ui_on_complete_word_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_complete_word (self, action);
}


static void _vtg_project_manager_ui_on_prepare_changelog_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_prepare_changelog (self, action);
}


static void _vtg_project_manager_ui_on_prepare_single_file_changelog_gtk_action_callback (GtkAction* action, gpointer self) {
	vtg_project_manager_ui_on_prepare_single_file_changelog (self, action);
}


static void _vtg_project_manager_ui_on_current_project_changed_g_object_notify (VtgProjectView* _sender, GParamSpec* pspec, gpointer self) {
	vtg_project_manager_ui_on_current_project_changed (self, _sender, pspec);
}


static void _lambda0_ (VtgProjectExecuter* sender, VtgProjectManagerUi* self) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* _tmp2_;
	VtgProjectManager* prj;
	g_return_if_fail (sender != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	prj = _tmp2_;
	vtg_project_manager_ui_update_ui (self, prj);
	_g_object_unref0 (prj);
}


static void __lambda0__vtg_project_executer_process_start (VtgProjectExecuter* _sender, gpointer self) {
	_lambda0_ (_sender, self);
}


static void _lambda1_ (VtgProjectExecuter* sender, gint exit_status, VtgProjectManagerUi* self) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* _tmp2_;
	VtgProjectManager* prj;
	g_return_if_fail (sender != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	prj = _tmp2_;
	vtg_project_manager_ui_update_ui (self, prj);
	_g_object_unref0 (prj);
}


static void __lambda1__vtg_project_executer_process_exit (VtgProjectExecuter* _sender, gint exit_status, gpointer self) {
	_lambda1_ (_sender, exit_status, self);
}


static void _lambda2_ (VtgProjectBuilder* sender, VtgProjectManagerUi* self) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* _tmp2_;
	VtgProjectManager* prj;
	VtgBuildLogView* _tmp3_ = NULL;
	g_return_if_fail (sender != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	prj = _tmp2_;
	_tmp3_ = vtg_project_builder_get_error_pane (self->priv->_prj_builder);
	vtg_build_log_view_clear_messages (_tmp3_);
	vtg_project_manager_ui_update_ui (self, prj);
	_g_object_unref0 (prj);
}


static void __lambda2__vtg_project_builder_build_start (VtgProjectBuilder* _sender, gpointer self) {
	_lambda2_ (_sender, self);
}


static void _lambda3_ (VtgProjectBuilder* sender, gint exit_status, VtgProjectManagerUi* self) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* _tmp2_;
	VtgProjectManager* prj;
	g_return_if_fail (sender != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	prj = _tmp2_;
	vtg_project_manager_ui_update_ui (self, prj);
	_g_object_unref0 (prj);
}


static void __lambda3__vtg_project_builder_build_exit (VtgProjectBuilder* _sender, gint exit_status, gpointer self) {
	_lambda3_ (_sender, exit_status, self);
}


static void _lambda4_ (VtgProjectSearch* sender, VtgProjectManagerUi* self) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* _tmp2_;
	VtgProjectManager* prj;
	g_return_if_fail (sender != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	prj = _tmp2_;
	vtg_project_manager_ui_update_ui (self, prj);
	_g_object_unref0 (prj);
}


static void __lambda4__vtg_project_search_search_start (VtgProjectSearch* _sender, gpointer self) {
	_lambda4_ (_sender, self);
}


static void _lambda5_ (VtgProjectSearch* sender, gint exit_status, VtgProjectManagerUi* self) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* _tmp2_;
	VtgProjectManager* prj;
	g_return_if_fail (sender != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	prj = _tmp2_;
	vtg_project_manager_ui_update_ui (self, prj);
	_g_object_unref0 (prj);
}


static void __lambda5__vtg_project_search_search_exit (VtgProjectSearch* _sender, gint exit_status, gpointer self) {
	_lambda5_ (_sender, exit_status, self);
}


VtgProjectManagerUi* vtg_project_manager_ui_construct (GType object_type, VtgPluginInstance* plugin_instance) {
	VtgProjectManagerUi * self = NULL;
	VtgProjects* _tmp0_ = NULL;
	VtgProjects* _tmp1_ = NULL;
	GeditWindow* _tmp2_ = NULL;
	GtkWidget* _tmp3_ = NULL;
	GeditStatusbar* _tmp4_;
	GeditStatusbar* status_bar;
	guint _tmp5_;
	VtgProjectView* _tmp6_ = NULL;
	VtgProjectBuilder* _tmp7_ = NULL;
	VtgProjectExecuter* _tmp8_ = NULL;
	VtgProjectSearch* _tmp9_ = NULL;
	gulong _tmp10_;
	gulong _tmp11_;
	gulong _tmp12_;
	gulong _tmp13_;
	gulong _tmp14_;
	gulong _tmp15_;
	VtgChangeLog* _tmp16_ = NULL;
	VtgProjectView* _tmp17_ = NULL;
	VtgProjectManager* _tmp18_ = NULL;
	VtgProjectManager* _tmp19_;
	VtgProjectManager* prj;
	g_return_val_if_fail (plugin_instance != NULL, NULL);
	self = (VtgProjectManagerUi*) g_object_new (object_type, NULL);
	self->priv->_plugin_instance = plugin_instance;
	_tmp0_ = vtg_plugin_get_projects (vtg_plugin_main_instance);
	g_signal_connect_object (_tmp0_, "project-opened", (GCallback) _vtg_project_manager_ui_on_project_opened_vtg_projects_project_opened, self, 0);
	_tmp1_ = vtg_plugin_get_projects (vtg_plugin_main_instance);
	g_signal_connect_object (_tmp1_, "project-closed", (GCallback) _vtg_project_manager_ui_on_project_closed_vtg_projects_project_closed, self, 0);
	_tmp2_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	_tmp3_ = gedit_window_get_statusbar (_tmp2_);
	_tmp4_ = _g_object_ref0 (GEDIT_STATUSBAR (_tmp3_));
	status_bar = _tmp4_;
	_tmp5_ = gtk_statusbar_get_context_id ((GtkStatusbar*) status_bar, "symbol status");
	self->priv->_sb_context_id = _tmp5_;
	_tmp6_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	g_signal_connect_object ((GObject*) _tmp6_, "notify::current-project", (GCallback) _vtg_project_manager_ui_on_current_project_changed_g_object_notify, self, 0);
	_tmp7_ = vtg_project_builder_new (self->priv->_plugin_instance);
	_g_object_unref0 (self->priv->_prj_builder);
	self->priv->_prj_builder = _tmp7_;
	_tmp8_ = vtg_project_executer_new (self->priv->_plugin_instance);
	_g_object_unref0 (self->priv->_prj_executer);
	self->priv->_prj_executer = _tmp8_;
	_tmp9_ = vtg_project_search_new (self->priv->_plugin_instance);
	_g_object_unref0 (self->priv->_prj_search);
	self->priv->_prj_search = _tmp9_;
	_tmp10_ = g_signal_connect_object (self->priv->_prj_executer, "process-start", (GCallback) __lambda0__vtg_project_executer_process_start, self, 0);
	self->priv->signal_ids[0] = _tmp10_;
	_tmp11_ = g_signal_connect_object (self->priv->_prj_executer, "process-exit", (GCallback) __lambda1__vtg_project_executer_process_exit, self, 0);
	self->priv->signal_ids[1] = _tmp11_;
	_tmp12_ = g_signal_connect_object (self->priv->_prj_builder, "build-start", (GCallback) __lambda2__vtg_project_builder_build_start, self, 0);
	self->priv->signal_ids[2] = _tmp12_;
	_tmp13_ = g_signal_connect_object (self->priv->_prj_builder, "build-exit", (GCallback) __lambda3__vtg_project_builder_build_exit, self, 0);
	self->priv->signal_ids[3] = _tmp13_;
	_tmp14_ = g_signal_connect_object (self->priv->_prj_search, "search-start", (GCallback) __lambda4__vtg_project_search_search_start, self, 0);
	self->priv->signal_ids[4] = _tmp14_;
	_tmp15_ = g_signal_connect_object (self->priv->_prj_search, "search-exit", (GCallback) __lambda5__vtg_project_search_search_exit, self, 0);
	self->priv->signal_ids[5] = _tmp15_;
	vtg_project_manager_ui_initialize_ui (self);
	_tmp16_ = vtg_change_log_new (self->priv->_plugin_instance);
	_g_object_unref0 (self->priv->_changelog);
	self->priv->_changelog = _tmp16_;
	_tmp17_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp18_ = vtg_project_view_get_current_project (_tmp17_);
	_tmp19_ = _g_object_ref0 (_tmp18_);
	prj = _tmp19_;
	vtg_project_manager_ui_update_ui (self, prj);
	_g_object_unref0 (prj);
	_g_object_unref0 (status_bar);
	return self;
}


VtgProjectManagerUi* vtg_project_manager_ui_new (VtgPluginInstance* plugin_instance) {
	return vtg_project_manager_ui_construct (VTG_TYPE_PROJECT_MANAGER_UI, plugin_instance);
}


static void _vtg_project_manager_ui_on_project_open_recent_gtk_recent_chooser_item_activated (GtkRecentChooser* _sender, gpointer self) {
	vtg_project_manager_ui_on_project_open_recent (self, _sender);
}


static void vtg_project_manager_ui_initialize_ui (VtgProjectManagerUi* self) {
	GtkActionGroup* _tmp0_ = NULL;
	GtkRecentAction* _tmp1_ = NULL;
	GtkRecentAction* recent_action;
	GtkRecentFilter* _tmp2_ = NULL;
	GtkRecentFilter* recent_filter;
	GeditWindow* _tmp3_ = NULL;
	GtkUIManager* _tmp4_ = NULL;
	GtkUIManager* _tmp5_;
	GtkUIManager* manager;
	guint _tmp6_;
	guint _tmp7_;
	GError * _inner_error_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = gtk_action_group_new ("ProjectManagerActionGroup");
	_g_object_unref0 (self->priv->_actions);
	self->priv->_actions = _tmp0_;
	gtk_action_group_set_translation_domain (self->priv->_actions, GETTEXT_PACKAGE);
	gtk_action_group_add_actions (self->priv->_actions, VTG_PROJECT_MANAGER_UI__action_entries, G_N_ELEMENTS (VTG_PROJECT_MANAGER_UI__action_entries), self);
	_tmp1_ = (GtkRecentAction*) gtk_recent_action_new ("ProjectRecent", "Open Recent Project", "", "");
	recent_action = _tmp1_;
	gtk_recent_chooser_set_show_private ((GtkRecentChooser*) recent_action, TRUE);
	_tmp2_ = gtk_recent_filter_new ();
	recent_filter = g_object_ref_sink (_tmp2_);
	gtk_recent_filter_add_application (recent_filter, "vtg");
	gtk_recent_chooser_add_filter ((GtkRecentChooser*) recent_action, recent_filter);
	g_signal_connect_object ((GtkRecentChooser*) recent_action, "item-activated", (GCallback) _vtg_project_manager_ui_on_project_open_recent_gtk_recent_chooser_item_activated, self, 0);
	gtk_action_group_add_action (self->priv->_actions, (GtkAction*) recent_action);
	_tmp3_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	_tmp4_ = gedit_window_get_ui_manager (_tmp3_);
	_tmp5_ = _g_object_ref0 (_tmp4_);
	manager = _tmp5_;
	gtk_ui_manager_insert_action_group (manager, self->priv->_actions, -1);
	_tmp6_ = gtk_ui_manager_add_ui_from_string (manager, self->priv->_ui_def, (gssize) (-1), &_inner_error_);
	_tmp7_ = _tmp6_;
	if (_inner_error_ != NULL) {
		goto __catch6_g_error;
	}
	self->priv->_ui_id = _tmp7_;
	goto __finally6;
	__catch6_g_error:
	{
		GError * err;
		err = _inner_error_;
		_inner_error_ = NULL;
		g_warning ("vtgprojectmanagerui.vala:268: Error %s", err->message);
		_g_error_free0 (err);
	}
	__finally6:
	if (_inner_error_ != NULL) {
		_g_object_unref0 (manager);
		_g_object_unref0 (recent_filter);
		_g_object_unref0 (recent_action);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return;
	}
	_g_object_unref0 (manager);
	_g_object_unref0 (recent_filter);
	_g_object_unref0 (recent_action);
}


static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) {
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_;
	GRegex* _tmp2_ = NULL;
	GRegex* _tmp3_;
	GRegex* regex;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_;
	GError * _inner_error_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (old != NULL, NULL);
	g_return_val_if_fail (replacement != NULL, NULL);
	_tmp0_ = g_regex_escape_string (old, -1);
	_tmp1_ = _tmp0_;
	_tmp2_ = g_regex_new (_tmp1_, 0, 0, &_inner_error_);
	_tmp3_ = _tmp2_;
	_g_free0 (_tmp1_);
	regex = _tmp3_;
	if (_inner_error_ != NULL) {
		if (_inner_error_->domain == G_REGEX_ERROR) {
			goto __catch8_g_regex_error;
		}
		g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return NULL;
	}
	_tmp4_ = g_regex_replace_literal (regex, self, (gssize) (-1), 0, replacement, 0, &_inner_error_);
	_tmp5_ = _tmp4_;
	if (_inner_error_ != NULL) {
		_g_regex_unref0 (regex);
		if (_inner_error_->domain == G_REGEX_ERROR) {
			goto __catch8_g_regex_error;
		}
		_g_regex_unref0 (regex);
		g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return NULL;
	}
	result = _tmp5_;
	_g_regex_unref0 (regex);
	return result;
	_g_regex_unref0 (regex);
	goto __finally8;
	__catch8_g_regex_error:
	{
		GError * e;
		e = _inner_error_;
		_inner_error_ = NULL;
		g_assert_not_reached ();
		_g_error_free0 (e);
	}
	__finally8:
	if (_inner_error_ != NULL) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return NULL;
	}
}


static void vtg_project_manager_ui_on_project_open_recent (VtgProjectManagerUi* self, GtkRecentChooser* sender) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_;
	gchar* project_name;
	GError * _inner_error_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	_tmp0_ = gtk_recent_chooser_get_current_uri (sender);
	_tmp1_ = g_filename_from_uri (_tmp0_, NULL, &_inner_error_);
	_tmp2_ = _tmp1_;
	if (_inner_error_ != NULL) {
		goto __catch7_g_error;
	}
	_tmp3_ = _tmp2_;
	_tmp4_ = string_replace (_tmp3_, "/configure.ac", "");
	_tmp5_ = _tmp4_;
	_g_free0 (_tmp3_);
	project_name = _tmp5_;
	vtg_project_manager_ui_open_project (self, project_name);
	_g_free0 (project_name);
	goto __finally7;
	__catch7_g_error:
	{
		GError * e;
		e = _inner_error_;
		_inner_error_ = NULL;
		g_warning ("vtgprojectmanagerui.vala:278: error %s converting project name file fr" \
"om uri", e->message);
		_g_error_free0 (e);
	}
	__finally7:
	if (_inner_error_ != NULL) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return;
	}
}


static void vtg_project_manager_ui_on_prepare_changelog (VtgProjectManagerUi* self, GtkAction* action) {
	GError * _inner_error_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	vtg_change_log_prepare (self->priv->_changelog, NULL, &_inner_error_);
	if (_inner_error_ != NULL) {
		goto __catch9_g_error;
	}
	goto __finally9;
	__catch9_g_error:
	{
		GError * err;
		const gchar* _tmp0_ = NULL;
		err = _inner_error_;
		_inner_error_ = NULL;
		_tmp0_ = _ ("Can't prepare the ChangeLog entry");
		vtg_interaction_error_message (_tmp0_, err);
		_g_error_free0 (err);
	}
	__finally9:
	if (_inner_error_ != NULL) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return;
	}
}


static void vtg_project_manager_ui_on_prepare_single_file_changelog (VtgProjectManagerUi* self, GtkAction* action) {
	GeditWindow* _tmp0_ = NULL;
	GeditDocument* _tmp1_ = NULL;
	GeditDocument* _tmp2_;
	GeditDocument* doc;
	GError * _inner_error_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	_tmp1_ = gedit_window_get_active_document (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	doc = _tmp2_;
	if (doc != NULL) {
		VtgProjectView* _tmp3_ = NULL;
		VtgProjectManager* _tmp4_ = NULL;
		VtgProjectManager* _tmp5_;
		VtgProjectManager* prj;
		gchar* _tmp6_ = NULL;
		gchar* uri;
		gchar* _tmp7_ = NULL;
		gchar* file;
		_tmp3_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
		_tmp4_ = vtg_project_view_get_current_project (_tmp3_);
		_tmp5_ = _g_object_ref0 (_tmp4_);
		prj = _tmp5_;
		_tmp6_ = vtg_utils_get_document_uri (doc);
		uri = _tmp6_;
		_tmp7_ = gedit_document_get_short_name_for_display (doc);
		file = _tmp7_;
		if (prj != NULL) {
			VbfSource* _tmp8_ = NULL;
			VbfSource* src;
			_tmp8_ = vtg_project_manager_get_source_file_from_uri (prj, uri);
			src = _tmp8_;
			if (src != NULL) {
				gchar* _tmp9_;
				_tmp9_ = g_strdup (((VbfFile*) src)->name);
				_g_free0 (file);
				file = _tmp9_;
			}
			_g_object_unref0 (src);
		}
		vtg_change_log_prepare (self->priv->_changelog, file, &_inner_error_);
		if (_inner_error_ != NULL) {
			_g_free0 (file);
			_g_free0 (uri);
			_g_object_unref0 (prj);
			_g_object_unref0 (doc);
			goto __catch10_g_error;
		}
		_g_free0 (file);
		_g_free0 (uri);
		_g_object_unref0 (prj);
	}
	_g_object_unref0 (doc);
	goto __finally10;
	__catch10_g_error:
	{
		GError * err;
		const gchar* _tmp10_ = NULL;
		err = _inner_error_;
		_inner_error_ = NULL;
		_tmp10_ = _ ("Can't prepare the ChangeLog entry");
		vtg_interaction_error_message (_tmp10_, err);
		_g_error_free0 (err);
	}
	__finally10:
	if (_inner_error_ != NULL) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return;
	}
}


static void vtg_project_manager_ui_on_complete_word (VtgProjectManagerUi* self, GtkAction* action) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* _tmp2_;
	VtgProjectManager* project;
	GeditWindow* _tmp3_ = NULL;
	GeditView* _tmp4_ = NULL;
	GeditView* _tmp5_;
	GeditView* view;
	VtgSymbolCompletion* _tmp6_ = NULL;
	VtgSymbolCompletion* sch;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	project = _tmp2_;
	g_return_if_fail (project != NULL);
	_tmp3_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	_tmp4_ = gedit_window_get_active_view (_tmp3_);
	_tmp5_ = _g_object_ref0 (_tmp4_);
	view = _tmp5_;
	if (view == NULL) {
		_g_object_unref0 (view);
		_g_object_unref0 (project);
		return;
	}
	_tmp6_ = vtg_plugin_instance_scs_find_from_view (self->priv->_plugin_instance, view);
	sch = _tmp6_;
	if (sch == NULL) {
		_g_object_unref0 (sch);
		_g_object_unref0 (view);
		_g_object_unref0 (project);
		return;
	}
	vtg_symbol_completion_complete_word (sch);
	_g_object_unref0 (sch);
	_g_object_unref0 (view);
	_g_object_unref0 (project);
}


static void vtg_project_manager_ui_on_project_goto_definition (VtgProjectManagerUi* self, GtkAction* action) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* _tmp2_;
	VtgProjectManager* project;
	GeditWindow* _tmp3_ = NULL;
	GeditView* _tmp4_ = NULL;
	GeditView* _tmp5_;
	GeditView* view;
	VtgSymbolCompletion* _tmp6_ = NULL;
	VtgSymbolCompletion* sch;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	project = _tmp2_;
	g_return_if_fail (project != NULL);
	_tmp3_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	_tmp4_ = gedit_window_get_active_view (_tmp3_);
	_tmp5_ = _g_object_ref0 (_tmp4_);
	view = _tmp5_;
	if (view == NULL) {
		_g_object_unref0 (view);
		_g_object_unref0 (project);
		return;
	}
	_tmp6_ = vtg_plugin_instance_scs_find_from_view (self->priv->_plugin_instance, view);
	sch = _tmp6_;
	if (sch == NULL) {
		_g_object_unref0 (sch);
		_g_object_unref0 (view);
		_g_object_unref0 (project);
		return;
	}
	vtg_symbol_completion_goto_definition (sch);
	_g_object_unref0 (sch);
	_g_object_unref0 (view);
	_g_object_unref0 (project);
}


static void vtg_project_manager_ui_on_project_goto_outerscope (VtgProjectManagerUi* self, GtkAction* action) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* _tmp2_;
	VtgProjectManager* project;
	GeditWindow* _tmp3_ = NULL;
	GeditView* _tmp4_ = NULL;
	GeditView* _tmp5_;
	GeditView* view;
	VtgSymbolCompletion* _tmp6_ = NULL;
	VtgSymbolCompletion* sch;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	project = _tmp2_;
	g_return_if_fail (project != NULL);
	_tmp3_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	_tmp4_ = gedit_window_get_active_view (_tmp3_);
	_tmp5_ = _g_object_ref0 (_tmp4_);
	view = _tmp5_;
	if (view == NULL) {
		_g_object_unref0 (view);
		_g_object_unref0 (project);
		return;
	}
	_tmp6_ = vtg_plugin_instance_scs_find_from_view (self->priv->_plugin_instance, view);
	sch = _tmp6_;
	if (sch == NULL) {
		_g_object_unref0 (sch);
		_g_object_unref0 (view);
		_g_object_unref0 (project);
		return;
	}
	vtg_symbol_completion_goto_outerscope (sch);
	_g_object_unref0 (sch);
	_g_object_unref0 (view);
	_g_object_unref0 (project);
}


static void vtg_project_manager_ui_on_project_open (VtgProjectManagerUi* self, GtkAction* action) {
	const gchar* _tmp0_ = NULL;
	GeditWindow* _tmp1_ = NULL;
	GtkFileChooserDialog* _tmp2_ = NULL;
	GtkFileChooserDialog* dialog;
	gint _tmp3_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = _ ("Open Project");
	_tmp1_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	_tmp2_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (_tmp0_, (GtkWindow*) _tmp1_, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL, NULL);
	dialog = g_object_ref_sink (_tmp2_);
	_tmp3_ = gtk_dialog_run ((GtkDialog*) dialog);
	if (_tmp3_ == GTK_RESPONSE_ACCEPT) {
		gchar* _tmp4_ = NULL;
		gchar* foldername;
		gtk_widget_hide ((GtkWidget*) dialog);
		_tmp4_ = gtk_file_chooser_get_filename ((GtkFileChooser*) dialog);
		foldername = _tmp4_;
		vtg_project_manager_ui_open_project (self, foldername);
		_g_free0 (foldername);
	}
	gtk_widget_destroy ((GtkWidget*) dialog);
	_g_object_unref0 (dialog);
}


static void vtg_project_manager_ui_on_project_save_all (VtgProjectManagerUi* self, GtkAction* action) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* _tmp2_;
	VtgProjectManager* project;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	project = _tmp2_;
	vtg_plugin_project_save_all (vtg_plugin_main_instance, project);
	_g_object_unref0 (project);
}


static void vtg_project_manager_ui_on_project_close (VtgProjectManagerUi* self, GtkAction* action) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* _tmp2_;
	VtgProjectManager* project;
	gboolean _tmp3_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	project = _tmp2_;
	g_return_if_fail (project != NULL);
	_tmp3_ = vtg_plugin_project_need_save (vtg_plugin_main_instance, project);
	if (_tmp3_) {
		GeditWindow* _tmp4_ = NULL;
		const gchar* _tmp5_ = NULL;
		GtkMessageDialog* _tmp6_ = NULL;
		GtkMessageDialog* dialog;
		gint _tmp7_;
		gint response;
		_tmp4_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
		_tmp5_ = _ ("Project files need to be saved");
		_tmp6_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) _tmp4_, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, _tmp5_);
		dialog = g_object_ref_sink (_tmp6_);
		gtk_dialog_add_buttons ((GtkDialog*) dialog, GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL);
		_tmp7_ = gtk_dialog_run ((GtkDialog*) dialog);
		response = _tmp7_;
		gtk_widget_destroy ((GtkWidget*) dialog);
		if (response == GTK_RESPONSE_CANCEL) {
			_g_object_unref0 (dialog);
			_g_object_unref0 (project);
			return;
		} else {
			if (response == GTK_RESPONSE_ACCEPT) {
				vtg_plugin_project_save_all (vtg_plugin_main_instance, project);
			}
		}
		_g_object_unref0 (dialog);
	}
	vtg_project_manager_ui_close_project (self, project);
	_g_object_unref0 (project);
}


static void _vtg_project_manager_ui_on_symbol_cache_building_vtg_project_manager_symbol_cache_building (VtgProjectManager* _sender, VtgProjectManager* sender, gpointer self) {
	vtg_project_manager_ui_on_symbol_cache_building (self, sender);
}


static void _vtg_project_manager_ui_on_symbol_cache_builded_vtg_project_manager_symbol_cache_builded (VtgProjectManager* _sender, VtgProjectManager* sender, gpointer self) {
	vtg_project_manager_ui_on_symbol_cache_builded (self, sender);
}


static void vtg_project_manager_ui_on_project_opened (VtgProjectManagerUi* self, VtgProjects* sender, GObject* l) {
	VtgProjectManager* _tmp0_;
	VtgProjectManager* project;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	g_return_if_fail (l != NULL);
	_tmp0_ = _g_object_ref0 (VTG_PROJECT_MANAGER (l));
	project = _tmp0_;
	g_signal_connect_object (project, "symbol-cache-building", (GCallback) _vtg_project_manager_ui_on_symbol_cache_building_vtg_project_manager_symbol_cache_building, self, 0);
	g_signal_connect_object (project, "symbol-cache-builded", (GCallback) _vtg_project_manager_ui_on_symbol_cache_builded_vtg_project_manager_symbol_cache_builded, self, 0);
	_g_object_unref0 (project);
}


static void vtg_project_manager_ui_on_project_closed (VtgProjectManagerUi* self, VtgProjects* sender, GObject* l) {
	VtgProjectManager* _tmp0_;
	VtgProjectManager* project;
	guint _tmp1_;
	guint _tmp2_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	g_return_if_fail (l != NULL);
	_tmp0_ = _g_object_ref0 (VTG_PROJECT_MANAGER (l));
	project = _tmp0_;
	g_signal_parse_name ("symbol-cache-building", VTG_TYPE_PROJECT_MANAGER, &_tmp1_, NULL, FALSE);
	g_signal_handlers_disconnect_matched (project, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _vtg_project_manager_ui_on_symbol_cache_building_vtg_project_manager_symbol_cache_building, self);
	g_signal_parse_name ("symbol-cache-builded", VTG_TYPE_PROJECT_MANAGER, &_tmp2_, NULL, FALSE);
	g_signal_handlers_disconnect_matched (project, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp2_, 0, NULL, (GCallback) _vtg_project_manager_ui_on_symbol_cache_builded_vtg_project_manager_symbol_cache_builded, self);
	_g_object_unref0 (project);
}


static gpointer _vala_iterable_ref0 (gpointer self) {
	return self ? vala_iterable_ref (self) : NULL;
}


static void vtg_project_manager_ui_on_project_change (VtgProjectManagerUi* self, GtkAction* action) {
	GtkImage* _tmp0_ = NULL;
	GtkImage* image;
	GtkTreeIter iter = {0};
	GtkTreeStore* _tmp1_ = NULL;
	GtkTreeStore* model;
	VtgFilteredListDialog* _tmp12_ = NULL;
	VtgFilteredListDialog* dialog;
	GeditWindow* _tmp13_ = NULL;
	gboolean _tmp14_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = (GtkImage*) gtk_image_new ();
	image = g_object_ref_sink (_tmp0_);
	_tmp1_ = vtg_filtered_list_dialog_create_model ();
	model = _tmp1_;
	{
		VtgProjects* _tmp2_ = NULL;
		ValaList* _tmp3_ = NULL;
		ValaList* _tmp4_;
		ValaList* _prj_list;
		gint _tmp5_;
		gint _prj_size;
		gint _prj_index;
		_tmp2_ = vtg_plugin_get_projects (vtg_plugin_main_instance);
		_tmp3_ = vtg_projects_get_project_managers (_tmp2_);
		_tmp4_ = _vala_iterable_ref0 (_tmp3_);
		_prj_list = _tmp4_;
		_tmp5_ = vala_collection_get_size ((ValaCollection*) _prj_list);
		_prj_size = _tmp5_;
		_prj_index = -1;
		while (TRUE) {
			gpointer _tmp6_ = NULL;
			VtgProjectManager* prj;
			GtkTreeIter _tmp7_ = {0};
			VbfProject* _tmp8_ = NULL;
			VbfProject* _tmp9_ = NULL;
			GdkPixbuf* _tmp10_ = NULL;
			GdkPixbuf* _tmp11_;
			_prj_index = _prj_index + 1;
			if (!(_prj_index < _prj_size)) {
				break;
			}
			_tmp6_ = vala_list_get (_prj_list, _prj_index);
			prj = (VtgProjectManager*) _tmp6_;
			gtk_tree_store_append (model, &_tmp7_, NULL);
			iter = _tmp7_;
			_tmp8_ = vtg_project_manager_get_project (prj);
			_tmp9_ = vtg_project_manager_get_project (prj);
			_tmp10_ = gtk_widget_render_icon ((GtkWidget*) image, GTK_STOCK_FILE, GTK_ICON_SIZE_BUTTON, "");
			_tmp11_ = _tmp10_;
			gtk_tree_store_set (model, &iter, VTG_FILTERED_LIST_DIALOG_COLUMNS_NAME, _tmp8_->name, VTG_FILTERED_LIST_DIALOG_COLUMNS_MARKUP, _tmp9_->name, VTG_FILTERED_LIST_DIALOG_COLUMNS_VISIBILITY, TRUE, VTG_FILTERED_LIST_DIALOG_COLUMNS_OBJECT, prj, VTG_FILTERED_LIST_DIALOG_COLUMNS_ICON, _tmp11_, VTG_FILTERED_LIST_DIALOG_COLUMNS_SELECTABLE, TRUE, -1);
			_g_object_unref0 (_tmp11_);
			_g_object_unref0 (prj);
		}
		_vala_iterable_unref0 (_prj_list);
	}
	_tmp12_ = vtg_filtered_list_dialog_new (model, NULL, NULL);
	dialog = _tmp12_;
	_tmp13_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	vtg_filtered_list_dialog_set_transient_for (dialog, (GtkWindow*) _tmp13_);
	_tmp14_ = vtg_filtered_list_dialog_run (dialog);
	if (_tmp14_) {
		VtgProjectManager* prj = NULL;
		gtk_tree_model_get ((GtkTreeModel*) model, &dialog->selected_iter, VTG_FILTERED_LIST_DIALOG_COLUMNS_OBJECT, &prj, -1);
		if (prj != NULL) {
			VtgProjectView* _tmp15_ = NULL;
			_tmp15_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
			vtg_project_view_set_current_project (_tmp15_, prj);
		}
		_g_object_unref0 (prj);
	}
	_g_object_unref0 (dialog);
	_g_object_unref0 (model);
	_g_object_unref0 (image);
}


static void vtg_project_manager_ui_on_project_new (VtgProjectManagerUi* self, GtkAction* action) {
	const gchar* _tmp0_ = NULL;
	GeditWindow* _tmp1_ = NULL;
	GtkFileChooserDialog* _tmp2_ = NULL;
	GtkFileChooserDialog* dialog;
	gchar* foldername;
	gint _tmp3_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = _ ("Save Project");
	_tmp1_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	_tmp2_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (_tmp0_, (GtkWindow*) _tmp1_, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT, NULL, NULL);
	dialog = g_object_ref_sink (_tmp2_);
	foldername = NULL;
	_tmp3_ = gtk_dialog_run ((GtkDialog*) dialog);
	if (_tmp3_ == GTK_RESPONSE_ACCEPT) {
		gchar* _tmp4_ = NULL;
		_tmp4_ = gtk_file_chooser_get_filename ((GtkFileChooser*) dialog);
		_g_free0 (foldername);
		foldername = _tmp4_;
	}
	gtk_widget_destroy ((GtkWidget*) dialog);
	while (TRUE) {
		GMainContext* _tmp5_ = NULL;
		gboolean _tmp6_;
		GMainContext* _tmp7_ = NULL;
		_tmp5_ = g_main_context_default ();
		_tmp6_ = g_main_context_pending (_tmp5_);
		if (!_tmp6_) {
			break;
		}
		_tmp7_ = g_main_context_default ();
		g_main_context_iteration (_tmp7_, FALSE);
	}
	if (foldername != NULL) {
		gboolean _tmp8_;
		_tmp8_ = vtg_project_manager_ui_create_project (self, foldername);
		if (_tmp8_) {
			VtgProjectView* _tmp9_ = NULL;
			VtgProjectManager* _tmp10_ = NULL;
			VtgProjectManager* _tmp11_;
			VtgProjectManager* project;
			vtg_project_manager_ui_open_project (self, foldername);
			_tmp9_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
			_tmp10_ = vtg_project_view_get_current_project (_tmp9_);
			_tmp11_ = _g_object_ref0 (_tmp10_);
			project = _tmp11_;
			vtg_project_builder_configure (self->priv->_prj_builder, project, "");
			_g_object_unref0 (project);
		}
	}
	_g_free0 (foldername);
	_g_object_unref0 (dialog);
}


static void vtg_project_manager_ui_on_project_search_result_next (VtgProjectManagerUi* self, GtkAction* action) {
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	vtg_project_search_next_match (self->priv->_prj_search);
}


static void vtg_project_manager_ui_on_project_search_result_previous (VtgProjectManagerUi* self, GtkAction* action) {
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	vtg_project_search_previous_match (self->priv->_prj_search);
}


static void vtg_project_manager_ui_on_project_search (VtgProjectManagerUi* self, GtkAction* action) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	if (_tmp1_ != NULL) {
		gchar* _tmp2_;
		gchar* proposed_text;
		GeditWindow* _tmp3_ = NULL;
		GeditView* _tmp4_ = NULL;
		GeditView* _tmp5_;
		GeditView* view;
		VtgProjectView* _tmp12_ = NULL;
		VtgProjectManager* _tmp13_ = NULL;
		VtgProjectManager* _tmp14_;
		VtgProjectManager* project;
		GeditWindow* _tmp15_ = NULL;
		VtgProjectSearchDialog* _tmp16_ = NULL;
		VtgProjectSearchDialog* exec_dialog;
		gint _tmp17_;
		_tmp2_ = g_strdup ("");
		proposed_text = _tmp2_;
		_tmp3_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
		_tmp4_ = gedit_window_get_active_view (_tmp3_);
		_tmp5_ = _g_object_ref0 (_tmp4_);
		view = _tmp5_;
		if (view != NULL) {
			GtkTextBuffer* _tmp6_ = NULL;
			GtkTextBuffer* _tmp7_;
			GtkTextBuffer* doc;
			GtkTextIter start = {0};
			GtkTextIter end = {0};
			GtkTextIter _tmp8_ = {0};
			GtkTextIter _tmp9_ = {0};
			const gchar* _tmp10_ = NULL;
			gchar* _tmp11_;
			_tmp6_ = gtk_text_view_get_buffer ((GtkTextView*) view);
			_tmp7_ = _g_object_ref0 (GTK_TEXT_BUFFER (_tmp6_));
			doc = _tmp7_;
			gtk_text_buffer_get_selection_bounds (doc, &_tmp8_, &_tmp9_);
			start = _tmp8_;
			end = _tmp9_;
			_tmp10_ = gtk_text_iter_get_text (&start, &end);
			_tmp11_ = g_strdup (_tmp10_);
			_g_free0 (proposed_text);
			proposed_text = _tmp11_;
			_g_object_unref0 (doc);
		}
		_tmp12_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
		_tmp13_ = vtg_project_view_get_current_project (_tmp12_);
		_tmp14_ = _g_object_ref0 (_tmp13_);
		project = _tmp14_;
		_tmp15_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
		_tmp16_ = vtg_project_search_dialog_new ((GtkWindow*) _tmp15_, proposed_text);
		exec_dialog = _tmp16_;
		_tmp17_ = vtg_project_search_dialog_run (exec_dialog);
		if (_tmp17_ == GTK_RESPONSE_OK) {
			vtg_project_search_search (self->priv->_prj_search, project, exec_dialog->search_text, exec_dialog->match_case);
		}
		_g_object_unref0 (exec_dialog);
		_g_object_unref0 (project);
		_g_object_unref0 (view);
		_g_free0 (proposed_text);
	}
}


static gpointer _afrodite_code_dom_ref0 (gpointer self) {
	return self ? afrodite_code_dom_ref (self) : NULL;
}


static gint _vtg_project_manager_ui_sort_symbol_model_gtk_tree_iter_compare_func (GtkTreeModel* model, GtkTreeIter* a, GtkTreeIter* b, gpointer self) {
	gint result;
	result = vtg_project_manager_ui_sort_symbol_model (self, model, a, b);
	return result;
}


static void vtg_project_manager_ui_on_project_search_symbol (VtgProjectManagerUi* self, GtkAction* action) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectView* _tmp2_ = NULL;
	VtgProjectManager* _tmp3_ = NULL;
	VtgProjectManager* _tmp4_;
	VtgProjectManager* pm;
	GtkTreeStore* _tmp5_ = NULL;
	GtkTreeStore* model;
	VtgFilteredListDialog* _tmp17_ = NULL;
	VtgFilteredListDialog* dialog;
	GeditWindow* _tmp18_ = NULL;
	gboolean _tmp19_;
	GError * _inner_error_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	if (_tmp1_ == NULL) {
		return;
	}
	_tmp2_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp3_ = vtg_project_view_get_current_project (_tmp2_);
	_tmp4_ = _g_object_ref0 (_tmp3_);
	pm = _tmp4_;
	_tmp5_ = vtg_filtered_list_dialog_create_model ();
	model = _tmp5_;
	{
		ValaHashMap* _tmp6_ = NULL;
		ValaCollection* _tmp7_ = NULL;
		ValaCollection* _tmp8_;
		ValaIterator* _tmp9_ = NULL;
		ValaIterator* _tmp10_;
		ValaIterator* _engine_it;
		_tmp6_ = vtg_project_manager_get_completions (pm);
		_tmp7_ = vala_map_get_values ((ValaMap*) _tmp6_);
		_tmp8_ = _tmp7_;
		_tmp9_ = vala_iterable_iterator ((ValaIterable*) _tmp8_);
		_tmp10_ = _tmp9_;
		_vala_iterable_unref0 (_tmp8_);
		_engine_it = _tmp10_;
		while (TRUE) {
			gboolean _tmp11_;
			gpointer _tmp12_ = NULL;
			AfroditeCompletionEngine* engine;
			AfroditeCodeDom* _tmp13_ = NULL;
			AfroditeCodeDom* _tmp14_;
			AfroditeCodeDom* codedom;
			VbfProject* _tmp15_ = NULL;
			AfroditeSymbol* _tmp16_ = NULL;
			_tmp11_ = vala_iterator_next (_engine_it);
			if (!_tmp11_) {
				break;
			}
			_tmp12_ = vala_iterator_get (_engine_it);
			engine = (AfroditeCompletionEngine*) _tmp12_;
			_tmp13_ = afrodite_completion_engine_get_codedom (engine);
			_tmp14_ = _afrodite_code_dom_ref0 (_tmp13_);
			codedom = _tmp14_;
			_tmp15_ = vtg_project_manager_get_project (pm);
			_tmp16_ = afrodite_code_dom_get_root (codedom);
			vtg_project_manager_ui_build_search_symbol_model (self, _tmp15_->id, model, _tmp16_, NULL);
			_afrodite_code_dom_unref0 (codedom);
			_g_object_unref0 (engine);
		}
		_vala_iterator_unref0 (_engine_it);
	}
	_tmp17_ = vtg_filtered_list_dialog_new (model, _vtg_project_manager_ui_sort_symbol_model_gtk_tree_iter_compare_func, self);
	dialog = _tmp17_;
	_tmp18_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	vtg_filtered_list_dialog_set_transient_for (dialog, (GtkWindow*) _tmp18_);
	_tmp19_ = vtg_filtered_list_dialog_run (dialog);
	if (_tmp19_) {
		VtgFilteredListDialogData* data = NULL;
		AfroditeSourceReference* sr = NULL;
		gboolean _tmp20_;
		gtk_tree_model_get ((GtkTreeModel*) model, &dialog->selected_iter, VTG_FILTERED_LIST_DIALOG_COLUMNS_OBJECT, &data, -1);
		_tmp20_ = afrodite_symbol_get_has_source_references (data->symbol);
		if (_tmp20_) {
			ValaList* _tmp21_ = NULL;
			gpointer _tmp22_ = NULL;
			AfroditeSourceFile* _tmp23_ = NULL;
			const gchar* _tmp24_ = NULL;
			gchar* _tmp25_ = NULL;
			gchar* _tmp26_;
			gchar* _tmp27_;
			gint _tmp28_;
			gint _tmp29_;
			GeditTab* _tmp30_ = NULL;
			GeditTab* _tmp31_;
			_tmp21_ = afrodite_symbol_get_source_references (data->symbol);
			_tmp22_ = vala_list_get (_tmp21_, 0);
			_afrodite_source_reference_unref0 (sr);
			sr = (AfroditeSourceReference*) _tmp22_;
			_tmp23_ = afrodite_source_reference_get_file (sr);
			_tmp24_ = afrodite_source_file_get_filename (_tmp23_);
			_tmp25_ = g_filename_to_uri (_tmp24_, NULL, &_inner_error_);
			_tmp26_ = _tmp25_;
			if (_inner_error_ != NULL) {
				_afrodite_source_reference_unref0 (sr);
				_g_object_unref0 (data);
				_g_object_unref0 (dialog);
				_g_object_unref0 (model);
				_g_object_unref0 (pm);
				goto __catch11_g_error;
			}
			_tmp27_ = _tmp26_;
			_tmp28_ = afrodite_source_reference_get_first_line (sr);
			_tmp29_ = afrodite_source_reference_get_first_column (sr);
			_tmp30_ = vtg_plugin_instance_activate_uri (self->priv->_plugin_instance, _tmp27_, _tmp28_, _tmp29_);
			_tmp31_ = _tmp30_;
			_g_object_unref0 (_tmp31_);
			_g_free0 (_tmp27_);
		}
		_afrodite_source_reference_unref0 (sr);
		_g_object_unref0 (data);
	}
	_g_object_unref0 (dialog);
	_g_object_unref0 (model);
	_g_object_unref0 (pm);
	goto __finally11;
	__catch11_g_error:
	{
		GError * e;
		e = _inner_error_;
		_inner_error_ = NULL;
		g_warning ("vtgprojectmanagerui.vala:541: error: %s", e->message);
		_g_error_free0 (e);
	}
	__finally11:
	if (_inner_error_ != NULL) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return;
	}
}


static void vtg_project_manager_ui_on_project_goto_next_position (VtgProjectManagerUi* self, GtkAction* action) {
	VtgSourceBookmarks* _tmp0_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_bookmarks (self->priv->_plugin_instance);
	vtg_source_bookmarks_move_next (_tmp0_);
}


static void vtg_project_manager_ui_on_project_goto_prev_position (VtgProjectManagerUi* self, GtkAction* action) {
	VtgSourceBookmarks* _tmp0_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_bookmarks (self->priv->_plugin_instance);
	vtg_source_bookmarks_move_previous (_tmp0_);
}


static GtkTreeIter* _gtk_tree_iter_dup (GtkTreeIter* self) {
	GtkTreeIter* dup;
	dup = g_new0 (GtkTreeIter, 1);
	memcpy (dup, self, sizeof (GtkTreeIter));
	return dup;
}


static gpointer __gtk_tree_iter_dup0 (gpointer self) {
	return self ? _gtk_tree_iter_dup (self) : NULL;
}


static void vtg_project_manager_ui_on_project_goto_document (VtgProjectManagerUi* self, GtkAction* action) {
	VtgProjects* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* _tmp2_;
	VtgProjectManager* default_project;
	VtgProjects* _tmp3_ = NULL;
	ValaList* _tmp4_ = NULL;
	ValaList* _tmp5_;
	ValaList* projects;
	GtkImage* _tmp6_ = NULL;
	GtkImage* image;
	GtkTreeIter iter = {0};
	GtkTreeIter* project_iter;
	GtkTreeStore* _tmp7_ = NULL;
	GtkTreeStore* model;
	VtgFilteredListDialog* _tmp36_ = NULL;
	VtgFilteredListDialog* dialog;
	GeditWindow* _tmp37_ = NULL;
	gboolean _tmp38_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_get_projects (vtg_plugin_main_instance);
	_tmp1_ = vtg_projects_get_default_project (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	default_project = _tmp2_;
	_tmp3_ = vtg_plugin_get_projects (vtg_plugin_main_instance);
	_tmp4_ = vtg_projects_get_project_managers (_tmp3_);
	_tmp5_ = _vala_iterable_ref0 (_tmp4_);
	projects = _tmp5_;
	g_return_if_fail (projects != NULL);
	_tmp6_ = (GtkImage*) gtk_image_new ();
	image = g_object_ref_sink (_tmp6_);
	project_iter = NULL;
	_tmp7_ = vtg_filtered_list_dialog_create_model ();
	model = _tmp7_;
	{
		ValaList* _tmp8_;
		ValaList* _prj_list;
		gint _tmp9_;
		gint _prj_size;
		gint _prj_index;
		_tmp8_ = _vala_iterable_ref0 (projects);
		_prj_list = _tmp8_;
		_tmp9_ = vala_collection_get_size ((ValaCollection*) _prj_list);
		_prj_size = _tmp9_;
		_prj_index = -1;
		while (TRUE) {
			gpointer _tmp10_ = NULL;
			VtgProjectManager* prj;
			gboolean _tmp11_ = FALSE;
			gint _tmp12_;
			_prj_index = _prj_index + 1;
			if (!(_prj_index < _prj_size)) {
				break;
			}
			_tmp10_ = vala_list_get (_prj_list, _prj_index);
			prj = (VtgProjectManager*) _tmp10_;
			_tmp12_ = vala_collection_get_size ((ValaCollection*) projects);
			if (_tmp12_ > 2) {
				_tmp11_ = TRUE;
			} else {
				gboolean _tmp13_ = FALSE;
				gint _tmp14_;
				_tmp14_ = vala_collection_get_size ((ValaCollection*) projects);
				if (_tmp14_ > 1) {
					gint _tmp15_;
					_tmp15_ = vala_collection_get_size ((ValaCollection*) default_project->all_vala_sources);
					_tmp13_ = _tmp15_ > 0;
				} else {
					_tmp13_ = FALSE;
				}
				_tmp11_ = _tmp13_;
			}
			if (_tmp11_) {
				GtkTreeIter _tmp16_ = {0};
				GtkTreeIter* _tmp17_;
				VbfProject* _tmp18_ = NULL;
				VbfProject* _tmp19_ = NULL;
				gtk_tree_store_append (model, &_tmp16_, NULL);
				_g_free0 (project_iter);
				_tmp17_ = __gtk_tree_iter_dup0 (&_tmp16_);
				project_iter = _tmp17_;
				_tmp18_ = vtg_project_manager_get_project (prj);
				_tmp19_ = vtg_project_manager_get_project (prj);
				gtk_tree_store_set (model, project_iter, VTG_FILTERED_LIST_DIALOG_COLUMNS_NAME, _tmp18_->name, VTG_FILTERED_LIST_DIALOG_COLUMNS_MARKUP, _tmp19_->name, VTG_FILTERED_LIST_DIALOG_COLUMNS_VISIBILITY, TRUE, VTG_FILTERED_LIST_DIALOG_COLUMNS_OBJECT, prj, VTG_FILTERED_LIST_DIALOG_COLUMNS_ICON, vtg_utils_icon_project, VTG_FILTERED_LIST_DIALOG_COLUMNS_SELECTABLE, FALSE, -1);
			}
			{
				VbfProject* _tmp20_ = NULL;
				ValaList* _tmp21_ = NULL;
				ValaList* _group_list;
				gint _tmp22_;
				gint _group_size;
				gint _group_index;
				_tmp20_ = vtg_project_manager_get_project (prj);
				_tmp21_ = vbf_project_get_groups (_tmp20_);
				_group_list = _tmp21_;
				_tmp22_ = vala_collection_get_size ((ValaCollection*) _group_list);
				_group_size = _tmp22_;
				_group_index = -1;
				while (TRUE) {
					gpointer _tmp23_ = NULL;
					VbfGroup* group;
					_group_index = _group_index + 1;
					if (!(_group_index < _group_size)) {
						break;
					}
					_tmp23_ = vala_list_get (_group_list, _group_index);
					group = (VbfGroup*) _tmp23_;
					{
						ValaList* _tmp24_ = NULL;
						ValaList* _target_list;
						gint _tmp25_;
						gint _target_size;
						gint _target_index;
						_tmp24_ = vbf_group_get_targets (group);
						_target_list = _tmp24_;
						_tmp25_ = vala_collection_get_size ((ValaCollection*) _target_list);
						_target_size = _tmp25_;
						_target_index = -1;
						while (TRUE) {
							gpointer _tmp26_ = NULL;
							VbfTarget* target;
							gboolean _tmp27_;
							_target_index = _target_index + 1;
							if (!(_target_index < _target_size)) {
								break;
							}
							_tmp26_ = vala_list_get (_target_list, _target_index);
							target = (VbfTarget*) _tmp26_;
							_tmp27_ = vbf_target_has_sources_of_type (target, VBF_FILE_TYPES_VALA_SOURCE);
							if (_tmp27_) {
								GtkTreeIter target_iter = {0};
								GtkTreeIter _tmp28_ = {0};
								GdkPixbuf* _tmp29_ = NULL;
								GdkPixbuf* _tmp30_;
								gtk_tree_store_append (model, &_tmp28_, project_iter);
								target_iter = _tmp28_;
								_tmp29_ = vtg_utils_get_big_icon_for_target_type (target->type);
								_tmp30_ = _tmp29_;
								gtk_tree_store_set (model, &target_iter, VTG_FILTERED_LIST_DIALOG_COLUMNS_NAME, target->name, VTG_FILTERED_LIST_DIALOG_COLUMNS_MARKUP, target->name, VTG_FILTERED_LIST_DIALOG_COLUMNS_VISIBILITY, TRUE, VTG_FILTERED_LIST_DIALOG_COLUMNS_OBJECT, target, VTG_FILTERED_LIST_DIALOG_COLUMNS_ICON, _tmp30_, VTG_FILTERED_LIST_DIALOG_COLUMNS_SELECTABLE, FALSE, -1);
								_g_object_unref0 (_tmp30_);
								{
									ValaList* _tmp31_ = NULL;
									ValaList* _src_list;
									gint _tmp32_;
									gint _src_size;
									gint _src_index;
									_tmp31_ = vbf_target_get_sources (target);
									_src_list = _tmp31_;
									_tmp32_ = vala_collection_get_size ((ValaCollection*) _src_list);
									_src_size = _tmp32_;
									_src_index = -1;
									while (TRUE) {
										gpointer _tmp33_ = NULL;
										VbfSource* src;
										GtkTreeIter _tmp34_ = {0};
										GdkPixbuf* _tmp35_ = NULL;
										_src_index = _src_index + 1;
										if (!(_src_index < _src_size)) {
											break;
										}
										_tmp33_ = vala_list_get (_src_list, _src_index);
										src = (VbfSource*) _tmp33_;
										gtk_tree_store_append (model, &_tmp34_, &target_iter);
										iter = _tmp34_;
										_tmp35_ = gtk_widget_render_icon_pixbuf ((GtkWidget*) image, GTK_STOCK_FILE, GTK_ICON_SIZE_BUTTON);
										gtk_tree_store_set (model, &iter, VTG_FILTERED_LIST_DIALOG_COLUMNS_NAME, ((VbfFile*) src)->name, VTG_FILTERED_LIST_DIALOG_COLUMNS_MARKUP, ((VbfFile*) src)->name, VTG_FILTERED_LIST_DIALOG_COLUMNS_VISIBILITY, TRUE, VTG_FILTERED_LIST_DIALOG_COLUMNS_OBJECT, src, VTG_FILTERED_LIST_DIALOG_COLUMNS_ICON, _tmp35_, VTG_FILTERED_LIST_DIALOG_COLUMNS_SELECTABLE, TRUE, -1);
										_g_object_unref0 (src);
									}
									_vala_iterable_unref0 (_src_list);
								}
							}
							_g_object_unref0 (target);
						}
						_vala_iterable_unref0 (_target_list);
					}
					_g_object_unref0 (group);
				}
				_vala_iterable_unref0 (_group_list);
			}
			_g_object_unref0 (prj);
		}
		_vala_iterable_unref0 (_prj_list);
	}
	_tmp36_ = vtg_filtered_list_dialog_new (model, NULL, NULL);
	dialog = _tmp36_;
	_tmp37_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	vtg_filtered_list_dialog_set_transient_for (dialog, (GtkWindow*) _tmp37_);
	_tmp38_ = vtg_filtered_list_dialog_run (dialog);
	if (_tmp38_) {
		VbfSource* src = NULL;
		GeditTab* _tmp39_ = NULL;
		GeditTab* _tmp40_;
		gtk_tree_model_get ((GtkTreeModel*) model, &dialog->selected_iter, 3, &src, -1);
		_tmp39_ = vtg_plugin_instance_activate_uri (self->priv->_plugin_instance, ((VbfFile*) src)->uri, 0, 0);
		_tmp40_ = _tmp39_;
		_g_object_unref0 (_tmp40_);
		_g_object_unref0 (src);
	}
	_g_object_unref0 (dialog);
	_g_object_unref0 (model);
	_g_free0 (project_iter);
	_g_object_unref0 (image);
	_vala_iterable_unref0 (projects);
	_g_object_unref0 (default_project);
}


static void vtg_project_manager_ui_build_goto_symbol_model (VtgProjectManagerUi* self, GtkTreeStore* model, AfroditeResultItem* parent, GtkTreeIter* parent_iter) {
	ValaList* _tmp0_ = NULL;
	gint _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (model != NULL);
	g_return_if_fail (parent != NULL);
	_tmp0_ = afrodite_result_item_get_children (parent);
	_tmp1_ = vala_collection_get_size ((ValaCollection*) _tmp0_);
	if (_tmp1_ == 0) {
		return;
	}
	{
		ValaList* _tmp2_ = NULL;
		ValaList* _tmp3_;
		ValaList* _item_list;
		gint _tmp4_;
		gint _item_size;
		gint _item_index;
		_tmp2_ = afrodite_result_item_get_children (parent);
		_tmp3_ = _vala_iterable_ref0 (_tmp2_);
		_item_list = _tmp3_;
		_tmp4_ = vala_collection_get_size ((ValaCollection*) _item_list);
		_item_size = _tmp4_;
		_item_index = -1;
		while (TRUE) {
			gpointer _tmp5_ = NULL;
			AfroditeResultItem* item;
			GtkTreeIter iter = {0};
			GtkTreeIter _tmp6_ = {0};
			AfroditeSymbol* _tmp7_ = NULL;
			const gchar* _tmp8_ = NULL;
			AfroditeSymbol* _tmp9_ = NULL;
			const gchar* _tmp10_ = NULL;
			AfroditeSymbol* _tmp11_ = NULL;
			VtgFilteredListDialogData* _tmp12_ = NULL;
			VtgFilteredListDialogData* _tmp13_;
			AfroditeSymbol* _tmp14_ = NULL;
			AfroditeMemberType _tmp15_;
			GdkPixbuf* _tmp16_ = NULL;
			GdkPixbuf* _tmp17_;
			ValaList* _tmp18_ = NULL;
			gint _tmp19_;
			_item_index = _item_index + 1;
			if (!(_item_index < _item_size)) {
				break;
			}
			_tmp5_ = vala_list_get (_item_list, _item_index);
			item = (AfroditeResultItem*) _tmp5_;
			gtk_tree_store_append (model, &_tmp6_, parent_iter);
			iter = _tmp6_;
			_tmp7_ = afrodite_result_item_get_symbol (item);
			_tmp8_ = afrodite_symbol_get_display_name (_tmp7_);
			_tmp9_ = afrodite_result_item_get_symbol (item);
			_tmp10_ = afrodite_symbol_get_display_name (_tmp9_);
			_tmp11_ = afrodite_result_item_get_symbol (item);
			_tmp12_ = vtg_filtered_list_dialog_data_new (_tmp11_);
			_tmp13_ = _tmp12_;
			_tmp14_ = afrodite_result_item_get_symbol (item);
			_tmp15_ = afrodite_symbol_get_member_type (_tmp14_);
			_tmp16_ = vtg_utils_get_icon_for_type_name (_tmp15_);
			_tmp17_ = _tmp16_;
			gtk_tree_store_set (model, &iter, VTG_FILTERED_LIST_DIALOG_COLUMNS_NAME, _tmp8_, VTG_FILTERED_LIST_DIALOG_COLUMNS_MARKUP, _tmp10_, VTG_FILTERED_LIST_DIALOG_COLUMNS_VISIBILITY, TRUE, VTG_FILTERED_LIST_DIALOG_COLUMNS_OBJECT, _tmp13_, VTG_FILTERED_LIST_DIALOG_COLUMNS_ICON, _tmp17_, VTG_FILTERED_LIST_DIALOG_COLUMNS_SELECTABLE, TRUE, -1);
			_g_object_unref0 (_tmp17_);
			_g_object_unref0 (_tmp13_);
			_tmp18_ = afrodite_result_item_get_children (item);
			_tmp19_ = vala_collection_get_size ((ValaCollection*) _tmp18_);
			if (_tmp19_ > 0) {
				vtg_project_manager_ui_build_goto_symbol_model (self, model, item, &iter);
			}
			_afrodite_result_item_unref0 (item);
		}
		_vala_iterable_unref0 (_item_list);
	}
}


static void vtg_project_manager_ui_build_search_symbol_model (VtgProjectManagerUi* self, const gchar* project_path, GtkTreeStore* model, AfroditeSymbol* parent, GtkTreeIter* parent_iter) {
	gboolean _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (project_path != NULL);
	g_return_if_fail (model != NULL);
	g_return_if_fail (parent != NULL);
	_tmp0_ = afrodite_symbol_get_has_children (parent);
	if (!_tmp0_) {
		return;
	}
	{
		ValaList* _tmp1_ = NULL;
		ValaList* _tmp2_;
		ValaList* _symbol_list;
		gint _tmp3_;
		gint _symbol_size;
		gint _symbol_index;
		_tmp1_ = afrodite_symbol_get_children (parent);
		_tmp2_ = _vala_iterable_ref0 (_tmp1_);
		_symbol_list = _tmp2_;
		_tmp3_ = vala_collection_get_size ((ValaCollection*) _symbol_list);
		_symbol_size = _tmp3_;
		_symbol_index = -1;
		while (TRUE) {
			gpointer _tmp4_ = NULL;
			AfroditeSymbol* symbol;
			gboolean add;
			const gchar* _tmp5_ = NULL;
			gboolean _tmp6_;
			_symbol_index = _symbol_index + 1;
			if (!(_symbol_index < _symbol_size)) {
				break;
			}
			_tmp4_ = vala_list_get (_symbol_list, _symbol_index);
			symbol = (AfroditeSymbol*) _tmp4_;
			add = FALSE;
			_tmp5_ = afrodite_symbol_get_name (symbol);
			_tmp6_ = g_str_has_prefix (_tmp5_, "!");
			if (!_tmp6_) {
				{
					ValaList* _tmp7_ = NULL;
					ValaList* _tmp8_;
					ValaList* _sr_list;
					gint _tmp9_;
					gint _sr_size;
					gint _sr_index;
					_tmp7_ = afrodite_symbol_get_source_references (symbol);
					_tmp8_ = _vala_iterable_ref0 (_tmp7_);
					_sr_list = _tmp8_;
					_tmp9_ = vala_collection_get_size ((ValaCollection*) _sr_list);
					_sr_size = _tmp9_;
					_sr_index = -1;
					while (TRUE) {
						gpointer _tmp10_ = NULL;
						AfroditeSourceReference* sr;
						gboolean _tmp11_ = FALSE;
						AfroditeSourceFile* _tmp12_ = NULL;
						const gchar* _tmp13_ = NULL;
						gboolean _tmp14_;
						_sr_index = _sr_index + 1;
						if (!(_sr_index < _sr_size)) {
							break;
						}
						_tmp10_ = vala_list_get (_sr_list, _sr_index);
						sr = (AfroditeSourceReference*) _tmp10_;
						_tmp12_ = afrodite_source_reference_get_file (sr);
						_tmp13_ = afrodite_source_file_get_filename (_tmp12_);
						_tmp14_ = g_str_has_prefix (_tmp13_, project_path);
						if (_tmp14_) {
							AfroditeSourceFile* _tmp15_ = NULL;
							const gchar* _tmp16_ = NULL;
							gboolean _tmp17_;
							_tmp15_ = afrodite_source_reference_get_file (sr);
							_tmp16_ = afrodite_source_file_get_filename (_tmp15_);
							_tmp17_ = g_str_has_suffix (_tmp16_, ".vapi");
							_tmp11_ = !_tmp17_;
						} else {
							_tmp11_ = FALSE;
						}
						if (_tmp11_) {
							add = TRUE;
							_afrodite_source_reference_unref0 (sr);
							break;
						}
						_afrodite_source_reference_unref0 (sr);
					}
					_vala_iterable_unref0 (_sr_list);
				}
			}
			if (add) {
				GtkTreeIter iter = {0};
				GtkTreeIter _tmp18_ = {0};
				const gchar* _tmp19_ = NULL;
				const gchar* _tmp20_ = NULL;
				VtgFilteredListDialogData* _tmp21_ = NULL;
				VtgFilteredListDialogData* _tmp22_;
				AfroditeMemberType _tmp23_;
				GdkPixbuf* _tmp24_ = NULL;
				GdkPixbuf* _tmp25_;
				gboolean _tmp26_;
				gtk_tree_store_append (model, &_tmp18_, parent_iter);
				iter = _tmp18_;
				_tmp19_ = afrodite_symbol_get_display_name (symbol);
				_tmp20_ = afrodite_symbol_get_display_name (symbol);
				_tmp21_ = vtg_filtered_list_dialog_data_new (symbol);
				_tmp22_ = _tmp21_;
				_tmp23_ = afrodite_symbol_get_member_type (symbol);
				_tmp24_ = vtg_utils_get_icon_for_type_name (_tmp23_);
				_tmp25_ = _tmp24_;
				gtk_tree_store_set (model, &iter, VTG_FILTERED_LIST_DIALOG_COLUMNS_NAME, _tmp19_, VTG_FILTERED_LIST_DIALOG_COLUMNS_MARKUP, _tmp20_, VTG_FILTERED_LIST_DIALOG_COLUMNS_VISIBILITY, TRUE, VTG_FILTERED_LIST_DIALOG_COLUMNS_OBJECT, _tmp22_, VTG_FILTERED_LIST_DIALOG_COLUMNS_ICON, _tmp25_, VTG_FILTERED_LIST_DIALOG_COLUMNS_SELECTABLE, TRUE, -1);
				_g_object_unref0 (_tmp25_);
				_g_object_unref0 (_tmp22_);
				_tmp26_ = afrodite_symbol_get_has_children (symbol);
				if (_tmp26_) {
					vtg_project_manager_ui_build_search_symbol_model (self, project_path, model, symbol, &iter);
				}
			}
			_g_object_unref0 (symbol);
		}
		_vala_iterable_unref0 (_symbol_list);
	}
}


static gint vtg_project_manager_ui_sort_symbol_model (VtgProjectManagerUi* self, GtkTreeModel* model, GtkTreeIter* a, GtkTreeIter* b) {
	gint result = 0;
	VtgFilteredListDialogData* vala = NULL;
	VtgFilteredListDialogData* valb = NULL;
	AfroditeSymbol* _tmp0_ = NULL;
	AfroditeSymbol* _tmp1_;
	AfroditeSymbol* sa;
	AfroditeSymbol* _tmp2_ = NULL;
	AfroditeSymbol* _tmp3_;
	AfroditeSymbol* sb;
	gint _tmp4_;
	g_return_val_if_fail (self != NULL, 0);
	g_return_val_if_fail (model != NULL, 0);
	gtk_tree_model_get (model, a, VTG_FILTERED_LIST_DIALOG_COLUMNS_OBJECT, &vala, -1);
	gtk_tree_model_get (model, b, VTG_FILTERED_LIST_DIALOG_COLUMNS_OBJECT, &valb, -1);
	if (vala == NULL) {
		_tmp0_ = NULL;
	} else {
		_tmp0_ = vala->symbol;
	}
	_tmp1_ = _g_object_ref0 (_tmp0_);
	sa = _tmp1_;
	if (valb == NULL) {
		_tmp2_ = NULL;
	} else {
		_tmp2_ = valb->symbol;
	}
	_tmp3_ = _g_object_ref0 (_tmp2_);
	sb = _tmp3_;
	_tmp4_ = vtg_utils_symbol_type_compare (sa, sb);
	result = _tmp4_;
	_g_object_unref0 (sb);
	_g_object_unref0 (sa);
	_g_object_unref0 (valb);
	_g_object_unref0 (vala);
	return result;
}


static void vtg_project_manager_ui_on_project_goto_symbol (VtgProjectManagerUi* self, GtkAction* action) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* _tmp2_;
	VtgProjectManager* project;
	GeditWindow* _tmp3_ = NULL;
	GeditView* _tmp4_ = NULL;
	GeditView* _tmp5_;
	GeditView* view;
	VtgSymbolCompletion* _tmp6_ = NULL;
	VtgSymbolCompletion* scs;
	GtkTextBuffer* _tmp7_ = NULL;
	GeditDocument* _tmp8_;
	GeditDocument* doc;
	gchar* _tmp9_ = NULL;
	gchar* uri;
	gchar* _tmp10_ = NULL;
	gchar* _tmp11_;
	GtkTreeStore* model;
	gchar* _tmp12_ = NULL;
	gchar* name;
	AfroditeQueryResult* _result_;
	AfroditeQueryOptions* _tmp13_ = NULL;
	AfroditeQueryOptions* options;
	AfroditeCompletionEngine* _tmp14_ = NULL;
	AfroditeCodeDom* _tmp15_ = NULL;
	AfroditeQueryResult* _tmp16_ = NULL;
	GtkTreeStore* _tmp17_ = NULL;
	gboolean _tmp18_;
	gboolean _tmp21_ = FALSE;
	VtgFilteredListDialog* _tmp23_ = NULL;
	VtgFilteredListDialog* dialog;
	GeditWindow* _tmp24_ = NULL;
	gboolean _tmp25_;
	GError * _inner_error_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	project = _tmp2_;
	g_return_if_fail (project != NULL);
	_tmp3_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	_tmp4_ = gedit_window_get_active_view (_tmp3_);
	_tmp5_ = _g_object_ref0 (_tmp4_);
	view = _tmp5_;
	if (view == NULL) {
		_g_object_unref0 (view);
		_g_object_unref0 (project);
		return;
	}
	_tmp6_ = vtg_plugin_instance_scs_find_from_view (self->priv->_plugin_instance, view);
	scs = _tmp6_;
	if (scs == NULL) {
		g_warning ("vtgprojectmanagerui.vala:699: on_project_goto_method: symbol completio" \
"n helper is null for view");
		_g_object_unref0 (scs);
		_g_object_unref0 (view);
		_g_object_unref0 (project);
		return;
	}
	_tmp7_ = gtk_text_view_get_buffer ((GtkTextView*) view);
	_tmp8_ = _g_object_ref0 (GEDIT_DOCUMENT (_tmp7_));
	doc = _tmp8_;
	g_return_if_fail (doc != NULL);
	_tmp9_ = vtg_utils_get_document_uri (doc);
	uri = _tmp9_;
	if (uri == NULL) {
		_g_free0 (uri);
		_g_object_unref0 (doc);
		_g_object_unref0 (scs);
		_g_object_unref0 (view);
		_g_object_unref0 (project);
		return;
	}
	_tmp10_ = g_filename_from_uri (uri, NULL, &_inner_error_);
	_tmp11_ = _tmp10_;
	if (_inner_error_ != NULL) {
		goto __catch12_g_error;
	}
	_g_free0 (uri);
	uri = _tmp11_;
	model = NULL;
	_tmp12_ = vtg_utils_get_document_name (doc);
	name = _tmp12_;
	_result_ = NULL;
	_tmp13_ = afrodite_query_options_standard ();
	options = _tmp13_;
	options->all_symbols = TRUE;
	_tmp14_ = vtg_symbol_completion_get_completion_engine (scs);
	_tmp15_ = afrodite_completion_engine_get_codedom (_tmp14_);
	_tmp16_ = afrodite_code_dom_get_symbols_for_path (_tmp15_, options, name);
	_afrodite_query_result_unref0 (_result_);
	_result_ = _tmp16_;
	_tmp17_ = vtg_filtered_list_dialog_create_model ();
	_g_object_unref0 (model);
	model = _tmp17_;
	_tmp18_ = afrodite_query_result_get_is_empty (_result_);
	if (!_tmp18_) {
		ValaList* _tmp19_ = NULL;
		gpointer _tmp20_ = NULL;
		AfroditeResultItem* first;
		_tmp19_ = afrodite_query_result_get_children (_result_);
		_tmp20_ = vala_list_get (_tmp19_, 0);
		first = (AfroditeResultItem*) _tmp20_;
		vtg_project_manager_ui_build_goto_symbol_model (self, model, first, NULL);
		_afrodite_result_item_unref0 (first);
	}
	if (_result_ == NULL) {
		_tmp21_ = TRUE;
	} else {
		gboolean _tmp22_;
		_tmp22_ = afrodite_query_result_get_is_empty (_result_);
		_tmp21_ = _tmp22_;
	}
	if (_tmp21_) {
		_afrodite_query_options_unref0 (options);
		_afrodite_query_result_unref0 (_result_);
		_g_free0 (name);
		_g_object_unref0 (model);
		_g_free0 (uri);
		_g_object_unref0 (doc);
		_g_object_unref0 (scs);
		_g_object_unref0 (view);
		_g_object_unref0 (project);
		return;
	}
	_tmp23_ = vtg_filtered_list_dialog_new (model, _vtg_project_manager_ui_sort_symbol_model_gtk_tree_iter_compare_func, self);
	dialog = _tmp23_;
	_tmp24_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	vtg_filtered_list_dialog_set_transient_for (dialog, (GtkWindow*) _tmp24_);
	_tmp25_ = vtg_filtered_list_dialog_run (dialog);
	if (_tmp25_) {
		VtgFilteredListDialogData* data = NULL;
		AfroditeSourceReference* sr = NULL;
		gboolean _tmp26_;
		gtk_tree_model_get ((GtkTreeModel*) model, &dialog->selected_iter, VTG_FILTERED_LIST_DIALOG_COLUMNS_OBJECT, &data, -1);
		_tmp26_ = afrodite_symbol_get_has_source_references (data->symbol);
		if (_tmp26_) {
			ValaList* _tmp27_ = NULL;
			gpointer _tmp28_ = NULL;
			gint _tmp29_;
			_tmp27_ = afrodite_symbol_get_source_references (data->symbol);
			_tmp28_ = vala_list_get (_tmp27_, 0);
			_afrodite_source_reference_unref0 (sr);
			sr = (AfroditeSourceReference*) _tmp28_;
			_tmp29_ = afrodite_source_reference_get_first_line (sr);
			gedit_document_goto_line (doc, _tmp29_ - 1);
			gedit_view_scroll_to_cursor (view);
		}
		_afrodite_source_reference_unref0 (sr);
		_g_object_unref0 (data);
	}
	_g_object_unref0 (dialog);
	_afrodite_query_options_unref0 (options);
	_afrodite_query_result_unref0 (_result_);
	_g_free0 (name);
	_g_object_unref0 (model);
	goto __finally12;
	__catch12_g_error:
	{
		GError * e;
		e = _inner_error_;
		_inner_error_ = NULL;
		g_warning ("vtgprojectmanagerui.vala:746: error %s converting file %s to uri", e->message, uri);
		_g_error_free0 (e);
	}
	__finally12:
	if (_inner_error_ != NULL) {
		_g_free0 (uri);
		_g_object_unref0 (doc);
		_g_object_unref0 (scs);
		_g_object_unref0 (view);
		_g_object_unref0 (project);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return;
	}
	_g_free0 (uri);
	_g_object_unref0 (doc);
	_g_object_unref0 (scs);
	_g_object_unref0 (view);
	_g_object_unref0 (project);
}


static void vtg_project_manager_ui_on_standalone_file_compile (VtgProjectManagerUi* self, GtkAction* action) {
	GeditWindow* _tmp0_ = NULL;
	GeditDocument* _tmp1_ = NULL;
	GeditDocument* _tmp2_;
	GeditDocument* doc;
	GError * _inner_error_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	_tmp1_ = gedit_window_get_active_document (_tmp0_);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	doc = _tmp2_;
	if (doc != NULL) {
		gchar* _tmp3_ = NULL;
		gchar* file;
		VtgProjectView* _tmp4_ = NULL;
		VtgProjectManager* _tmp5_ = NULL;
		VtgProjectManager* _tmp6_;
		VtgProjectManager* project;
		gboolean _tmp7_ = FALSE;
		GtkListStore* _tmp9_ = NULL;
		GtkListStore* cache;
		const gchar* _tmp10_ = NULL;
		GeditWindow* _tmp11_ = NULL;
		VtgInteractionParametersDialog* _tmp12_ = NULL;
		VtgInteractionParametersDialog* params_dialog;
		gint _tmp13_;
		_tmp3_ = vtg_utils_get_document_uri (doc);
		file = _tmp3_;
		_tmp4_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
		_tmp5_ = vtg_project_view_get_current_project (_tmp4_);
		_tmp6_ = _g_object_ref0 (_tmp5_);
		project = _tmp6_;
		if (project != NULL) {
			_tmp7_ = !project->is_default;
		} else {
			_tmp7_ = FALSE;
		}
		if (_tmp7_) {
			gboolean _tmp8_;
			_tmp8_ = vtg_project_manager_contains_vala_source_file (project, file);
			if (_tmp8_) {
				g_warning ("vtgprojectmanagerui.vala:772: Can't compile a project file (for now)");
				_g_object_unref0 (project);
				_g_free0 (file);
				_g_object_unref0 (doc);
				return;
			}
		}
		_tmp9_ = vtg_caches_get_compile_cache ();
		cache = _tmp9_;
		_tmp10_ = _ ("Compile File");
		_tmp11_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
		_tmp12_ = vtg_interaction_parameters_dialog_new (_tmp10_, (GtkWindow*) _tmp11_, cache);
		params_dialog = _tmp12_;
		_tmp13_ = vtg_interaction_parameters_dialog_run (params_dialog);
		if (_tmp13_ == GTK_RESPONSE_OK) {
			const gchar* _tmp14_ = NULL;
			gchar* _tmp15_;
			gchar* params;
			gboolean _tmp16_;
			gboolean _tmp17_ = FALSE;
			_tmp14_ = vtg_interaction_parameters_dialog_get_parameters (params_dialog);
			_tmp15_ = g_strdup (_tmp14_);
			params = _tmp15_;
			_tmp16_ = vtg_caches_cache_contains (cache, params);
			if (!_tmp16_) {
				vtg_caches_cache_add (cache, params);
			}
			if (file == NULL) {
				_tmp17_ = TRUE;
			} else {
				gboolean _tmp18_ = FALSE;
				gboolean _tmp19_;
				_tmp19_ = gedit_document_is_untouched (doc);
				if (!_tmp19_) {
					VtgConfiguration* _tmp20_ = NULL;
					gboolean _tmp21_;
					_tmp20_ = vtg_plugin_get_config (vtg_plugin_main_instance);
					_tmp21_ = vtg_configuration_get_save_before_build (_tmp20_);
					_tmp18_ = _tmp21_;
				} else {
					_tmp18_ = FALSE;
				}
				_tmp17_ = _tmp18_;
			}
			if (_tmp17_) {
				GeditWindow* _tmp22_ = NULL;
				gchar* _tmp23_ = NULL;
				_tmp22_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
				gedit_commands_save_document (_tmp22_, doc);
				_tmp23_ = vtg_utils_get_document_uri (doc);
				_g_free0 (file);
				file = _tmp23_;
			}
			if (file != NULL) {
				gchar* _tmp24_ = NULL;
				gchar* _tmp25_;
				_tmp24_ = g_filename_from_uri (file, NULL, &_inner_error_);
				_tmp25_ = _tmp24_;
				if (_inner_error_ != NULL) {
					goto __catch13_g_error;
				}
				_g_free0 (file);
				file = _tmp25_;
				vtg_project_builder_compile_file (self->priv->_prj_builder, file, params);
			}
			goto __finally13;
			__catch13_g_error:
			{
				GError * e;
				e = _inner_error_;
				_inner_error_ = NULL;
				g_warning ("vtgprojectmanagerui.vala:794: error %s converting file %s from uri", e->message, file);
				_g_error_free0 (e);
			}
			__finally13:
			if (_inner_error_ != NULL) {
				_g_free0 (params);
				_vtg_interaction_parameters_dialog_unref0 (params_dialog);
				_g_object_unref0 (cache);
				_g_object_unref0 (project);
				_g_free0 (file);
				_g_object_unref0 (doc);
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
				g_clear_error (&_inner_error_);
				return;
			}
			_g_free0 (params);
		}
		_vtg_interaction_parameters_dialog_unref0 (params_dialog);
		_g_object_unref0 (cache);
		_g_object_unref0 (project);
		_g_free0 (file);
	}
	_g_object_unref0 (doc);
}


static void vtg_project_manager_ui_on_stop_compilation (VtgProjectManagerUi* self, GtkAction* action) {
	gboolean _tmp0_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_project_builder_get_is_building (self->priv->_prj_builder);
	if (_tmp0_) {
		vtg_project_builder_stop_build (self->priv->_prj_builder);
	}
}


static void vtg_project_manager_ui_on_project_build (VtgProjectManagerUi* self, GtkAction* action) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	if (_tmp1_ != NULL) {
		gchar* pars;
		GtkListStore* _tmp2_ = NULL;
		GtkListStore* cache;
		gboolean _tmp3_;
		VtgProjectView* _tmp17_ = NULL;
		VtgProjectManager* _tmp18_ = NULL;
		VtgProjectManager* _tmp19_;
		VtgProjectManager* project;
		pars = NULL;
		_tmp2_ = vtg_caches_get_build_cache ();
		cache = _tmp2_;
		_tmp3_ = vtg_project_builder_get_is_building (self->priv->_prj_builder);
		if (_tmp3_) {
			GeditWindow* _tmp4_ = NULL;
			const gchar* _tmp5_ = NULL;
			GtkMessageDialog* _tmp6_ = NULL;
			GtkMessageDialog* dialog;
			const gchar* _tmp7_ = NULL;
			gint _tmp8_;
			gint res;
			_tmp4_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
			_tmp5_ = _ ("Stop the current build process and restart a new one?");
			_tmp6_ = (GtkMessageDialog*) gtk_message_dialog_new ((GtkWindow*) _tmp4_, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, _tmp5_);
			dialog = g_object_ref_sink (_tmp6_);
			_tmp7_ = _ ("Stop the current build process and start a new one with the same comma" \
"nd line parameters");
			g_object_set (dialog, "secondary-text", _tmp7_, NULL);
			_tmp8_ = gtk_dialog_run ((GtkDialog*) dialog);
			res = _tmp8_;
			gtk_widget_destroy ((GtkWidget*) dialog);
			if (res == GTK_RESPONSE_YES) {
				GtkTreeIter iter = {0};
				GtkTreeIter _tmp9_ = {0};
				gboolean _tmp10_;
				vtg_project_builder_stop_build (self->priv->_prj_builder);
				_tmp10_ = gtk_tree_model_get_iter_first ((GtkTreeModel*) cache, &_tmp9_);
				iter = _tmp9_;
				if (_tmp10_) {
					gtk_tree_model_get ((GtkTreeModel*) cache, &iter, 0, &pars, -1);
				}
			} else {
				_g_object_unref0 (dialog);
				_g_object_unref0 (cache);
				_g_free0 (pars);
				return;
			}
			_g_object_unref0 (dialog);
		}
		if (pars == NULL) {
			const gchar* _tmp11_ = NULL;
			GeditWindow* _tmp12_ = NULL;
			VtgInteractionParametersDialog* _tmp13_ = NULL;
			VtgInteractionParametersDialog* params_dialog;
			gint _tmp14_;
			const gchar* _tmp15_ = NULL;
			gchar* _tmp16_;
			_tmp11_ = _ ("Build Project");
			_tmp12_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
			_tmp13_ = vtg_interaction_parameters_dialog_new (_tmp11_, (GtkWindow*) _tmp12_, cache);
			params_dialog = _tmp13_;
			_tmp14_ = vtg_interaction_parameters_dialog_run (params_dialog);
			if (_tmp14_ != GTK_RESPONSE_OK) {
				_vtg_interaction_parameters_dialog_unref0 (params_dialog);
				_g_object_unref0 (cache);
				_g_free0 (pars);
				return;
			}
			_tmp15_ = vtg_interaction_parameters_dialog_get_parameters (params_dialog);
			_tmp16_ = g_strdup (_tmp15_);
			_g_free0 (pars);
			pars = _tmp16_;
			vtg_caches_cache_remove (cache, pars);
			vtg_caches_cache_add (cache, pars);
			_vtg_interaction_parameters_dialog_unref0 (params_dialog);
		}
		_tmp17_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
		_tmp18_ = vtg_project_view_get_current_project (_tmp17_);
		_tmp19_ = _g_object_ref0 (_tmp18_);
		project = _tmp19_;
		vtg_plugin_project_save_all (vtg_plugin_main_instance, project);
		vtg_project_builder_build (self->priv->_prj_builder, project, pars);
		_g_object_unref0 (project);
		_g_object_unref0 (cache);
		_g_free0 (pars);
	}
}


static void vtg_project_manager_ui_on_project_configure (VtgProjectManagerUi* self, GtkAction* action) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	if (_tmp1_ != NULL) {
		GtkListStore* _tmp2_ = NULL;
		GtkListStore* cache;
		const gchar* _tmp3_ = NULL;
		GeditWindow* _tmp4_ = NULL;
		VtgInteractionParametersDialog* _tmp5_ = NULL;
		VtgInteractionParametersDialog* params_dialog;
		gint _tmp6_;
		_tmp2_ = vtg_caches_get_configure_cache ();
		cache = _tmp2_;
		_tmp3_ = _ ("Configure Project");
		_tmp4_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
		_tmp5_ = vtg_interaction_parameters_dialog_new (_tmp3_, (GtkWindow*) _tmp4_, cache);
		params_dialog = _tmp5_;
		_tmp6_ = vtg_interaction_parameters_dialog_run (params_dialog);
		if (_tmp6_ == GTK_RESPONSE_OK) {
			VtgProjectView* _tmp7_ = NULL;
			VtgProjectManager* _tmp8_ = NULL;
			VtgProjectManager* _tmp9_;
			VtgProjectManager* project;
			const gchar* _tmp10_ = NULL;
			gchar* _tmp11_;
			gchar* params;
			_tmp7_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
			_tmp8_ = vtg_project_view_get_current_project (_tmp7_);
			_tmp9_ = _g_object_ref0 (_tmp8_);
			project = _tmp9_;
			_tmp10_ = vtg_interaction_parameters_dialog_get_parameters (params_dialog);
			_tmp11_ = g_strdup (_tmp10_);
			params = _tmp11_;
			vtg_caches_cache_remove (cache, params);
			vtg_caches_cache_add (cache, params);
			vtg_plugin_project_save_all (vtg_plugin_main_instance, project);
			vtg_project_builder_configure (self->priv->_prj_builder, project, params);
			_g_free0 (params);
			_g_object_unref0 (project);
		}
		_vtg_interaction_parameters_dialog_unref0 (params_dialog);
		_g_object_unref0 (cache);
	}
}


static void vtg_project_manager_ui_on_project_clean (VtgProjectManagerUi* self, GtkAction* action) {
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	vtg_project_manager_ui_clean_project (self);
}


static void vtg_project_manager_ui_on_project_execute_process (VtgProjectManagerUi* self, GtkAction* action) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	if (_tmp1_ != NULL) {
		VtgProjectView* _tmp2_ = NULL;
		VtgProjectManager* _tmp3_ = NULL;
		VtgProjectManager* _tmp4_;
		VtgProjectManager* project;
		GeditWindow* _tmp5_ = NULL;
		VtgProjectExecuterDialog* _tmp6_ = NULL;
		VtgProjectExecuterDialog* exec_dialog;
		gint _tmp7_;
		_tmp2_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
		_tmp3_ = vtg_project_view_get_current_project (_tmp2_);
		_tmp4_ = _g_object_ref0 (_tmp3_);
		project = _tmp4_;
		_tmp5_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
		_tmp6_ = vtg_project_executer_dialog_new ((GtkWindow*) _tmp5_, project);
		exec_dialog = _tmp6_;
		_tmp7_ = vtg_project_executer_dialog_run (exec_dialog);
		if (_tmp7_ == GTK_RESPONSE_OK) {
			const gchar* _tmp8_ = NULL;
			gchar* _tmp9_;
			gchar* command_line;
			VbfProject* _tmp10_ = NULL;
			_tmp8_ = vtg_project_executer_dialog_get_command_line (exec_dialog);
			_tmp9_ = g_strdup (_tmp8_);
			command_line = _tmp9_;
			_tmp10_ = vtg_project_manager_get_project (project);
			vtg_project_executer_execute (self->priv->_prj_executer, _tmp10_, command_line);
			_g_free0 (command_line);
		}
		_vtg_project_executer_dialog_unref0 (exec_dialog);
		_g_object_unref0 (project);
	}
}


static void vtg_project_manager_ui_on_project_kill_process (VtgProjectManagerUi* self, GtkAction* action) {
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	vtg_project_executer_kill_last (self->priv->_prj_executer);
}


static void vtg_project_manager_ui_clean_project (VtgProjectManagerUi* self) {
	VtgProjectView* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	g_return_if_fail (self != NULL);
	_tmp0_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp1_ = vtg_project_view_get_current_project (_tmp0_);
	if (_tmp1_ != NULL) {
		VtgProjectView* _tmp2_ = NULL;
		VtgProjectManager* _tmp3_ = NULL;
		VtgProjectManager* _tmp4_;
		VtgProjectManager* project;
		_tmp2_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
		_tmp3_ = vtg_project_view_get_current_project (_tmp2_);
		_tmp4_ = _g_object_ref0 (_tmp3_);
		project = _tmp4_;
		vtg_project_builder_clean (self->priv->_prj_builder, project, TRUE);
		_g_object_unref0 (project);
	}
}


static void vtg_project_manager_ui_on_project_error_next (VtgProjectManagerUi* self, GtkAction* action) {
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	vtg_project_builder_next_error (self->priv->_prj_builder);
}


static void vtg_project_manager_ui_on_project_error_previuos (VtgProjectManagerUi* self, GtkAction* action) {
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	vtg_project_builder_previous_error (self->priv->_prj_builder);
}


static void vtg_project_manager_ui_on_current_project_changed (VtgProjectManagerUi* self, GObject* sender, GParamSpec* pspec) {
	VtgProjectView* _tmp0_;
	VtgProjectView* view;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* _tmp2_;
	VtgProjectManager* prj;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	g_return_if_fail (pspec != NULL);
	_tmp0_ = _g_object_ref0 (VTG_PROJECT_VIEW (sender));
	view = _tmp0_;
	_tmp1_ = vtg_project_view_get_current_project (view);
	_tmp2_ = _g_object_ref0 (_tmp1_);
	prj = _tmp2_;
	vtg_project_manager_ui_update_ui (self, prj);
	_g_object_unref0 (prj);
	_g_object_unref0 (view);
}


static void vtg_project_manager_ui_update_ui (VtgProjectManagerUi* self, VtgProjectManager* pm) {
	gboolean _tmp0_ = FALSE;
	gboolean default_project;
	gboolean _tmp1_ = FALSE;
	gboolean can_build;
	gboolean _tmp5_ = FALSE;
	gboolean can_clean;
	gboolean _tmp9_ = FALSE;
	gboolean can_configure;
	GtkAction* _tmp13_ = NULL;
	GtkAction* _tmp14_;
	GtkAction* action;
	GtkAction* _tmp15_ = NULL;
	GtkAction* _tmp16_;
	GtkAction* _tmp20_ = NULL;
	GtkAction* _tmp21_;
	GtkAction* _tmp23_ = NULL;
	GtkAction* _tmp24_;
	GtkAction* _tmp28_ = NULL;
	GtkAction* _tmp29_;
	GeditWindow* _tmp31_ = NULL;
	GeditDocument* _tmp32_ = NULL;
	GeditDocument* _tmp33_;
	GeditDocument* doc;
	gboolean _tmp34_ = FALSE;
	gboolean is_vala_source;
	GtkAction* _tmp36_ = NULL;
	GtkAction* _tmp37_;
	GtkAction* _tmp39_ = NULL;
	GtkAction* _tmp40_;
	GtkAction* _tmp41_ = NULL;
	GtkAction* _tmp42_;
	GtkAction* _tmp43_ = NULL;
	GtkAction* _tmp44_;
	VtgBuildLogView* _tmp48_ = NULL;
	gint _tmp49_;
	VtgBuildLogView* _tmp50_ = NULL;
	gint _tmp51_;
	gboolean has_errors;
	GtkAction* _tmp52_ = NULL;
	GtkAction* _tmp53_;
	GtkAction* _tmp54_ = NULL;
	GtkAction* _tmp55_;
	GtkAction* _tmp56_ = NULL;
	GtkAction* _tmp57_;
	GtkAction* _tmp62_ = NULL;
	GtkAction* _tmp63_;
	GtkAction* _tmp66_ = NULL;
	GtkAction* _tmp67_;
	gboolean can_complete;
	GeditWindow* _tmp69_ = NULL;
	GeditView* _tmp70_ = NULL;
	GeditView* _tmp71_;
	GeditView* view;
	GtkAction* _tmp73_ = NULL;
	GtkAction* _tmp74_;
	gboolean has_changelog;
	gboolean has_vcs_backend;
	gboolean _tmp75_ = FALSE;
	VtgProjectView* _tmp76_ = NULL;
	VtgProjectManager* _tmp77_ = NULL;
	GtkAction* _tmp82_ = NULL;
	GtkAction* _tmp83_;
	GtkAction* _tmp85_ = NULL;
	GtkAction* _tmp86_;
	GtkAction* _tmp87_ = NULL;
	GtkAction* _tmp88_;
	GtkAction* _tmp91_ = NULL;
	GtkAction* _tmp92_;
	g_return_if_fail (self != NULL);
	if (pm == NULL) {
		_tmp0_ = TRUE;
	} else {
		_tmp0_ = pm->is_default;
	}
	default_project = _tmp0_;
	if (pm != NULL) {
		VbfProject* _tmp2_ = NULL;
		gchar* _tmp3_ = NULL;
		gchar* _tmp4_;
		_tmp2_ = vtg_project_manager_get_project (pm);
		_tmp3_ = vbf_project_get_build_command (_tmp2_);
		_tmp4_ = _tmp3_;
		_tmp1_ = _tmp4_ != NULL;
		_g_free0 (_tmp4_);
	} else {
		_tmp1_ = FALSE;
	}
	can_build = _tmp1_;
	if (pm != NULL) {
		VbfProject* _tmp6_ = NULL;
		gchar* _tmp7_ = NULL;
		gchar* _tmp8_;
		_tmp6_ = vtg_project_manager_get_project (pm);
		_tmp7_ = vbf_project_get_clean_command (_tmp6_);
		_tmp8_ = _tmp7_;
		_tmp5_ = _tmp8_ != NULL;
		_g_free0 (_tmp8_);
	} else {
		_tmp5_ = FALSE;
	}
	can_clean = _tmp5_;
	if (pm != NULL) {
		VbfProject* _tmp10_ = NULL;
		gchar* _tmp11_ = NULL;
		gchar* _tmp12_;
		_tmp10_ = vtg_project_manager_get_project (pm);
		_tmp11_ = vbf_project_get_configure_command (_tmp10_);
		_tmp12_ = _tmp11_;
		_tmp9_ = _tmp12_ != NULL;
		_g_free0 (_tmp12_);
	} else {
		_tmp9_ = FALSE;
	}
	can_configure = _tmp9_;
	_tmp13_ = gtk_action_group_get_action (self->priv->_actions, "ProjectClose");
	_tmp14_ = _g_object_ref0 (_tmp13_);
	action = _tmp14_;
	if (action != NULL) {
		gtk_action_set_sensitive (action, !default_project);
	}
	_tmp15_ = gtk_action_group_get_action (self->priv->_actions, "ProjectChange");
	_tmp16_ = _g_object_ref0 (_tmp15_);
	_g_object_unref0 (action);
	action = _tmp16_;
	if (action != NULL) {
		VtgProjects* _tmp17_ = NULL;
		ValaList* _tmp18_ = NULL;
		gint _tmp19_;
		_tmp17_ = vtg_plugin_get_projects (vtg_plugin_main_instance);
		_tmp18_ = vtg_projects_get_project_managers (_tmp17_);
		_tmp19_ = vala_collection_get_size ((ValaCollection*) _tmp18_);
		gtk_action_set_sensitive (action, _tmp19_ > 1);
	}
	_tmp20_ = gtk_action_group_get_action (self->priv->_actions, "ProjectBuild");
	_tmp21_ = _g_object_ref0 (_tmp20_);
	_g_object_unref0 (action);
	action = _tmp21_;
	if (action != NULL) {
		gboolean _tmp22_ = FALSE;
		if (!default_project) {
			_tmp22_ = can_build;
		} else {
			_tmp22_ = FALSE;
		}
		gtk_action_set_sensitive (action, _tmp22_);
	}
	_tmp23_ = gtk_action_group_get_action (self->priv->_actions, "ProjectBuildClean");
	_tmp24_ = _g_object_ref0 (_tmp23_);
	_g_object_unref0 (action);
	action = _tmp24_;
	if (action != NULL) {
		gboolean _tmp25_ = FALSE;
		gboolean _tmp26_ = FALSE;
		if (!default_project) {
			gboolean _tmp27_;
			_tmp27_ = vtg_project_builder_get_is_building (self->priv->_prj_builder);
			_tmp26_ = !_tmp27_;
		} else {
			_tmp26_ = FALSE;
		}
		if (_tmp26_) {
			_tmp25_ = can_clean;
		} else {
			_tmp25_ = FALSE;
		}
		gtk_action_set_sensitive (action, _tmp25_);
	}
	_tmp28_ = gtk_action_group_get_action (self->priv->_actions, "ProjectBuildStopCompilation");
	_tmp29_ = _g_object_ref0 (_tmp28_);
	_g_object_unref0 (action);
	action = _tmp29_;
	if (action != NULL) {
		gboolean _tmp30_;
		_tmp30_ = vtg_project_builder_get_is_building (self->priv->_prj_builder);
		gtk_action_set_sensitive (action, _tmp30_);
	}
	_tmp31_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	_tmp32_ = gedit_window_get_active_document (_tmp31_);
	_tmp33_ = _g_object_ref0 (_tmp32_);
	doc = _tmp33_;
	if (doc != NULL) {
		gboolean _tmp35_;
		_tmp35_ = vtg_utils_is_vala_doc (doc);
		_tmp34_ = _tmp35_;
	} else {
		_tmp34_ = FALSE;
	}
	is_vala_source = _tmp34_;
	_tmp36_ = gtk_action_group_get_action (self->priv->_actions, "ProjectBuildCompileFile");
	_tmp37_ = _g_object_ref0 (_tmp36_);
	_g_object_unref0 (action);
	action = _tmp37_;
	if (action != NULL) {
		gboolean _tmp38_ = FALSE;
		if (default_project) {
			_tmp38_ = is_vala_source;
		} else {
			_tmp38_ = FALSE;
		}
		gtk_action_set_sensitive (action, _tmp38_);
	}
	_tmp39_ = gtk_action_group_get_action (self->priv->_actions, "ProjectGotoMethod");
	_tmp40_ = _g_object_ref0 (_tmp39_);
	_g_object_unref0 (action);
	action = _tmp40_;
	if (action != NULL) {
		gtk_action_set_sensitive (action, is_vala_source);
	}
	_tmp41_ = gtk_action_group_get_action (self->priv->_actions, "ProjectGotoDocument");
	_tmp42_ = _g_object_ref0 (_tmp41_);
	_g_object_unref0 (action);
	action = _tmp42_;
	if (action != NULL) {
		gtk_action_set_sensitive (action, !default_project);
	}
	_tmp43_ = gtk_action_group_get_action (self->priv->_actions, "ProjectBuildConfigure");
	_tmp44_ = _g_object_ref0 (_tmp43_);
	_g_object_unref0 (action);
	action = _tmp44_;
	if (action != NULL) {
		gboolean _tmp45_ = FALSE;
		gboolean _tmp46_ = FALSE;
		if (!default_project) {
			gboolean _tmp47_;
			_tmp47_ = vtg_project_builder_get_is_building (self->priv->_prj_builder);
			_tmp46_ = !_tmp47_;
		} else {
			_tmp46_ = FALSE;
		}
		if (_tmp46_) {
			_tmp45_ = can_configure;
		} else {
			_tmp45_ = FALSE;
		}
		gtk_action_set_sensitive (action, _tmp45_);
	}
	_tmp48_ = vtg_project_builder_get_error_pane (self->priv->_prj_builder);
	_tmp49_ = vtg_build_log_view_get_error_count (_tmp48_);
	_tmp50_ = vtg_project_builder_get_error_pane (self->priv->_prj_builder);
	_tmp51_ = vtg_build_log_view_get_warning_count (_tmp50_);
	has_errors = (_tmp49_ + _tmp51_) > 0;
	_tmp52_ = gtk_action_group_get_action (self->priv->_actions, "ProjectBuildNextError");
	_tmp53_ = _g_object_ref0 (_tmp52_);
	_g_object_unref0 (action);
	action = _tmp53_;
	if (action != NULL) {
		gtk_action_set_sensitive (action, has_errors);
	}
	_tmp54_ = gtk_action_group_get_action (self->priv->_actions, "ProjectBuildPreviousError");
	_tmp55_ = _g_object_ref0 (_tmp54_);
	_g_object_unref0 (action);
	action = _tmp55_;
	if (action != NULL) {
		gtk_action_set_sensitive (action, has_errors);
	}
	_tmp56_ = gtk_action_group_get_action (self->priv->_actions, "ProjectBuildExecute");
	_tmp57_ = _g_object_ref0 (_tmp56_);
	_g_object_unref0 (action);
	action = _tmp57_;
	if (action != NULL) {
		gboolean _tmp58_ = FALSE;
		gboolean _tmp59_ = FALSE;
		gboolean _tmp60_;
		_tmp60_ = vtg_project_executer_get_is_executing (self->priv->_prj_executer);
		if (!_tmp60_) {
			_tmp59_ = !default_project;
		} else {
			_tmp59_ = FALSE;
		}
		if (_tmp59_) {
			gboolean _tmp61_;
			_tmp61_ = vtg_project_builder_get_is_building (self->priv->_prj_builder);
			_tmp58_ = !_tmp61_;
		} else {
			_tmp58_ = FALSE;
		}
		gtk_action_set_sensitive (action, _tmp58_);
	}
	_tmp62_ = gtk_action_group_get_action (self->priv->_actions, "ProjectBuildKill");
	_tmp63_ = _g_object_ref0 (_tmp62_);
	_g_object_unref0 (action);
	action = _tmp63_;
	if (action != NULL) {
		gboolean _tmp64_ = FALSE;
		gboolean _tmp65_;
		_tmp65_ = vtg_project_executer_get_is_executing (self->priv->_prj_executer);
		if (_tmp65_) {
			_tmp64_ = !default_project;
		} else {
			_tmp64_ = FALSE;
		}
		gtk_action_set_sensitive (action, _tmp64_);
	}
	_tmp66_ = gtk_action_group_get_action (self->priv->_actions, "ProjectSearch");
	_tmp67_ = _g_object_ref0 (_tmp66_);
	_g_object_unref0 (action);
	action = _tmp67_;
	if (action != NULL) {
		gboolean _tmp68_;
		_tmp68_ = vtg_project_search_get_is_searching (self->priv->_prj_search);
		gtk_action_set_sensitive (action, !_tmp68_);
	}
	can_complete = FALSE;
	_tmp69_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	_tmp70_ = gedit_window_get_active_view (_tmp69_);
	_tmp71_ = _g_object_ref0 (_tmp70_);
	view = _tmp71_;
	if (view != NULL) {
		VtgSymbolCompletion* _tmp72_ = NULL;
		VtgSymbolCompletion* sch;
		_tmp72_ = vtg_plugin_instance_scs_find_from_view (self->priv->_plugin_instance, view);
		sch = _tmp72_;
		can_complete = sch != NULL;
		_g_object_unref0 (sch);
	}
	_tmp73_ = gtk_action_group_get_action (self->priv->_actions, "ProjectCompleteWord");
	_tmp74_ = _g_object_ref0 (_tmp73_);
	_g_object_unref0 (action);
	action = _tmp74_;
	if (action != NULL) {
		gtk_action_set_sensitive (action, can_complete);
	}
	has_changelog = FALSE;
	has_vcs_backend = FALSE;
	_tmp76_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
	_tmp77_ = vtg_project_view_get_current_project (_tmp76_);
	if (_tmp77_ != NULL) {
		VtgProjectView* _tmp78_ = NULL;
		VtgProjectManager* _tmp79_ = NULL;
		_tmp78_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
		_tmp79_ = vtg_project_view_get_current_project (_tmp78_);
		_tmp75_ = _tmp79_->changelog_uri != NULL;
	} else {
		_tmp75_ = FALSE;
	}
	if (_tmp75_) {
		VtgProjectView* _tmp80_ = NULL;
		VtgProjectManager* _tmp81_ = NULL;
		has_changelog = TRUE;
		_tmp80_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
		_tmp81_ = vtg_project_view_get_current_project (_tmp80_);
		if (_tmp81_->vcs_type != VTG_VCS_TYPES_NONE) {
			has_vcs_backend = TRUE;
		}
	}
	_tmp82_ = gtk_action_group_get_action (self->priv->_actions, "ProjectPrepareChangeLog");
	_tmp83_ = _g_object_ref0 (_tmp82_);
	_g_object_unref0 (action);
	action = _tmp83_;
	if (action != NULL) {
		gboolean _tmp84_ = FALSE;
		if (has_changelog) {
			_tmp84_ = has_vcs_backend;
		} else {
			_tmp84_ = FALSE;
		}
		gtk_action_set_sensitive (action, _tmp84_);
	}
	_tmp85_ = gtk_action_group_get_action (self->priv->_actions, "ProjectPrepareSingleFileChangeLog");
	_tmp86_ = _g_object_ref0 (_tmp85_);
	_g_object_unref0 (action);
	action = _tmp86_;
	if (action != NULL) {
		gtk_action_set_sensitive (action, has_changelog);
	}
	_tmp87_ = gtk_action_group_get_action (self->priv->_actions, "ProjectGotoNextPosition");
	_tmp88_ = _g_object_ref0 (_tmp87_);
	_g_object_unref0 (action);
	action = _tmp88_;
	if (action != NULL) {
		VtgSourceBookmarks* _tmp89_ = NULL;
		gboolean _tmp90_;
		_tmp89_ = vtg_plugin_instance_get_bookmarks (self->priv->_plugin_instance);
		_tmp90_ = vtg_source_bookmarks_get_is_empty (_tmp89_);
		gtk_action_set_sensitive (action, !_tmp90_);
	}
	_tmp91_ = gtk_action_group_get_action (self->priv->_actions, "ProjectGotoPrevPosition");
	_tmp92_ = _g_object_ref0 (_tmp91_);
	_g_object_unref0 (action);
	action = _tmp92_;
	if (action != NULL) {
		VtgSourceBookmarks* _tmp93_ = NULL;
		gboolean _tmp94_;
		_tmp93_ = vtg_plugin_instance_get_bookmarks (self->priv->_plugin_instance);
		_tmp94_ = vtg_source_bookmarks_get_is_empty (_tmp93_);
		gtk_action_set_sensitive (action, !_tmp94_);
	}
	_g_object_unref0 (view);
	_g_object_unref0 (doc);
	_g_object_unref0 (action);
}


static void vtg_project_manager_ui_on_symbol_cache_building (VtgProjectManagerUi* self, VtgProjectManager* sender) {
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	self->priv->_cache_building_count++;
	if (self->priv->_sb_msg_id == 0) {
		GeditWindow* _tmp0_ = NULL;
		GtkWidget* _tmp1_ = NULL;
		GeditStatusbar* _tmp2_;
		GeditStatusbar* status_bar;
		const gchar* _tmp3_ = NULL;
		guint _tmp4_;
		_tmp0_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
		_tmp1_ = gedit_window_get_statusbar (_tmp0_);
		_tmp2_ = _g_object_ref0 (GEDIT_STATUSBAR (_tmp1_));
		status_bar = _tmp2_;
		_tmp3_ = _ ("updating source symbols...");
		_tmp4_ = gtk_statusbar_push ((GtkStatusbar*) status_bar, self->priv->_sb_context_id, _tmp3_);
		self->priv->_sb_msg_id = _tmp4_;
		_g_object_unref0 (status_bar);
	}
}


static void vtg_project_manager_ui_on_symbol_cache_builded (VtgProjectManagerUi* self, VtgProjectManager* sender) {
	gboolean _tmp0_ = FALSE;
	g_return_if_fail (self != NULL);
	g_return_if_fail (sender != NULL);
	self->priv->_cache_building_count--;
	if (self->priv->_cache_building_count <= 0) {
		_tmp0_ = self->priv->_sb_msg_id != 0;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		GeditWindow* _tmp1_ = NULL;
		GtkWidget* _tmp2_ = NULL;
		GeditStatusbar* _tmp3_;
		GeditStatusbar* status_bar;
		_tmp1_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
		_tmp2_ = gedit_window_get_statusbar (_tmp1_);
		_tmp3_ = _g_object_ref0 (GEDIT_STATUSBAR (_tmp2_));
		status_bar = _tmp3_;
		gtk_statusbar_remove ((GtkStatusbar*) status_bar, self->priv->_sb_context_id, self->priv->_sb_msg_id);
		self->priv->_sb_msg_id = (guint) 0;
		_g_object_unref0 (status_bar);
	}
}


static void vtg_project_manager_ui_open_project (VtgProjectManagerUi* self, const gchar* name) {
	VtgProjects* _tmp0_ = NULL;
	VtgProjectManager* _tmp1_ = NULL;
	VtgProjectManager* project;
	GError * _inner_error_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (name != NULL);
	_tmp0_ = vtg_plugin_get_projects (vtg_plugin_main_instance);
	_tmp1_ = vtg_projects_get_project_manager_for_project_id (_tmp0_, name);
	project = _tmp1_;
	if (project != NULL) {
		VtgProjectView* _tmp2_ = NULL;
		_tmp2_ = vtg_plugin_instance_get_project_view (self->priv->_plugin_instance);
		vtg_project_view_set_current_project (_tmp2_, project);
	} else {
		VtgProjects* _tmp3_ = NULL;
		VtgProjectManager* _tmp4_ = NULL;
		VtgProjectManager* _tmp5_;
		_tmp3_ = vtg_plugin_get_projects (vtg_plugin_main_instance);
		_tmp4_ = vtg_projects_open_project (_tmp3_, name, &_inner_error_);
		_tmp5_ = _tmp4_;
		_g_object_unref0 (_tmp5_);
		if (_inner_error_ != NULL) {
			_g_object_unref0 (project);
			goto __catch14_g_error;
		}
	}
	_g_object_unref0 (project);
	goto __finally14;
	__catch14_g_error:
	{
		GError * err;
		const gchar* _tmp6_ = NULL;
		gchar* _tmp7_ = NULL;
		gchar* _tmp8_;
		err = _inner_error_;
		_inner_error_ = NULL;
		_tmp6_ = _ ("Error opening project %s");
		_tmp7_ = g_strdup_printf (_tmp6_, name);
		_tmp8_ = _tmp7_;
		vtg_interaction_error_message (_tmp8_, err);
		_g_free0 (_tmp8_);
		_g_error_free0 (err);
	}
	__finally14:
	if (_inner_error_ != NULL) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return;
	}
}


void vtg_project_manager_ui_close_project (VtgProjectManagerUi* self, VtgProjectManager* project) {
	VtgProjects* _tmp0_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (project != NULL);
	_tmp0_ = vtg_plugin_get_projects (vtg_plugin_main_instance);
	vtg_projects_close_project (_tmp0_, project);
}


static gboolean vtg_project_manager_ui_create_project (VtgProjectManagerUi* self, const gchar* project_path) {
	gboolean result = FALSE;
	gboolean success;
	VtgOutputView* _tmp0_ = NULL;
	VtgOutputView* _tmp1_;
	VtgOutputView* log;
	gboolean _tmp2_;
	gchar* _tmp5_;
	gchar* process_file;
	gint status;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	VtgConfiguration* _tmp10_ = NULL;
	const gchar* _tmp11_ = NULL;
	gchar* _tmp12_;
	gchar* _tmp13_;
	VtgConfiguration* _tmp14_ = NULL;
	const gchar* _tmp15_ = NULL;
	gchar* _tmp16_;
	gchar** _tmp17_ = NULL;
	gchar** _tmp18_;
	gint _tmp18__length1;
	gint _tmp19_;
	gboolean _tmp20_;
	gboolean _tmp21_;
	gboolean _tmp22_;
	GError * _inner_error_ = NULL;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (project_path != NULL, FALSE);
	success = FALSE;
	_tmp0_ = vtg_plugin_instance_get_output_view (self->priv->_plugin_instance);
	_tmp1_ = _g_object_ref0 (_tmp0_);
	log = _tmp1_;
	_tmp2_ = vtg_project_manager_ui_is_dir_empty (self, project_path);
	if (!_tmp2_) {
		gchar* _tmp3_ = NULL;
		gchar* _tmp4_;
		_tmp3_ = g_strdup_printf ("project directory %s not empty\n", project_path);
		_tmp4_ = _tmp3_;
		vtg_output_view_log_message (log, VTG_OUTPUT_TYPES_MESSAGE, _tmp4_);
		_g_free0 (_tmp4_);
		result = FALSE;
		_g_object_unref0 (log);
		return result;
	}
	_tmp5_ = g_strdup ("vala-gen-project");
	process_file = _tmp5_;
	status = 0;
	_tmp6_ = g_strdup (process_file);
	_tmp7_ = g_strdup ("--projectdir");
	_tmp8_ = g_strdup (project_path);
	_tmp9_ = g_strdup ("--author");
	_tmp10_ = vtg_plugin_get_config (vtg_plugin_main_instance);
	_tmp11_ = vtg_configuration_get_author (_tmp10_);
	_tmp12_ = g_strdup (_tmp11_);
	_tmp13_ = g_strdup ("--email");
	_tmp14_ = vtg_plugin_get_config (vtg_plugin_main_instance);
	_tmp15_ = vtg_configuration_get_email_address (_tmp14_);
	_tmp16_ = g_strdup (_tmp15_);
	_tmp17_ = g_new0 (gchar*, 7 + 1);
	_tmp17_[0] = _tmp6_;
	_tmp17_[1] = _tmp7_;
	_tmp17_[2] = _tmp8_;
	_tmp17_[3] = _tmp9_;
	_tmp17_[4] = _tmp12_;
	_tmp17_[5] = _tmp13_;
	_tmp17_[6] = _tmp16_;
	_tmp18_ = _tmp17_;
	_tmp18__length1 = 7;
	_tmp20_ = g_spawn_sync (project_path, _tmp18_, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL, &_tmp19_, &_inner_error_);
	status = _tmp19_;
	_tmp21_ = _tmp20_;
	_tmp18_ = (_vala_array_free (_tmp18_, _tmp18__length1, (GDestroyNotify) g_free), NULL);
	_tmp22_ = _tmp21_;
	if (_inner_error_ != NULL) {
		_g_free0 (process_file);
		_g_object_unref0 (log);
		goto __catch15_g_error;
	}
	if (_tmp22_) {
		gint _tmp23_;
		_tmp23_ = WEXITSTATUS (status);
		if (_tmp23_ == 0) {
			success = TRUE;
		} else {
			vtg_output_view_log_message (log, VTG_OUTPUT_TYPES_ERROR, "error executing vala-gen-project process\n");
		}
	} else {
		vtg_output_view_log_message (log, VTG_OUTPUT_TYPES_ERROR, "error spawning vala-gen-project process\n");
	}
	_g_free0 (process_file);
	_g_object_unref0 (log);
	goto __finally15;
	__catch15_g_error:
	{
		GError * err;
		const gchar* _tmp24_ = NULL;
		err = _inner_error_;
		_inner_error_ = NULL;
		_tmp24_ = _ ("Project creation failed");
		vtg_interaction_error_message (_tmp24_, err);
		_g_error_free0 (err);
	}
	__finally15:
	if (_inner_error_ != NULL) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
		g_clear_error (&_inner_error_);
		return FALSE;
	}
	result = success;
	return result;
}


static gboolean vtg_project_manager_ui_is_dir_empty (VtgProjectManagerUi* self, const gchar* dir_path) {
	gboolean result = FALSE;
	GDir* _tmp0_ = NULL;
	GDir* dir;
	const gchar* _tmp1_ = NULL;
	GError * _inner_error_ = NULL;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (dir_path != NULL, FALSE);
	_tmp0_ = g_dir_open (dir_path, (guint) 0, &_inner_error_);
	dir = _tmp0_;
	if (_inner_error_ != NULL) {
		goto __catch16_g_error;
	}
	_tmp1_ = g_dir_read_name (dir);
	result = _tmp1_ == NULL;
	_g_dir_close0 (dir);
	return result;
	_g_dir_close0 (dir);
	goto __finally16;
	__catch16_g_error:
	{
		GError * err;
		err = _inner_error_;
		_inner_error_ = NULL;
		g_warning ("vtgprojectmanagerui.vala:1092: cannot open directort %s", dir_path);
		result = FALSE;
		_g_error_free0 (err);
		return result;
	}
	__finally16:
	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
	g_clear_error (&_inner_error_);
	return FALSE;
}


VtgProjectBuilder* vtg_project_manager_ui_get_project_builder (VtgProjectManagerUi* self) {
	VtgProjectBuilder* result;
	g_return_val_if_fail (self != NULL, NULL);
	result = self->priv->_prj_builder;
	return result;
}


static void vtg_project_manager_ui_class_init (VtgProjectManagerUiClass * klass) {
	vtg_project_manager_ui_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (VtgProjectManagerUiPrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_vtg_project_manager_ui_get_property;
	G_OBJECT_CLASS (klass)->finalize = vtg_project_manager_ui_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), VTG_PROJECT_MANAGER_UI_PROJECT_BUILDER, g_param_spec_object ("project-builder", "project-builder", "project-builder", VTG_TYPE_PROJECT_BUILDER, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
}


static void vtg_project_manager_ui_instance_init (VtgProjectManagerUi * self) {
	gchar* _tmp0_;
	gulong* _tmp1_ = NULL;
	self->priv = VTG_PROJECT_MANAGER_UI_GET_PRIVATE (self);
	_tmp0_ = g_strdup ("<ui>\n" \
"                                            <menubar name=\"MenuBar\">" \
"\n" \
"                                                <menu name=\"FileMenu\"" \
" action=\"File\">\n" \
"                                                    <placeholder name=" \
"\"FileOps_2\">\n" \
"                                                        <separator />\n" \
"                                                        <menuitem name" \
"=\"ProjectNew\" action=\"ProjectNew\"/>\n" \
"                                                        <menuitem name" \
"=\"ProjectOpen\" action=\"ProjectOpen\"/>\n" \
"                                                        <menuitem name" \
"=\"ProjectRecent\" action=\"ProjectRecent\"/>\n" \
"                                                        <separator />\n" \
"                                                        <menuitem name" \
"=\"ProjectClose\" action=\"ProjectClose\"/>\n" \
"                                                        <separator />\n" \
"                                                        <menuitem name" \
"=\"ProjectChange\" action=\"ProjectChange\"/>\n" \
"                                                        <separator />\n" \
"                                                    </placeholder>\n" \
"                                                    <placeholder name=" \
"\"FileOps_3\">\n" \
"                                                    \t<menuitem name=\"" \
"ProjectSaveAll\" action=\"ProjectSaveAll\"/>\n" \
"                                                    </placeholder>\n" \
"                                                </menu>\n" \
"                                            </menubar>\n" \
"\n" \
"                                            <menubar name=\"MenuBar\">" \
"\n" \
"                                              <menu name=\"EditMenu\" " \
"action=\"Edit\">\n" \
"                                                 <placeholder name=\"E" \
"ditOps_3\">\n" \
"                                                     <separator />\n" \
"                                                     <menuitem name=\"" \
"ProjectCompleteWord\" action=\"ProjectCompleteWord\"/>\n" \
"                                                 </placeholder>\n" \
"                                              </menu>\n" \
"                                            </menubar>\n" \
"\n" \
"                                            <menubar name=\"MenuBar\">" \
"\n" \
"                                              <placeholder name=\"Extr" \
"aMenu_1\">\n" \
"                                                <menu name=\"BuildMenu" \
"\" action=\"ProjectBuildMenuAction\">\n" \
"                                                    <placeholder name=" \
"\"BuildMenuOps_1\">\n" \
"                                                        <menuitem name" \
"=\"ProjectBuild\" action=\"ProjectBuild\"/>\n" \
"                                                        <menuitem name" \
"=\"ProjectBuildClean\" action=\"ProjectBuildClean\"/>\n" \
"                                                        <separator />\n" \
"                                                        <menuitem name" \
"=\"ProjectBuildConfigure\" action=\"ProjectBuildConfigure\"/>\n" \
"                                                        <separator />\n" \
"                                                        <menuitem name" \
"=\"ProjectBuildCompileFile\" action=\"ProjectBuildCompileFile\"/>\n" \
"                                                        <separator />\n" \
"                                                        <menuitem name" \
"=\"ProjectBuildStopCompilation\" action=\"ProjectBuildStopCompilation\"" \
"/>\n" \
"                                                    </placeholder>\n" \
"                                                    <placeholder name=" \
"\"BuildMenuOps_2\">\n" \
"                                                        <separator />\n" \
"                                                        <menuitem name" \
"=\"NextError\" action=\"ProjectBuildNextError\"/>\n" \
"                                                        <menuitem name" \
"=\"PreviousError\" action=\"ProjectBuildPreviousError\"/>\n" \
"                                                    </placeholder>\n" \
"                                                    <placeholder name=" \
"\"BuildMenuOps_3\">\n" \
"                                                        <separator />\n" \
"                                                        <menuitem name" \
"=\"Execute\" action=\"ProjectBuildExecute\"/>\n" \
"                                                        <menuitem name" \
"=\"KillProcess\" action=\"ProjectBuildKill\"/>\n" \
"                                                    </placeholder>\n" \
"                                                </menu>\n" \
"                                              </placeholder>          " \
"                                    \n" \
"                                            </menubar>\n" \
"                                            \n" \
"                                            <menubar name=\"MenuBar\">" \
"\n" \
"                                                <menu name=\"Documents" \
"Menu\" action=\"Documents\">\n" \
"                                                    <placeholder name=" \
"\"DocumentsOps_3\">\n" \
"                                                        <menuitem name" \
"=\"GotoDocument\" action=\"ProjectGotoDocument\"/>\n" \
"                                                        <separator />\n" \
"                                                        <menuitem name" \
"=\"GotoNextPosition\" action=\"ProjectGotoNextPosition\"/>\n" \
"                                                        <menuitem name" \
"=\"GotoPrevPosition\" action=\"ProjectGotoPrevPosition\"/>\n" \
"                                                        <separator />\n" \
"                                                    </placeholder>\n" \
"                                                </menu>\n" \
"                                            </menubar>\n" \
"\n" \
"                                             <menubar name=\"MenuBar\"" \
">\n" \
"                                                <menu name=\"SearchMen" \
"u\" action=\"Search\">\n" \
"                                                    <placeholder name=" \
"\"SearchOps_1\">\n" \
"                                                    \t<separator />   " \
"                                                 \n" \
"                                                        <menuitem name" \
"=\"ProjectSearch\" action=\"ProjectSearch\"/>\n" \
"\t\t\t\t\t\t\t<menuitem name=\"ProjectSearchPrevReult\" action=\"Proje" \
"ctSearchPrevResult\"/>\n" \
"\t\t\t\t\t\t\t<menuitem name=\"ProjectSearchNextResult\" action=\"Proj" \
"ectSearchNextResult\"/>\n" \
"\t\t\t\t\t\t\t<separator />\n" \
"\t\t\t\t\t\t\t<menuitem name=\"ProjectSearchSymbol\" action=\"ProjectS" \
"earchSymbol\"/>\n" \
"                                                    </placeholder>\n" \
"                                                    <placeholder name=" \
"\"SearchOps_8\">\n" \
"                                                    \t<separator />\n" \
"                                                        <menuitem name" \
"=\"GotoSymbol\" action=\"ProjectGotoSymbol\"/>\n" \
"                                                    \t<separator />\n" \
"                                                        <menuitem name" \
"=\"GotoDefinition\" action=\"ProjectGotoDefinition\"/>\n" \
"                                                        <menuitem name" \
"=\"GotoOuterScope\" action=\"ProjectGotoOuterScope\"/>\n" \
"                                                    </placeholder>\n" \
"                                                </menu>\n" \
"                                            </menubar>\n" \
"                                            \n" \
"                                            <menubar name=\"MenuBar\">" \
"\n" \
"                                            \t <menu name=\"ToolsMenu\"" \
" action=\"Tools\">\n" \
"\t\t\t\t\t\t \t<placeholder name=\"ToolsOps_1\"> \n" \
"\t\t\t\t\t\t \t\t<separator />\n" \
"\t\t\t\t\t\t\t \t<menuitem name=\"PrepareSingleFileChangeLog\" action=" \
"\"ProjectPrepareSingleFileChangeLog\"/>\n" \
"\t\t\t\t\t\t\t \t<menuitem name=\"PrepareChangeLog\" action=\"ProjectP" \
"repareChangeLog\"/>\n" \
"\t\t\t\t\t\t \t\t<separator />\t\t\t\t\t\t\t \t\n" \
"                                                \t</placeholder>\n" \
"                                                 </menu>\n" \
"                                            </menubar>\n" \
"                                        </ui>");
	self->priv->_ui_def = _tmp0_;
	self->priv->_actions = NULL;
	self->priv->_plugin_instance = NULL;
	self->priv->_prj_builder = NULL;
	self->priv->_prj_executer = NULL;
	self->priv->_prj_search = NULL;
	self->priv->_changelog = NULL;
	self->priv->_cache_building_count = 0;
	self->priv->_sb_msg_id = (guint) 0;
	self->priv->_sb_context_id = (guint) 0;
	_tmp1_ = g_new0 (gulong, 6);
	self->priv->signal_ids = _tmp1_;
	self->priv->signal_ids_length1 = 6;
	self->priv->_signal_ids_size_ = self->priv->signal_ids_length1;
}


static void vtg_project_manager_ui_finalize (GObject* obj) {
	VtgProjectManagerUi * self;
	VtgProjects* _tmp0_ = NULL;
	guint _tmp1_;
	VtgProjects* _tmp2_ = NULL;
	guint _tmp3_;
	GeditWindow* _tmp4_ = NULL;
	GtkUIManager* _tmp5_ = NULL;
	GtkUIManager* _tmp6_;
	GtkUIManager* manager;
	self = VTG_PROJECT_MANAGER_UI (obj);
	vtg_utils_trace ("vtgprojectmanagerui.vala:233: ProjectManagerUi destroying");
	_tmp0_ = vtg_plugin_get_projects (vtg_plugin_main_instance);
	g_signal_parse_name ("project-opened", VTG_TYPE_PROJECTS, &_tmp1_, NULL, FALSE);
	g_signal_handlers_disconnect_matched (_tmp0_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp1_, 0, NULL, (GCallback) _vtg_project_manager_ui_on_project_opened_vtg_projects_project_opened, self);
	_tmp2_ = vtg_plugin_get_projects (vtg_plugin_main_instance);
	g_signal_parse_name ("project-closed", VTG_TYPE_PROJECTS, &_tmp3_, NULL, FALSE);
	g_signal_handlers_disconnect_matched (_tmp2_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp3_, 0, NULL, (GCallback) _vtg_project_manager_ui_on_project_closed_vtg_projects_project_closed, self);
	g_signal_handler_disconnect (self->priv->_prj_executer, self->priv->signal_ids[0]);
	g_signal_handler_disconnect (self->priv->_prj_executer, self->priv->signal_ids[1]);
	g_signal_handler_disconnect (self->priv->_prj_builder, self->priv->signal_ids[2]);
	g_signal_handler_disconnect (self->priv->_prj_builder, self->priv->signal_ids[3]);
	g_signal_handler_disconnect (self->priv->_prj_search, self->priv->signal_ids[4]);
	g_signal_handler_disconnect (self->priv->_prj_search, self->priv->signal_ids[5]);
	_g_object_unref0 (self->priv->_prj_builder);
	self->priv->_prj_builder = NULL;
	_tmp4_ = vtg_plugin_instance_get_window (self->priv->_plugin_instance);
	_tmp5_ = gedit_window_get_ui_manager (_tmp4_);
	_tmp6_ = _g_object_ref0 (_tmp5_);
	manager = _tmp6_;
	gtk_ui_manager_remove_ui (manager, self->priv->_ui_id);
	gtk_ui_manager_remove_action_group (manager, self->priv->_actions);
	vtg_utils_trace ("vtgprojectmanagerui.vala:247: ProjectManagerUi destroyed");
	_g_object_unref0 (manager);
	_g_free0 (self->priv->_ui_def);
	_g_object_unref0 (self->priv->_actions);
	_g_object_unref0 (self->priv->_prj_builder);
	_g_object_unref0 (self->priv->_prj_executer);
	_g_object_unref0 (self->priv->_prj_search);
	_g_object_unref0 (self->priv->_changelog);
	self->priv->signal_ids = (g_free (self->priv->signal_ids), NULL);
	G_OBJECT_CLASS (vtg_project_manager_ui_parent_class)->finalize (obj);
}


GType vtg_project_manager_ui_get_type (void) {
	return vtg_project_manager_ui_type_id;
}


GType vtg_project_manager_ui_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (VtgProjectManagerUiClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vtg_project_manager_ui_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VtgProjectManagerUi), 0, (GInstanceInitFunc) vtg_project_manager_ui_instance_init, NULL };
	vtg_project_manager_ui_type_id = g_type_module_register_type (module, G_TYPE_OBJECT, "VtgProjectManagerUi", &g_define_type_info, 0);
	return vtg_project_manager_ui_type_id;
}


static void _vala_vtg_project_manager_ui_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	VtgProjectManagerUi * self;
	self = VTG_PROJECT_MANAGER_UI (object);
	switch (property_id) {
		case VTG_PROJECT_MANAGER_UI_PROJECT_BUILDER:
		g_value_set_object (value, vtg_project_manager_ui_get_project_builder (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


VtgFilteredListDialogData* vtg_filtered_list_dialog_data_construct (GType object_type, AfroditeSymbol* symbol) {
	VtgFilteredListDialogData * self = NULL;
	AfroditeSymbol* _tmp0_;
	g_return_val_if_fail (symbol != NULL, NULL);
	self = (VtgFilteredListDialogData*) g_object_new (object_type, NULL);
	_tmp0_ = _g_object_ref0 (symbol);
	_g_object_unref0 (self->symbol);
	self->symbol = _tmp0_;
	return self;
}


VtgFilteredListDialogData* vtg_filtered_list_dialog_data_new (AfroditeSymbol* symbol) {
	return vtg_filtered_list_dialog_data_construct (VTG_TYPE_FILTERED_LIST_DIALOG_DATA, symbol);
}


static void vtg_filtered_list_dialog_data_class_init (VtgFilteredListDialogDataClass * klass) {
	vtg_filtered_list_dialog_data_parent_class = g_type_class_peek_parent (klass);
	G_OBJECT_CLASS (klass)->finalize = vtg_filtered_list_dialog_data_finalize;
}


static void vtg_filtered_list_dialog_data_instance_init (VtgFilteredListDialogData * self) {
}


static void vtg_filtered_list_dialog_data_finalize (GObject* obj) {
	VtgFilteredListDialogData * self;
	self = VTG_FILTERED_LIST_DIALOG_DATA (obj);
	_g_object_unref0 (self->symbol);
	G_OBJECT_CLASS (vtg_filtered_list_dialog_data_parent_class)->finalize (obj);
}


GType vtg_filtered_list_dialog_data_get_type (void) {
	return vtg_filtered_list_dialog_data_type_id;
}


GType vtg_filtered_list_dialog_data_register_type (GTypeModule * module) {
	static const GTypeInfo g_define_type_info = { sizeof (VtgFilteredListDialogDataClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) vtg_filtered_list_dialog_data_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (VtgFilteredListDialogData), 0, (GInstanceInitFunc) vtg_filtered_list_dialog_data_instance_init, NULL };
	vtg_filtered_list_dialog_data_type_id = g_type_module_register_type (module, G_TYPE_OBJECT, "VtgFilteredListDialogData", &g_define_type_info, 0);
	return vtg_filtered_list_dialog_data_type_id;
}


static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	if ((array != NULL) && (destroy_func != NULL)) {
		int i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}


static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}



