From f3756ff85a32f4b2a0771d0ac3bd78a69535395f Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Fri, 3 Jun 2011 11:44:52 +0100 Subject: Use generic headers in preparation for GTK+ 3 transition Fixed bugs: - https://launchpad.net/bugs/792263 (bzr r10252.1.1) --- src/widgets/gradient-selector.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index f7a981c9f..6327e2ff2 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -16,11 +16,7 @@ #ifdef HAVE_CONFIG_H # include "config.h" #endif -#include -#include -#include -#include -#include +#include #include "document.h" #include "../document-private.h" -- cgit v1.2.3 From 3638efba5bec8a6afc9211aa6bbe289767d20b38 Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Fri, 3 Jun 2011 19:45:55 -0700 Subject: Removed outdated/unsafe SP_DOCUMENT_DEFS macro and reduced usage of SP_ROOT() gtk type function/macro. (bzr r10254) --- src/widgets/gradient-selector.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index f7a981c9f..9b1664ac3 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -360,7 +360,7 @@ sp_gradient_selector_add_vector_clicked (GtkWidget */*w*/, SPGradientSelector *s Inkscape::GC::release(stop); } - SP_DOCUMENT_DEFS(doc)->getRepr()->addChild(repr, NULL); + doc->getDefs()->getRepr()->addChild(repr, NULL); gr = (SPGradient *) doc->getObjectByRepr(repr); sp_gradient_vector_selector_set_gradient( -- cgit v1.2.3 From f2510631aadaae48e040a1dd0f9bc8b4de6f2054 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Sun, 5 Jun 2011 14:22:18 +0100 Subject: Replace use of deprecated GtkTooltips API Fixed bugs: - https://launchpad.net/bugs/793086 (bzr r10256.1.1) --- src/widgets/gradient-selector.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index 9a907e78b..3f07e09c8 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -133,7 +133,6 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) GtkWidget *hb = gtk_hbox_new( FALSE, 0 ); sel->nonsolid.push_back(hb); gtk_box_pack_start( GTK_BOX(sel), hb, FALSE, FALSE, 0 ); - GtkTooltips *ttips = gtk_tooltips_new (); sel->add = gtk_button_new_with_label (_("Duplicate")); sel->nonsolid.push_back(sel->add); @@ -159,12 +158,12 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) sel->nonsolid.push_back(sel->spread); gtk_widget_show(sel->spread); gtk_box_pack_end( GTK_BOX(hb), sel->spread, FALSE, FALSE, 0 ); - gtk_tooltips_set_tip( ttips, sel->spread, + gtk_widget_set_tooltip_text( sel->spread, // TRANSLATORS: for info, see http://www.w3.org/TR/2000/CR-SVG-20000802/pservers.html#LinearGradientSpreadMethodAttribute _("Whether to fill with flat color beyond the ends of the gradient vector " "(spreadMethod=\"pad\"), or repeat the gradient in the same direction " "(spreadMethod=\"repeat\"), or repeat the gradient in alternating opposite " - "directions (spreadMethod=\"reflect\")"), NULL); + "directions (spreadMethod=\"reflect\")")); GtkWidget *m = gtk_menu_new(); GtkWidget *mi = gtk_menu_item_new_with_label(_("none")); -- cgit v1.2.3 From a1f1e29a8a207ea7ef4be583a050778cf2875217 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Mon, 13 Jun 2011 01:28:49 +0100 Subject: Replace deprecated GtkSignal (bzr r10282.1.1) --- src/widgets/gradient-selector.cpp | 44 +++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 20 deletions(-) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index 3f07e09c8..a3110ed5b 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -85,30 +85,34 @@ sp_gradient_selector_class_init (SPGradientSelectorClass *klass) parent_class = (GtkVBoxClass*)gtk_type_class (GTK_TYPE_VBOX); - signals[GRABBED] = gtk_signal_new ("grabbed", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPGradientSelectorClass, grabbed), + signals[GRABBED] = g_signal_new ("grabbed", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET (SPGradientSelectorClass, grabbed), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - signals[DRAGGED] = gtk_signal_new ("dragged", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPGradientSelectorClass, dragged), + G_TYPE_NONE, 0); + signals[DRAGGED] = g_signal_new ("dragged", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET (SPGradientSelectorClass, dragged), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - signals[RELEASED] = gtk_signal_new ("released", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPGradientSelectorClass, released), + G_TYPE_NONE, 0); + signals[RELEASED] = g_signal_new ("released", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET (SPGradientSelectorClass, released), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); - signals[CHANGED] = gtk_signal_new ("changed", - (GtkSignalRunType)(GTK_RUN_FIRST | GTK_RUN_NO_RECURSE), - GTK_CLASS_TYPE(object_class), - GTK_SIGNAL_OFFSET (SPGradientSelectorClass, changed), + G_TYPE_NONE, 0); + signals[CHANGED] = g_signal_new ("changed", + G_TYPE_FROM_CLASS(object_class), + (GSignalFlags)(G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE), + G_STRUCT_OFFSET (SPGradientSelectorClass, changed), + NULL, NULL, gtk_marshal_NONE__NONE, - GTK_TYPE_NONE, 0); + G_TYPE_NONE, 0); object_class->destroy = sp_gradient_selector_destroy; } -- cgit v1.2.3 From f5437faac0a6b2d95f6acad0dd3a03c1759bc255 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Sun, 26 Jun 2011 01:30:49 +0100 Subject: Gtk cleanup: gtk_menu_append (bzr r10350.1.7) --- src/widgets/gradient-selector.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index a3110ed5b..c6b867595 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -171,17 +171,17 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) GtkWidget *m = gtk_menu_new(); GtkWidget *mi = gtk_menu_item_new_with_label(_("none")); - gtk_menu_append (GTK_MENU (m), mi); + gtk_menu_shell_append(GTK_MENU_SHELL (m), mi); g_object_set_data (G_OBJECT (mi), "gradientSpread", GUINT_TO_POINTER (SP_GRADIENT_SPREAD_PAD)); g_signal_connect (G_OBJECT (mi), "activate", G_CALLBACK (sp_gradient_selector_spread_activate), sel); mi = gtk_menu_item_new_with_label (_("reflected")); g_object_set_data (G_OBJECT (mi), "gradientSpread", GUINT_TO_POINTER (SP_GRADIENT_SPREAD_REFLECT)); g_signal_connect (G_OBJECT (mi), "activate", G_CALLBACK (sp_gradient_selector_spread_activate), sel); - gtk_menu_append (GTK_MENU (m), mi); + gtk_menu_shell_append(GTK_MENU_SHELL (m), mi); mi = gtk_menu_item_new_with_label (_("direct")); g_object_set_data (G_OBJECT (mi), "gradientSpread", GUINT_TO_POINTER (SP_GRADIENT_SPREAD_REPEAT)); g_signal_connect (G_OBJECT (mi), "activate", G_CALLBACK (sp_gradient_selector_spread_activate), sel); - gtk_menu_append (GTK_MENU (m), mi); + gtk_menu_shell_append(GTK_MENU_SHELL (m), mi); gtk_widget_show_all (m); gtk_option_menu_set_menu( GTK_OPTION_MENU(sel->spread), m ); -- cgit v1.2.3 From cb302be5567e13d38c794debb7a68bbf5f4abd1e Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Sat, 2 Jul 2011 12:17:50 +0100 Subject: GTK+ cleaning: gtk_type_new (bzr r10390.1.3) --- src/widgets/gradient-selector.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index c6b867595..0b7764674 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -212,7 +212,7 @@ sp_gradient_selector_new (void) { SPGradientSelector *sel; - sel = (SPGradientSelector*)gtk_type_new (SP_TYPE_GRADIENT_SELECTOR); + sel = (SPGradientSelector*)g_object_new (SP_TYPE_GRADIENT_SELECTOR, NULL); return (GtkWidget *) sel; } -- cgit v1.2.3 From 32cbae2ea15712efd9a36f43f7690268c1767e52 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Sun, 3 Jul 2011 11:43:53 +0100 Subject: GTK+ cleanup: gtk_type_class (bzr r10407) --- src/widgets/gradient-selector.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index 0b7764674..a6e9be581 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -83,7 +83,7 @@ sp_gradient_selector_class_init (SPGradientSelectorClass *klass) object_class = (GtkObjectClass *) klass; - parent_class = (GtkVBoxClass*)gtk_type_class (GTK_TYPE_VBOX); + parent_class = (GtkVBoxClass*)g_type_class_peek_parent (klass); signals[GRABBED] = g_signal_new ("grabbed", G_TYPE_FROM_CLASS(object_class), -- cgit v1.2.3 From 3dd57b23ff0008756b2f00285978ea5b0ce4a5b3 Mon Sep 17 00:00:00 2001 From: Alex Valavanis Date: Wed, 14 Dec 2011 12:20:27 +0000 Subject: Migrate gradient selector to GtkComboBox (bzr r10769) --- src/widgets/gradient-selector.cpp | 51 ++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 28 deletions(-) (limited to 'src/widgets/gradient-selector.cpp') diff --git a/src/widgets/gradient-selector.cpp b/src/widgets/gradient-selector.cpp index a6e9be581..bece60a08 100644 --- a/src/widgets/gradient-selector.cpp +++ b/src/widgets/gradient-selector.cpp @@ -45,8 +45,7 @@ static void sp_gradient_selector_destroy (GtkObject *object); static void sp_gradient_selector_vector_set (SPGradientVectorSelector *gvs, SPGradient *gr, SPGradientSelector *sel); static void sp_gradient_selector_edit_vector_clicked (GtkWidget *w, SPGradientSelector *sel); static void sp_gradient_selector_add_vector_clicked (GtkWidget *w, SPGradientSelector *sel); - -static void sp_gradient_selector_spread_activate (GtkWidget *widget, SPGradientSelector *sel); +static void sp_gradient_selector_spread_changed (GtkComboBox *widget, SPGradientSelector *sel); static GtkVBoxClass *parent_class; static guint signals[LAST_SIGNAL] = {0}; @@ -158,7 +157,22 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) gtk_widget_show(hb); gtk_box_pack_start( GTK_BOX(sel), hb, FALSE, FALSE, 0 ); - sel->spread = gtk_option_menu_new(); +// The GtkComboBoxText API only appeared in Gtk 2.24 but Inkscape supports +// builds for Gtk >= 2.20. +// Older versions need to use now-deprecated parts of +// the GtkComboBox API instead. +#if GTK_CHECK_VERSION(2,24,0) + sel->spread = gtk_combo_box_text_new (); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (sel->spread), _("none")); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (sel->spread), _("reflected")); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (sel->spread), _("direct")); +#else + sel->spread = gtk_combo_box_new_text (); + gtk_combo_box_append_text (GTK_COMBO_BOX (sel->spread), _("none")); + gtk_combo_box_append_text (GTK_COMBO_BOX (sel->spread), _("reflected")); + gtk_combo_box_append_text (GTK_COMBO_BOX (sel->spread), _("direct")); +#endif + sel->nonsolid.push_back(sel->spread); gtk_widget_show(sel->spread); gtk_box_pack_end( GTK_BOX(hb), sel->spread, FALSE, FALSE, 0 ); @@ -169,22 +183,8 @@ static void sp_gradient_selector_init(SPGradientSelector *sel) "(spreadMethod=\"repeat\"), or repeat the gradient in alternating opposite " "directions (spreadMethod=\"reflect\")")); - GtkWidget *m = gtk_menu_new(); - GtkWidget *mi = gtk_menu_item_new_with_label(_("none")); - gtk_menu_shell_append(GTK_MENU_SHELL (m), mi); - g_object_set_data (G_OBJECT (mi), "gradientSpread", GUINT_TO_POINTER (SP_GRADIENT_SPREAD_PAD)); - g_signal_connect (G_OBJECT (mi), "activate", G_CALLBACK (sp_gradient_selector_spread_activate), sel); - mi = gtk_menu_item_new_with_label (_("reflected")); - g_object_set_data (G_OBJECT (mi), "gradientSpread", GUINT_TO_POINTER (SP_GRADIENT_SPREAD_REFLECT)); - g_signal_connect (G_OBJECT (mi), "activate", G_CALLBACK (sp_gradient_selector_spread_activate), sel); - gtk_menu_shell_append(GTK_MENU_SHELL (m), mi); - mi = gtk_menu_item_new_with_label (_("direct")); - g_object_set_data (G_OBJECT (mi), "gradientSpread", GUINT_TO_POINTER (SP_GRADIENT_SPREAD_REPEAT)); - g_signal_connect (G_OBJECT (mi), "activate", G_CALLBACK (sp_gradient_selector_spread_activate), sel); - gtk_menu_shell_append(GTK_MENU_SHELL (m), mi); - gtk_widget_show_all (m); - - gtk_option_menu_set_menu( GTK_OPTION_MENU(sel->spread), m ); + g_signal_connect (G_OBJECT (sel->spread), "changed", + G_CALLBACK (sp_gradient_selector_spread_changed), sel); sel->spreadLbl = gtk_label_new( _("Repeat:") ); sel->nonsolid.push_back(sel->spreadLbl); @@ -241,8 +241,7 @@ void SPGradientSelector::setUnits(SPGradientUnits units) void SPGradientSelector::setSpread(SPGradientSpread spread) { gradientSpread = spread; - - gtk_option_menu_set_history(GTK_OPTION_MENU(this->spread), gradientSpread); + gtk_combo_box_set_active (GTK_COMBO_BOX(this->spread), gradientSpread); } SPGradientUnits SPGradientSelector::getUnits() @@ -368,17 +367,13 @@ sp_gradient_selector_add_vector_clicked (GtkWidget */*w*/, SPGradientSelector *s Inkscape::GC::release(repr); } - - static void -sp_gradient_selector_spread_activate (GtkWidget *widget, SPGradientSelector *sel) +sp_gradient_selector_spread_changed (GtkComboBox *widget, SPGradientSelector *sel) { - sel->gradientSpread = (SPGradientSpread)GPOINTER_TO_UINT (g_object_get_data (G_OBJECT (widget), "gradientSpread")); - - g_signal_emit (G_OBJECT (sel), signals[CHANGED], 0); + sel->gradientSpread = (SPGradientSpread) gtk_combo_box_get_active (GTK_COMBO_BOX(widget)); + g_signal_emit (G_OBJECT (sel), signals[CHANGED], 0); } - /* Local Variables: mode:c++ -- cgit v1.2.3