[goffice] GOArrowSel: allow selection of type.
- From: Morten Welinder <mortenw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [goffice] GOArrowSel: allow selection of type.
- Date: Wed, 11 Feb 2015 15:52:20 +0000 (UTC)
commit 6f6d25ec214adbf713360a456c2c3df740380e9c
Author: Morten Welinder <terra gnome org>
Date: Wed Feb 11 10:51:55 2015 -0500
GOArrowSel: allow selection of type.
goffice/gtk/go-arrow-sel.c | 21 ++++++++++++++++-----
goffice/gtk/go-arrow-sel.ui | 35 ++++++++++++++++++-----------------
2 files changed, 34 insertions(+), 22 deletions(-)
---
diff --git a/goffice/gtk/go-arrow-sel.c b/goffice/gtk/go-arrow-sel.c
index 9fd228f..24b348c 100644
--- a/goffice/gtk/go-arrow-sel.c
+++ b/goffice/gtk/go-arrow-sel.c
@@ -34,6 +34,7 @@ struct _GOArrowSel {
GtkBuilder *gui;
GOArrow arrow;
+ GtkWidget *type_selector;
GtkSpinButton *spin_a, *spin_b, *spin_c;
GtkWidget *preview;
};
@@ -50,13 +51,19 @@ enum {
static GObjectClass *as_parent_class;
static void
-cb_spin_changed (GtkWidget *spin, GOArrowSel *as)
+cb_changed (GOArrowSel *as)
{
GOArrow arr = as->arrow;
+ int idx;
+ idx = gtk_combo_box_get_active (GTK_COMBO_BOX (as->type_selector));
+ if (idx >= 0)
+ arr.typ = idx;
arr.a = gtk_spin_button_get_value (as->spin_a);
arr.b = gtk_spin_button_get_value (as->spin_b);
arr.c = gtk_spin_button_get_value (as->spin_c);
+
+
go_arrow_sel_set_arrow (as, &arr);
}
@@ -88,7 +95,7 @@ go_arrow_sel_constructor (GType type,
guint n_construct_properties,
GObjectConstructParam *construct_params)
{
- GtkWidget *arrowsel, *placeholder;
+ GtkWidget *arrowsel;
GOArrowSel *as = (GOArrowSel *)
(as_parent_class->constructor (type,
n_construct_properties,
@@ -99,11 +106,14 @@ go_arrow_sel_constructor (GType type,
as->gui = go_gtk_builder_load_internal ("res:go:gtk/go-arrow-sel.ui", GETTEXT_PACKAGE, NULL);
as->spin_a = GTK_SPIN_BUTTON (go_gtk_builder_get_widget (as->gui, "spin_a"));
- g_signal_connect (as->spin_a, "value-changed", G_CALLBACK (cb_spin_changed), as);
+ g_signal_connect_swapped (as->spin_a, "value-changed", G_CALLBACK (cb_changed), as);
as->spin_b = GTK_SPIN_BUTTON (go_gtk_builder_get_widget (as->gui, "spin_b"));
- g_signal_connect (as->spin_b, "value-changed", G_CALLBACK (cb_spin_changed), as);
+ g_signal_connect_swapped (as->spin_b, "value-changed", G_CALLBACK (cb_changed), as);
as->spin_c = GTK_SPIN_BUTTON (go_gtk_builder_get_widget (as->gui, "spin_c"));
- g_signal_connect (as->spin_c, "value-changed", G_CALLBACK (cb_spin_changed), as);
+ g_signal_connect_swapped (as->spin_c, "value-changed", G_CALLBACK (cb_changed), as);
+
+ as->type_selector = go_gtk_builder_get_widget (as->gui, "type-selector");
+ g_signal_connect_swapped (as->type_selector, "changed", G_CALLBACK (cb_changed), as);
as->preview = go_gtk_builder_get_widget (as->gui, "preview");
g_signal_connect (G_OBJECT (as->preview), "draw",
@@ -224,6 +234,7 @@ go_arrow_sel_set_arrow (GOArrowSel *as, GOArrow const *arrow)
g_object_freeze_notify (G_OBJECT (as));
as->arrow = *arrow;
g_object_notify (G_OBJECT (as), "arrow");
+ gtk_combo_box_set_active (GTK_COMBO_BOX (as->type_selector), arrow->typ);
gtk_spin_button_set_value (as->spin_a, arrow->a);
gtk_spin_button_set_value (as->spin_b, arrow->b);
gtk_spin_button_set_value (as->spin_c, arrow->c);
diff --git a/goffice/gtk/go-arrow-sel.ui b/goffice/gtk/go-arrow-sel.ui
index d53f7d6..226c13d 100644
--- a/goffice/gtk/go-arrow-sel.ui
+++ b/goffice/gtk/go-arrow-sel.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.16.0 on Wed Feb 11 08:26:35 2015 -->
+<!-- Generated with glade 3.16.0 on Wed Feb 11 09:58:36 2015 -->
<interface>
<!-- interface-requires gtk+ 3.8 -->
<object class="GtkAdjustment" id="adjustment1">
@@ -29,22 +29,6 @@
<property name="row_spacing">6</property>
<property name="column_spacing">12</property>
<child>
- <object class="GtkBox" id="type_placeholder">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="orientation">vertical</property>
- <child>
- <placeholder/>
- </child>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- <property name="width">2</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>
@@ -133,6 +117,23 @@
<property name="height">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkComboBoxText" id="type-selector">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <items>
+ <item translatable="yes">None</item>
+ <item translatable="yes">Kite</item>
+ <item translatable="yes">Oval</item>
+ </items>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ <property name="width">2</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]