static void remove_view (WindowData *data, GtkSourceView *view) { GtkSourceCompletion *completion; GtkTextBuffer *buf; completion = gtk_source_view_get_completion (view); buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)); gtk_source_completion_remove_provider (completion, GTK_SOURCE_COMPLETION_PROVIDER (data->provider), NULL); gtk_source_completion_words_unregister (data->provider, buf); }
static void gedit_word_completion_view_deactivate (GeditViewActivatable *activatable) { GeditWordCompletionPluginPrivate *priv; GtkSourceCompletion *completion; GtkSourceCompletionProvider *provider; GtkTextBuffer *buf; gedit_debug (DEBUG_PLUGINS); priv = GEDIT_WORD_COMPLETION_PLUGIN (activatable)->priv; completion = gtk_source_view_get_completion (GTK_SOURCE_VIEW (priv->view)); buf = gtk_text_view_get_buffer (GTK_TEXT_VIEW (priv->view)); gtk_source_completion_remove_provider (completion, priv->provider, NULL); gtk_source_completion_words_unregister (GTK_SOURCE_COMPLETION_WORDS (priv->provider), buf); }
static void on_notify_autocompletion (GSettings* settings, const gchar* key, gpointer user_data) { Sourceview *sv; sv = ANJUTA_SOURCEVIEW(user_data); GtkSourceCompletion* completion = gtk_source_view_get_completion(GTK_SOURCE_VIEW(sv->priv->view)); if (g_settings_get_boolean (settings, key)) { DEBUG_PRINT ("Register word completion provider"); GtkSourceCompletionWords *prov_words; prov_words = gtk_source_completion_words_new (NULL, NULL); gtk_source_completion_words_register (prov_words, gtk_text_view_get_buffer (GTK_TEXT_VIEW (sv->priv->view))); gtk_source_completion_add_provider (completion, GTK_SOURCE_COMPLETION_PROVIDER (prov_words), NULL); } else { GList* node; for (node = gtk_source_completion_get_providers(completion); node != NULL; node = g_list_next (node)) { if (GTK_IS_SOURCE_COMPLETION_WORDS(node->data)) { DEBUG_PRINT ("Unregister word completion provider"); gtk_source_completion_words_unregister (GTK_SOURCE_COMPLETION_WORDS(node->data), gtk_text_view_get_buffer (GTK_TEXT_VIEW (sv->priv->view))); gtk_source_completion_remove_provider(completion, GTK_SOURCE_COMPLETION_PROVIDER(node->data), NULL); break; } } } }
CAMLexport value ml_gtk_source_completion_remove_provider (value completion, value provider) { return Val_bool (gtk_source_completion_remove_provider (GtkSourceCompletion_val(completion), GtkSourceCompletionProvider_val(provider), NULL)); }