static void on_value_removed (AnjutaPlugin *plugin, const gchar *name, gpointer data) { AnjutaShell* shell = anjuta_plugin_get_shell (plugin); StarterPlugin* splugin = ANJUTA_PLUGIN_STARTER (plugin); IAnjutaDocumentManager* docman = anjuta_shell_get_interface (shell, IAnjutaDocumentManager, NULL); IAnjutaProjectManager* pm = anjuta_shell_get_interface (shell, IAnjutaProjectManager, NULL); if (!(docman && ianjuta_document_manager_get_doc_widgets (docman, NULL)) && !(pm && ianjuta_project_manager_get_current_project (pm, NULL))) { DEBUG_PRINT ("Showing starter"); splugin->priv->starter = create_starter_widget (splugin); anjuta_shell_add_widget (shell, splugin->priv->starter, "AnjutaStarter", _("Start"), GTK_STOCK_ABOUT, ANJUTA_SHELL_PLACEMENT_CENTER, NULL); anjuta_shell_present_widget (shell, splugin->priv->starter, NULL); g_object_unref (splugin->priv->starter); } }
static void on_project_loaded(IAnjutaProjectManager *project_manager, GError *error, gpointer user_data) { QuickOpenPlugin* self = user_data; IAnjutaProject* project; project = ianjuta_project_manager_get_current_project(project_manager, NULL); quick_open_plugin_load_project_files(self, project); }
void cpp_packages_load (CppPackages* packages, gboolean force) { CppJavaPlugin* plugin = ANJUTA_PLUGIN_CPP_JAVA(packages->plugin); if (g_settings_get_boolean (plugin->settings, PREF_PROJECT_PACKAGES)) { IAnjutaProjectManager* pm = anjuta_shell_get_interface (packages->plugin->shell, IAnjutaProjectManager, NULL); IAnjutaProject* project; g_signal_connect_swapped (pm, "project-loaded", G_CALLBACK (cpp_packages_load_real), packages); project = ianjuta_project_manager_get_current_project (pm, NULL); /* Only load the packages if necessary */ if (project && ianjuta_project_is_loaded (project, NULL)) { gboolean loaded = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (project), PROJECT_LOADED)); if (!loaded && !packages->loading) { cpp_packages_load_real (packages, NULL, pm); g_object_set_data (G_OBJECT (project), PROJECT_LOADED, GINT_TO_POINTER (TRUE)); } } } else { if (packages->loading) { if (!packages->idle_id) { packages->idle_id = g_idle_add ((GSourceFunc)cpp_packages_idle_load_user, packages); g_object_ref (packages); } return; } else { cpp_packages_load_user (packages, force); } } g_signal_connect (plugin->settings, "changed::PREF_LIBC", G_CALLBACK (on_load_libc), packages); on_load_libc (plugin->settings, PREF_LIBC, packages); }
static void quick_open_plugin_setup_project_handling(QuickOpenPlugin* self) { IAnjutaProject* project; self->project_manager = anjuta_shell_get_interface (ANJUTA_PLUGIN(self)->shell, IAnjutaProjectManager, NULL); g_return_if_fail(self->project_manager); g_object_add_weak_pointer(G_OBJECT(self->project_manager), (void**)&self->project_manager); /* Connect to project manager events. */ self->project_watch_id = anjuta_plugin_add_watch(ANJUTA_PLUGIN(self), IANJUTA_PROJECT_MANAGER_CURRENT_PROJECT, current_project_added, current_project_removed, self); g_signal_connect(self->project_manager, "project-loaded", G_CALLBACK (on_project_loaded), self); project = ianjuta_project_manager_get_current_project (self->project_manager, NULL); if (project) quick_open_plugin_project_added(self, project); }