diff options
author | Emmanuele Bassi <ebassi@gnome.org> | 2019-03-04 13:36:52 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2019-03-26 00:11:27 +0000 |
commit | 8cf06befc030dfe70f63b0c9e103f25f213f9dd3 (patch) | |
tree | 6f7891bdb60b96fb7d5270ec7fd5a5544e1c78c4 /gtk/gtkswitch.c | |
parent | 128a34fe3763a2b62192cbc7ef5253213305725b (diff) | |
download | gtk+-8cf06befc030dfe70f63b0c9e103f25f213f9dd3.tar.gz |
Port GtkSwitch to GtkLegacyLayout
Diffstat (limited to 'gtk/gtkswitch.c')
-rw-r--r-- | gtk/gtkswitch.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/gtk/gtkswitch.c b/gtk/gtkswitch.c index eefa49c708..420927f13e 100644 --- a/gtk/gtkswitch.c +++ b/gtk/gtkswitch.c @@ -61,6 +61,7 @@ #include "gtkgizmoprivate.h" #include "gtkintl.h" #include "gtkimage.h" +#include "gtklegacylayoutprivate.h" #include "gtkmarshalers.h" #include "gtkprivate.h" #include "gtkprogresstrackerprivate.h" @@ -319,10 +320,10 @@ gtk_switch_measure (GtkWidget *widget, } static void -gtk_switch_size_allocate (GtkWidget *widget, - int width, - int height, - int baseline) +gtk_switch_allocate (GtkWidget *widget, + int width, + int height, + int baseline) { GtkSwitch *self = GTK_SWITCH (widget); GtkSwitchPrivate *priv = gtk_switch_get_instance_private (self); @@ -544,9 +545,6 @@ gtk_switch_class_init (GtkSwitchClass *klass) g_object_class_install_properties (gobject_class, LAST_PROP, switch_props); - widget_class->measure = gtk_switch_measure; - widget_class->size_allocate = gtk_switch_size_allocate; - klass->activate = gtk_switch_activate; klass->state_set = state_set; @@ -613,6 +611,7 @@ static void gtk_switch_init (GtkSwitch *self) { GtkSwitchPrivate *priv = gtk_switch_get_instance_private (self); + GtkLayoutManager *layout; GtkGesture *gesture; gtk_widget_set_has_surface (GTK_WIDGET (self), FALSE); @@ -642,6 +641,11 @@ gtk_switch_init (GtkSwitch *self) gtk_widget_add_controller (GTK_WIDGET (self), GTK_EVENT_CONTROLLER (gesture)); priv->pan_gesture = gesture; + layout = gtk_legacy_layout_new (NULL, + gtk_switch_measure, + gtk_switch_allocate); + gtk_widget_set_layout_manager (GTK_WIDGET (self), layout); + g_object_unref (layout); priv->on_image = gtk_image_new_from_icon_name ("switch-on-symbolic"); gtk_widget_set_parent (priv->on_image, GTK_WIDGET (self)); |