[gtksourceview] More tests in test-completion
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview] More tests in test-completion
- Date: Tue, 11 Jun 2013 18:07:06 +0000 (UTC)
commit 485f777433685f5f815faba0ca8b0ab7231f7754
Author: Sébastien Wilmet <swilmet gnome org>
Date: Tue Jun 11 14:46:06 2013 +0200
More tests in test-completion
With a .ui file (and a gresource).
po/POTFILES.skip | 1 +
tests/Makefile.am | 12 +-
tests/test-completion.c | 339 ++++++++++++++++++--------------
tests/test-completion.gresource.xml | 6 +
tests/test-completion.ui | 373 +++++++++++++++++++++++++++++++++++
5 files changed, 583 insertions(+), 148 deletions(-)
---
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index 8cc57b2..0ca8a9b 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -1,3 +1,4 @@
data/styles/testdark.xml
docs/reference/lang-tutorial.xml
+tests/test-completion.ui
tests/test-scheme.xml
diff --git a/tests/Makefile.am b/tests/Makefile.am
index b51c07f..aaeb7d7 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -13,6 +13,12 @@ INCLUDES = \
noinst_PROGRAMS = $(TEST_PROGS) $(UNIT_TEST_PROGS)
TESTS = $(UNIT_TEST_PROGS)
+BUILT_SOURCES = \
+ test-completion-resources.c
+
+test-completion-resources.c: test-completion.gresource.xml $(shell $(GLIB_COMPILE_RESOURCES)
--generate-dependencies $(srcdir)/test-completion.gresource.xml)
+ $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=$(srcdir) --generate-source
$(srcdir)/test-completion.gresource.xml
+
TEST_PROGS = test-widget
test_widget_SOURCES = test-widget.c
test_widget_LDADD = \
@@ -21,7 +27,9 @@ test_widget_LDADD = \
$(TESTS_LIBS)
TEST_PROGS += test-completion
-test_completion_SOURCES = test-completion.c
+test_completion_SOURCES = \
+ $(BUILT_SOURCES) \
+ test-completion.c
test_completion_LDADD = \
$(top_builddir)/gtksourceview/libgtksourceview-3.0.la \
$(DEP_LIBS) \
@@ -119,6 +127,8 @@ EXTRA_DIST = \
language-specs/test-empty.lang \
language-specs/test-full.lang \
styles/classic.xml \
+ test-completion.gresource.xml \
+ test-completion.ui \
$(python_tests)
-include $(top_srcdir)/git.mk
diff --git a/tests/test-completion.c b/tests/test-completion.c
index f357109..97e2105 100644
--- a/tests/test-completion.c
+++ b/tests/test-completion.c
@@ -24,14 +24,13 @@
#include <gtksourceview/gtksource.h>
#include <gtksourceview/completion-providers/words/gtksourcecompletionwords.h>
-static GtkWidget *view;
-static GtkSourceCompletion *comp;
-
-static const gboolean change_keys = FALSE;
-
typedef struct _TestProvider TestProvider;
typedef struct _TestProviderClass TestProviderClass;
+static GtkSourceCompletionWords *word_provider;
+static TestProvider *fixed_provider;
+static TestProvider *random_provider;
+
struct _TestProvider
{
GObject parent;
@@ -73,13 +72,6 @@ test_provider_get_priority (GtkSourceCompletionProvider *provider)
return ((TestProvider *)provider)->priority;
}
-static gboolean
-test_provider_match (GtkSourceCompletionProvider *provider,
- GtkSourceCompletionContext *context)
-{
- return TRUE;
-}
-
static GList *
select_random_proposals (GList *all_proposals)
{
@@ -137,11 +129,8 @@ static void
test_provider_iface_init (GtkSourceCompletionProviderIface *iface)
{
iface->get_name = test_provider_get_name;
-
iface->populate = test_provider_populate;
- iface->match = test_provider_match;
iface->get_priority = test_provider_get_priority;
-
//iface->get_icon = test_provider_get_icon;
}
@@ -184,44 +173,50 @@ test_provider_init (TestProvider *self)
}
static void
-test_provider_set_fixed (TestProvider *provider)
+test_provider_set_fixed (TestProvider *provider,
+ gint nb_proposals)
{
+ GdkPixbuf *icon = test_provider_get_icon (GTK_SOURCE_COMPLETION_PROVIDER (provider));
GList *proposals = NULL;
+ gint i;
- GdkPixbuf *icon = test_provider_get_icon (GTK_SOURCE_COMPLETION_PROVIDER (provider));
+ g_list_free_full (provider->proposals, g_object_unref);
- proposals = g_list_prepend (proposals,
- gtk_source_completion_item_new ("Proposal 3",
- "Proposal 3",
- icon,
- "This is the third proposal... \n"
- "it is so cool it takes two lines to
describe"));
+ for (i = nb_proposals - 1; i > 0; i--)
+ {
+ gchar *name = g_strdup_printf ("Proposal %d", i);
- proposals = g_list_prepend (proposals,
- gtk_source_completion_item_new ("Proposal 2",
- "Proposal 2",
- icon,
- "This is the second proposal..."));
+ proposals = g_list_prepend (proposals,
+ gtk_source_completion_item_new (name,
+ name,
+ icon,
+ "The extra info of the
proposal.\n"
+ "A second line."));
+
+ g_free (name);
+ }
proposals = g_list_prepend (proposals,
- gtk_source_completion_item_new ("Proposal 1",
- "Proposal 1",
+ gtk_source_completion_item_new ("A very long proposal. I repeat, a very
long proposal!",
+ "A very long proposal. I repeat, a very
long proposal!",
icon,
- NULL));
+ "To test the horizontal scrollbar."));
provider->proposals = proposals;
provider->is_random = 0;
}
static void
-test_provider_set_random (TestProvider *provider)
+test_provider_set_random (TestProvider *provider,
+ gint nb_proposals)
{
GdkPixbuf *icon = test_provider_get_icon (GTK_SOURCE_COMPLETION_PROVIDER (provider));
-
GList *proposals = NULL;
gint i;
- for (i = 0; i < 10; i++)
+ g_list_free_full (provider->proposals, g_object_unref);
+
+ for (i = 0; i < nb_proposals; i++)
{
gchar *name = g_strdup_printf ("Proposal %d", i);
@@ -239,170 +234,220 @@ test_provider_set_random (TestProvider *provider)
}
static void
-remember_toggled_cb (GtkToggleButton *button,
- gpointer user_data)
+add_remove_provider (GtkToggleButton *button,
+ GtkSourceCompletion *completion,
+ GtkSourceCompletionProvider *provider)
{
- g_object_set (comp, "remember-info-visibility",
- gtk_toggle_button_get_active (button),
- NULL);
+ g_return_if_fail (provider != NULL);
+
+ if (gtk_toggle_button_get_active (button))
+ {
+ gtk_source_completion_add_provider (completion, provider, NULL);
+ }
+ else
+ {
+ gtk_source_completion_remove_provider (completion, provider, NULL);
+ }
}
static void
-select_on_show_toggled_cb (GtkToggleButton *button,
- gpointer user_data)
+enable_word_provider_toggled_cb (GtkToggleButton *button,
+ GtkSourceCompletion *completion)
{
- g_object_set (comp, "select-on-show",
- gtk_toggle_button_get_active (button),
- NULL);
+ add_remove_provider (button,
+ completion,
+ GTK_SOURCE_COMPLETION_PROVIDER (word_provider));
}
static void
-show_headers_toggled_cb (GtkToggleButton *button,
- gpointer user_data)
+enable_fixed_provider_toggled_cb (GtkToggleButton *button,
+ GtkSourceCompletion *completion)
{
- g_object_set (comp, "show-headers",
- gtk_toggle_button_get_active (button),
- NULL);
+ add_remove_provider (button,
+ completion,
+ GTK_SOURCE_COMPLETION_PROVIDER (fixed_provider));
}
static void
-toggle_active_property (gpointer source,
- gpointer dest,
- const gchar *name)
+enable_random_provider_toggled_cb (GtkToggleButton *button,
+ GtkSourceCompletion *completion)
{
- gboolean value;
-
- g_object_get (source, name, &value, NULL);
- g_object_set (dest, "active", value, NULL);
+ add_remove_provider (button,
+ completion,
+ GTK_SOURCE_COMPLETION_PROVIDER (random_provider));
}
static void
-show_icons_toggled_cb (GtkToggleButton *button,
- gpointer user_data)
+nb_proposals_changed_cb (GtkSpinButton *spin_button,
+ TestProvider *provider)
{
- g_object_set (comp, "show-icons",
- gtk_toggle_button_get_active (button),
- NULL);
+ gint nb_proposals = gtk_spin_button_get_value_as_int (spin_button);
+
+ if (provider->is_random)
+ {
+ test_provider_set_random (provider, nb_proposals);
+ }
+ else
+ {
+ test_provider_set_fixed (provider, nb_proposals);
+ }
}
-static GtkWidget *
-create_window (void)
+static void
+create_completion (GtkSourceView *source_view,
+ GtkSourceCompletion *completion)
{
- GtkWidget *window;
- GtkWidget *vbox;
- GtkWidget *hbox;
- GtkWidget *remember;
- GtkWidget *select_on_show;
- GtkWidget *show_headers;
- GtkWidget *show_icons;
- GtkSourceCompletion *completion;
+ /* Words completion provider */
+ word_provider = gtk_source_completion_words_new (NULL, NULL);
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_window_resize (GTK_WINDOW (window), 600, 400);
+ gtk_source_completion_words_register (word_provider,
+ gtk_text_view_get_buffer (GTK_TEXT_VIEW (source_view)));
- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1);
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 1);
+ gtk_source_completion_add_provider (completion,
+ GTK_SOURCE_COMPLETION_PROVIDER (word_provider),
+ NULL);
- view = gtk_source_view_new ();
- GtkWidget *scroll = gtk_scrolled_window_new (NULL, NULL);
- gtk_container_add (GTK_CONTAINER (scroll), view);
+ g_object_set (word_provider, "priority", 10, NULL);
- remember = gtk_check_button_new_with_label ("Remember info visibility");
- select_on_show = gtk_check_button_new_with_label ("Select first on show");
- show_headers = gtk_check_button_new_with_label ("Show headers");
- show_icons = gtk_check_button_new_with_label ("Show icons");
+ /* Fixed provider: the proposals don't change */
+ fixed_provider = g_object_new (test_provider_get_type (), NULL);
+ test_provider_set_fixed (fixed_provider, 3);
+ fixed_provider->priority = 5;
+ fixed_provider->name = g_strdup ("Fixed Provider");
+
+ gtk_source_completion_add_provider (completion,
+ GTK_SOURCE_COMPLETION_PROVIDER (fixed_provider),
+ NULL);
+
+ /* Random provider: the proposals vary on each populate */
+ random_provider = g_object_new (test_provider_get_type (), NULL);
+ test_provider_set_random (random_provider, 10);
+ random_provider->priority = 1;
+ random_provider->name = g_strdup ("Random Provider");
+
+ gtk_source_completion_add_provider (completion,
+ GTK_SOURCE_COMPLETION_PROVIDER (random_provider),
+ NULL);
+}
+
+static void
+create_window (void)
+{
+ GtkBuilder *builder;
+ GError *error = NULL;
+ GtkWindow *window;
+ GtkSourceView *source_view;
+ GtkSourceBuffer *source_buffer;
+ GtkSourceCompletion *completion;
+ GtkCheckButton *remember_info_visibility;
+ GtkCheckButton *select_on_show;
+ GtkCheckButton *show_headers;
+ GtkCheckButton *show_icons;
+ GtkCheckButton *enable_word_provider;
+ GtkCheckButton *enable_fixed_provider;
+ GtkCheckButton *enable_random_provider;
+ GtkSpinButton *nb_fixed_proposals;
+ GtkSpinButton *nb_random_proposals;
+
+ builder = gtk_builder_new ();
+
+ gtk_builder_add_from_resource (builder,
+ "/org/gnome/gtksourceview/tests/ui/test-completion.ui",
+ &error);
+
+ if (error != NULL)
+ {
+ g_error ("Impossible to load test-completion.ui: %s", error->message);
+ }
- completion = gtk_source_view_get_completion (GTK_SOURCE_VIEW (view));
+ window = GTK_WINDOW (gtk_builder_get_object (builder, "window"));
+ source_view = GTK_SOURCE_VIEW (gtk_builder_get_object (builder, "source_view"));
+ remember_info_visibility = GTK_CHECK_BUTTON (gtk_builder_get_object (builder,
"checkbutton_remember_info_visibility"));
+ select_on_show = GTK_CHECK_BUTTON (gtk_builder_get_object (builder, "checkbutton_select_on_show"));
+ show_headers = GTK_CHECK_BUTTON (gtk_builder_get_object (builder, "checkbutton_show_headers"));
+ 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_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"));
- toggle_active_property (completion, remember, "remember-info-visibility");
- toggle_active_property (completion, select_on_show, "select-on-show");
- toggle_active_property (completion, show_headers, "show-headers");
- toggle_active_property (completion, show_icons, "show-icons");
+ /* Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=643732:
+ * "Source view is created with a GtkTextBuffer instead of GtkSourceBuffer"
+ */
+ source_buffer = gtk_source_buffer_new (NULL);
- gtk_box_pack_start (GTK_BOX (hbox), remember, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), select_on_show, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), show_headers, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (hbox), show_icons, FALSE, FALSE, 0);
+ gtk_text_view_set_buffer (GTK_TEXT_VIEW (source_view),
+ GTK_TEXT_BUFFER (source_buffer));
- gtk_box_pack_start (GTK_BOX (vbox), scroll, TRUE, TRUE, 0);
- gtk_box_pack_end (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
+ g_object_unref (source_buffer);
- gtk_container_add (GTK_CONTAINER (window), vbox);
+ completion = gtk_source_view_get_completion (source_view);
- g_signal_connect (window, "destroy",
+ g_signal_connect (window,
+ "destroy",
G_CALLBACK (gtk_main_quit),
- NULL);
- g_signal_connect (remember, "toggled",
- G_CALLBACK (remember_toggled_cb),
- NULL);
- g_signal_connect (select_on_show, "toggled",
- G_CALLBACK (select_on_show_toggled_cb),
- NULL);
- g_signal_connect (show_headers, "toggled",
- G_CALLBACK (show_headers_toggled_cb),
- NULL);
- g_signal_connect (show_icons, "toggled",
- G_CALLBACK (show_icons_toggled_cb),
NULL);
- return window;
-}
+ g_object_bind_property (completion, "remember-info-visibility",
+ remember_info_visibility, "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
-static void
-create_completion (void)
-{
- GtkSourceCompletionWords *prov_words;
+ g_object_bind_property (completion, "select-on-show",
+ select_on_show, "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
- comp = gtk_source_view_get_completion (GTK_SOURCE_VIEW (view));
+ g_object_bind_property (completion, "show-headers",
+ show_headers, "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
- /* Words completion provider */
- prov_words = gtk_source_completion_words_new (NULL, NULL);
+ g_object_bind_property (completion, "show-icons",
+ show_icons, "active",
+ G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL);
- gtk_source_completion_words_register (prov_words,
- gtk_text_view_get_buffer (GTK_TEXT_VIEW (view)));
+ create_completion (source_view, completion);
- gtk_source_completion_add_provider (comp,
- GTK_SOURCE_COMPLETION_PROVIDER (prov_words),
- NULL);
+ g_signal_connect (enable_word_provider,
+ "toggled",
+ G_CALLBACK (enable_word_provider_toggled_cb),
+ completion);
- g_object_set (prov_words, "priority", 10, NULL);
- g_object_unref (prov_words);
+ g_signal_connect (enable_fixed_provider,
+ "toggled",
+ G_CALLBACK (enable_fixed_provider_toggled_cb),
+ completion);
- /* Fixed provider: the proposals don't change */
- TestProvider *tp = g_object_new (test_provider_get_type (), NULL);
- test_provider_set_fixed (tp);
- tp->priority = 5;
- tp->name = g_strdup ("Fixed Provider");
+ g_signal_connect (enable_random_provider,
+ "toggled",
+ G_CALLBACK (enable_random_provider_toggled_cb),
+ completion);
- gtk_source_completion_add_provider (comp,
- GTK_SOURCE_COMPLETION_PROVIDER (tp),
- NULL);
- g_object_unref (tp);
+ g_signal_connect (nb_fixed_proposals,
+ "value-changed",
+ G_CALLBACK (nb_proposals_changed_cb),
+ fixed_provider);
- /* Random provider: the proposals vary on each populate */
- tp = g_object_new (test_provider_get_type (), NULL);
- test_provider_set_random (tp);
- tp->priority = 1;
- tp->name = g_strdup ("Random Provider");
+ g_signal_connect (nb_random_proposals,
+ "value-changed",
+ G_CALLBACK (nb_proposals_changed_cb),
+ random_provider);
- gtk_source_completion_add_provider (comp,
- GTK_SOURCE_COMPLETION_PROVIDER (tp),
- NULL);
- g_object_unref (tp);
+ g_object_unref (builder);
}
int
main (int argc, char *argv[])
{
- GtkWidget *window;
-
gtk_init (&argc, &argv);
- window = create_window ();
- create_completion ();
-
- gtk_widget_show_all (window);
+ create_window ();
gtk_main ();
+
+ /* Not really useful, except for debugging memory leaks. */
+ g_object_unref (word_provider);
+ g_object_unref (fixed_provider);
+ g_object_unref (random_provider);
+
return 0;
}
diff --git a/tests/test-completion.gresource.xml b/tests/test-completion.gresource.xml
new file mode 100644
index 0000000..2225e21
--- /dev/null
+++ b/tests/test-completion.gresource.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+ <gresource prefix="/org/gnome/gtksourceview/tests/ui">
+ <file preprocess="xml-stripblanks">test-completion.ui</file>
+ </gresource>
+</gresources>
diff --git a/tests/test-completion.ui b/tests/test-completion.ui
new file mode 100644
index 0000000..8a7f624
--- /dev/null
+++ b/tests/test-completion.ui
@@ -0,0 +1,373 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <!-- interface-requires gtk+ 3.0 -->
+ <!-- interface-requires gtksourceview 3.0 -->
+ <object class="GtkAdjustment" id="adjustment1">
+ <property name="upper">100000</property>
+ <property name="value">3</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment2">
+ <property name="upper">100000</property>
+ <property name="value">10</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkWindow" id="window">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkGrid" id="grid1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">6</property>
+ <property name="column_spacing">10</property>
+ <child>
+ <object class="GtkGrid" id="grid2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="row_spacing">5</property>
+ <child>
+ <object class="GtkGrid" id="grid3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">10</property>
+ <child>
+ <object class="GtkCheckButton" id="checkbutton_remember_info_visibility">
+ <property name="label">Remember info visibility</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="checkbutton_select_on_show">
+ <property name="label">Select first on show</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="checkbutton_show_headers">
+ <property name="label">Show headers</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="checkbutton_show_icons">
+ <property name="label">Show icons</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label">Providers</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label">General options</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">10</property>
+ <child>
+ <object class="GtkCheckButton" id="checkbutton_word_provider">
+ <property name="label">Word provider</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="checkbutton_fixed_provider">
+ <property name="label">Fixed provider</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="checkbutton_random_provider">
+ <property name="label">Random provider</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="xalign">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label">Fixed provider proposals</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">10</property>
+ <child>
+ <object class="GtkGrid" id="grid6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="column_spacing">5</property>
+ <child>
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">Number of proposals:</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="spinbutton_nb_fixed_proposals">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="text" translatable="yes">3</property>
+ <property name="adjustment">adjustment1</property>
+ <property name="value">3</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">5</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label">Random provider proposals</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">6</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkGrid" id="grid7">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="margin_left">10</property>
+ <property name="column_spacing">5</property>
+ <child>
+ <object class="GtkLabel" id="label6">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label">Max number of proposals:</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="spinbutton_nb_random_proposals">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="adjustment">adjustment2</property>
+ <property name="value">10</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">7</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <property name="width_request">600</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkSourceView" id="source_view">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hexpand">True</property>
+ <property name="vexpand">True</property>
+ <property name="left_margin">2</property>
+ <property name="right_margin">2</property>
+ <property name="tab_width">4</property>
+ <property name="auto_indent">True</property>
+ <property name="indent_on_tab">False</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]