[gtksourceview/wip/search: 17/36] test-search-ui: add replace entry and button
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtksourceview/wip/search: 17/36] test-search-ui: add replace entry and button
- Date: Sat, 6 Jul 2013 15:58:09 +0000 (UTC)
commit c61b2f2e3a225546c6436b78a930606633593c6d
Author: Sébastien Wilmet <swilmet gnome org>
Date: Mon Jul 1 17:11:34 2013 +0200
test-search-ui: add replace entry and button
tests/test-search-ui.c | 53 +++++++++++++++++++++++++++++
tests/test-search-ui.ui | 84 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 137 insertions(+), 0 deletions(-)
---
diff --git a/tests/test-search-ui.c b/tests/test-search-ui.c
index 888317b..91398bd 100644
--- a/tests/test-search-ui.c
+++ b/tests/test-search-ui.c
@@ -22,6 +22,13 @@
#include <gtk/gtk.h>
#include <gtksourceview/gtksource.h>
+typedef struct
+{
+ GtkSourceView *view;
+ GtkSourceBuffer *buffer;
+ GtkEntry *replace_entry;
+} ReplaceWidgets;
+
static void
open_file (GtkSourceBuffer *buffer,
const gchar *filename)
@@ -149,6 +156,30 @@ on_button_next_clicked_cb (GtkButton *button,
}
static void
+on_replace_cb (GtkButton *button,
+ ReplaceWidgets *widgets)
+{
+ gtk_source_buffer_replace_search_match (widgets->buffer,
+ NULL,
+ NULL,
+ gtk_entry_get_text (widgets->replace_entry),
+ -1);
+
+ gtk_source_buffer_forward_search_async (widgets->buffer,
+ NULL,
+ NULL,
+ (GAsyncReadyCallback)forward_search_finished,
+ widgets->view);
+}
+
+static void
+on_replace_all_cb (GtkButton *button,
+ ReplaceWidgets *widgets)
+{
+ g_message ("Not implemented yet.");
+}
+
+static void
create_window (void)
{
GtkBuilder *builder;
@@ -163,7 +194,11 @@ create_window (void)
GtkCheckButton *wrap_around;
GtkButton *button_previous;
GtkButton *button_next;
+ GtkEntry *replace_entry;
+ GtkButton *button_replace;
+ GtkButton *button_replace_all;
PangoFontDescription *font;
+ ReplaceWidgets *replace_widgets;
builder = gtk_builder_new ();
@@ -185,6 +220,9 @@ create_window (void)
wrap_around = GTK_CHECK_BUTTON (gtk_builder_get_object (builder, "checkbutton_wrap_around"));
button_previous = GTK_BUTTON (gtk_builder_get_object (builder, "button_previous"));
button_next = GTK_BUTTON (gtk_builder_get_object (builder, "button_next"));
+ replace_entry = GTK_ENTRY (gtk_builder_get_object (builder, "entry_replace"));
+ button_replace = GTK_BUTTON (gtk_builder_get_object (builder, "button_replace"));
+ button_replace_all = GTK_BUTTON (gtk_builder_get_object (builder, "button_replace_all"));
font = pango_font_description_from_string ("Monospace 10");
gtk_widget_override_font (GTK_WIDGET (source_view), font);
@@ -240,6 +278,21 @@ create_window (void)
source_buffer, "search-wrap-around",
G_BINDING_SYNC_CREATE);
+ replace_widgets = g_slice_new (ReplaceWidgets);
+ replace_widgets->view = source_view;
+ replace_widgets->buffer = source_buffer;
+ replace_widgets->replace_entry = replace_entry;
+
+ g_signal_connect (button_replace,
+ "clicked",
+ G_CALLBACK (on_replace_cb),
+ replace_widgets);
+
+ g_signal_connect (button_replace_all,
+ "clicked",
+ G_CALLBACK (on_replace_all_cb),
+ replace_widgets);
+
g_object_unref (builder);
}
diff --git a/tests/test-search-ui.ui b/tests/test-search-ui.ui
index 5bfa595..d171529 100644
--- a/tests/test-search-ui.ui
+++ b/tests/test-search-ui.ui
@@ -14,6 +14,18 @@
<property name="stock">gtk-go-down</property>
<property name="icon_size">1</property>
</object>
+ <object class="GtkImage" id="image3">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-find-and-replace</property>
+ <property name="icon_size">1</property>
+ </object>
+ <object class="GtkImage" id="image4">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-find-and-replace</property>
+ <property name="icon_size">1</property>
+ </object>
<object class="GtkWindow" id="window">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -198,6 +210,78 @@
<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="column_spacing">6</property>
+ <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">Replace:</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="GtkEntry" id="entry_replace">
+ <property name="visible">True</property>
+ <property name="can_focus">True</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>
+ <child>
+ <object class="GtkButton" id="button_replace">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">image3</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="button_replace_all">
+ <property name="label">All</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="image">image4</property>
+ <property name="always_show_image">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</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">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
</object>
</child>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]