[gtksourceview/wip/chergert/gsv-gtk4: 252/259] cmopletion: add snippet completion provider to tests
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview/wip/chergert/gsv-gtk4: 252/259] cmopletion: add snippet completion provider to tests
- Date: Mon, 21 Sep 2020 23:27:49 +0000 (UTC)
commit 447e9451e4c5f083f507ee60197f392c6da17ef8
Author: Christian Hergert <chergert redhat com>
Date: Wed Sep 9 20:53:18 2020 -0700
cmopletion: add snippet completion provider to tests
tests/test-completion.c | 26 ++++++++++++++++++++++++++
tests/test-completion.ui | 11 +++++++++++
2 files changed, 37 insertions(+)
---
diff --git a/tests/test-completion.c b/tests/test-completion.c
index 712def1b..357f0f2c 100644
--- a/tests/test-completion.c
+++ b/tests/test-completion.c
@@ -101,6 +101,7 @@ static void test_provider_iface_init (GtkSourceCompletionProviderInterface *ifac
G_DECLARE_FINAL_TYPE (TestProvider, test_provider, TEST, PROVIDER, GObject)
static GtkSourceCompletionWords *word_provider;
+static GtkSourceCompletionSnippets *snippet_provider;
static TestProvider *fixed_provider;
static TestProvider *random_provider;
static GMainLoop *main_loop;
@@ -467,10 +468,25 @@ nb_proposals_changed_cb (GtkSpinButton *spin_button,
}
}
+static void
+enable_snippet_provider_toggled_cb (GtkCheckButton *button,
+ GtkSourceCompletion *completion)
+{
+ add_remove_provider (button,
+ completion,
+ GTK_SOURCE_COMPLETION_PROVIDER (snippet_provider));
+}
+
static void
create_completion (GtkSourceView *source_view,
GtkSourceCompletion *completion)
{
+ /* Snippets completion provider */
+ snippet_provider = gtk_source_completion_snippets_new ();
+ g_object_set (snippet_provider, "priority", 20, NULL);
+ gtk_source_completion_add_provider (completion,
+ GTK_SOURCE_COMPLETION_PROVIDER (snippet_provider));
+
/* Words completion provider */
word_provider = gtk_source_completion_words_new (NULL);
@@ -515,6 +531,7 @@ create_window (void)
GtkCheckButton *enable_word_provider;
GtkCheckButton *enable_fixed_provider;
GtkCheckButton *enable_random_provider;
+ GtkCheckButton *enable_snippet_provider;
GtkSpinButton *nb_fixed_proposals;
GtkSpinButton *nb_random_proposals;
@@ -535,11 +552,14 @@ create_window (void)
select_on_show = GTK_CHECK_BUTTON (gtk_builder_get_object (builder, "checkbutton_select_on_show"));
show_icons = GTK_CHECK_BUTTON (gtk_builder_get_object (builder, "checkbutton_show_icons"));
enable_word_provider = GTK_CHECK_BUTTON (gtk_builder_get_object (builder,
"checkbutton_word_provider"));
+ enable_snippet_provider = GTK_CHECK_BUTTON (gtk_builder_get_object (builder,
"checkbutton_snippet_provider"));
enable_fixed_provider = GTK_CHECK_BUTTON (gtk_builder_get_object (builder,
"checkbutton_fixed_provider"));
enable_random_provider = GTK_CHECK_BUTTON (gtk_builder_get_object (builder,
"checkbutton_random_provider"));
nb_fixed_proposals = GTK_SPIN_BUTTON (gtk_builder_get_object (builder,
"spinbutton_nb_fixed_proposals"));
nb_random_proposals = GTK_SPIN_BUTTON (gtk_builder_get_object (builder,
"spinbutton_nb_random_proposals"));
+ gtk_source_view_set_enable_snippets (source_view, TRUE);
+
completion = gtk_source_view_get_completion (source_view);
g_signal_connect_swapped (window,
@@ -561,6 +581,11 @@ create_window (void)
create_completion (source_view, completion);
+ g_signal_connect (enable_snippet_provider,
+ "toggled",
+ G_CALLBACK (enable_snippet_provider_toggled_cb),
+ completion);
+
g_signal_connect (enable_word_provider,
"toggled",
G_CALLBACK (enable_word_provider_toggled_cb),
@@ -606,6 +631,7 @@ main (int argc,
/* Not really useful, except for debugging memory leaks. */
g_object_unref (word_provider);
+ g_object_unref (snippet_provider);
g_object_unref (fixed_provider);
g_object_unref (random_provider);
diff --git a/tests/test-completion.ui b/tests/test-completion.ui
index 715515af..6291dbd8 100644
--- a/tests/test-completion.ui
+++ b/tests/test-completion.ui
@@ -125,6 +125,17 @@
</layout>
</object>
</child>
+ <child>
+ <object class="GtkCheckButton" id="checkbutton_snippet_provider">
+ <property name="label">Snippet provider</property>
+ <property name="can_focus">1</property>
+ <property name="active">1</property>
+ <layout>
+ <property name="column">0</property>
+ <property name="row">3</property>
+ </layout>
+ </object>
+ </child>
<layout>
<property name="column">0</property>
<property name="row">3</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]