[gtk+/wip/otte/gtk4: 47/121] Button: Remove alignment API



commit b6d28d5dc56d83b306375a7649db7a35ce0312e4
Author: Timm Bäder <mail baedert org>
Date:   Sun Oct 2 18:35:36 2016 +0200

    Button: Remove alignment API

 gtk/gtkbutton.c      |  235 +-------------------------------------------------
 gtk/gtkbutton.h      |    8 --
 gtk/gtkcheckbutton.c |    4 -
 3 files changed, 3 insertions(+), 244 deletions(-)
---
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c
index 093b3cc..89a2b5d 100644
--- a/gtk/gtkbutton.c
+++ b/gtk/gtkbutton.c
@@ -57,7 +57,6 @@
 #include "gtkbuttonprivate.h"
 
 #include <string.h>
-#include "deprecated/gtkalignment.h"
 #include "gtklabel.h"
 #include "gtkmain.h"
 #include "gtkmarshalers.h"
@@ -99,8 +98,6 @@ enum {
   PROP_RELIEF,
   PROP_USE_UNDERLINE,
   PROP_USE_STOCK,
-  PROP_XALIGN,
-  PROP_YALIGN,
   PROP_IMAGE_POSITION,
   PROP_ALWAYS_SHOW_IMAGE,
 
@@ -131,7 +128,6 @@ static void gtk_button_realize (GtkWidget * widget);
 static void gtk_button_unrealize (GtkWidget * widget);
 static void gtk_button_map (GtkWidget * widget);
 static void gtk_button_unmap (GtkWidget * widget);
-static void gtk_button_style_updated (GtkWidget * widget);
 static void gtk_button_size_allocate (GtkWidget * widget,
                                      GtkAllocation * allocation);
 static gint gtk_button_draw (GtkWidget * widget, cairo_t *cr);
@@ -148,9 +144,6 @@ static void gtk_real_button_clicked (GtkButton * button);
 static void gtk_real_button_activate  (GtkButton          *button);
 static void gtk_button_update_state   (GtkButton          *button);
 static void gtk_button_enter_leave    (GtkButton          *button);
-static void gtk_button_add            (GtkContainer       *container,
-                                      GtkWidget          *widget);
-static GType gtk_button_child_type    (GtkContainer       *container);
 static void gtk_button_finish_activate (GtkButton         *button,
                                        gboolean           do_it);
 
@@ -255,7 +248,6 @@ gtk_button_class_init (GtkButtonClass *klass)
   widget_class->unrealize = gtk_button_unrealize;
   widget_class->map = gtk_button_map;
   widget_class->unmap = gtk_button_unmap;
-  widget_class->style_updated = gtk_button_style_updated;
   widget_class->size_allocate = gtk_button_size_allocate;
   widget_class->draw = gtk_button_draw;
   widget_class->grab_broken_event = gtk_button_grab_broken;
@@ -265,8 +257,6 @@ gtk_button_class_init (GtkButtonClass *klass)
   widget_class->state_changed = gtk_button_state_changed;
   widget_class->grab_notify = gtk_button_grab_notify;
 
-  container_class->child_type = gtk_button_child_type;
-  container_class->add = gtk_button_add;
   gtk_container_class_handle_border_width (container_class);
 
   klass->pressed = gtk_real_button_pressed;
@@ -309,44 +299,6 @@ gtk_button_class_init (GtkButtonClass *klass)
                        GTK_TYPE_RELIEF_STYLE,
                        GTK_RELIEF_NORMAL,
                        GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY);
-  
-  /**
-   * GtkButton:xalign:
-   *
-   * If the child of the button is a #GtkMisc or #GtkAlignment, this property 
-   * can be used to control its horizontal alignment. 0.0 is left aligned, 
-   * 1.0 is right aligned.
-   *
-   * Since: 2.4
-   *
-   * Deprecated: 3.14: Access the child widget directly if you need to control
-   * its alignment.
-   */
-  props[PROP_XALIGN] =
-    g_param_spec_float ("xalign",
-                        P_("Horizontal alignment for child"),
-                        P_("Horizontal position of child in available space. 0.0 is left aligned, 1.0 is 
right aligned"),
-                        0.0, 1.0, 0.5,
-                        GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY|G_PARAM_DEPRECATED);
-
-  /**
-   * GtkButton:yalign:
-   *
-   * If the child of the button is a #GtkMisc or #GtkAlignment, this property 
-   * can be used to control its vertical alignment. 0.0 is top aligned, 
-   * 1.0 is bottom aligned.
-   *
-   * Since: 2.4
-   *
-   * Deprecated: 3.14: Access the child widget directly if you need to control
-   * its alignment.
-   */
-  props[PROP_YALIGN] =
-    g_param_spec_float ("yalign",
-                        P_("Vertical alignment for child"),
-                        P_("Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom 
aligned"),
-                        0.0, 1.0, 0.5,
-                        GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY|G_PARAM_DEPRECATED);
 
   /**
    * GtkButton:image:
@@ -727,9 +679,6 @@ gtk_button_init (GtkButton *button)
   priv->use_stock = FALSE;
   priv->use_underline = FALSE;
 
-  priv->xalign = 0.5;
-  priv->yalign = 0.5;
-  priv->align_set = 0;
   priv->image_is_stock = TRUE;
   priv->image_position = GTK_POS_LEFT;
   priv->use_action_appearance = TRUE;
@@ -781,44 +730,6 @@ gtk_button_constructed (GObject *object)
     gtk_button_construct_child (button);
 }
 
-
-static GType
-gtk_button_child_type  (GtkContainer     *container)
-{
-  if (!gtk_bin_get_child (GTK_BIN (container)))
-    return GTK_TYPE_WIDGET;
-  else
-    return G_TYPE_NONE;
-}
-
-static void
-maybe_set_alignment (GtkButton *button,
-                    GtkWidget *widget)
-{
-  GtkButtonPrivate *priv = button->priv;
-
-  if (!priv->align_set)
-    return;
-
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-  if (GTK_IS_LABEL (widget))
-    g_object_set (widget, "xalign", priv->xalign, "yalign", priv->yalign, NULL);
-  else if (GTK_IS_MISC (widget))
-    gtk_misc_set_alignment (GTK_MISC (widget), priv->xalign, priv->yalign);
-  else if (GTK_IS_ALIGNMENT (widget))
-    g_object_set (widget, "xalign", priv->xalign, "yalign", priv->yalign, NULL);
-G_GNUC_END_IGNORE_DEPRECATIONS
-}
-
-static void
-gtk_button_add (GtkContainer *container,
-               GtkWidget    *widget)
-{
-  maybe_set_alignment (GTK_BUTTON (container), widget);
-
-  GTK_CONTAINER_CLASS (gtk_button_parent_class)->add (container, widget);
-}
-
 static void
 gtk_button_dispose (GObject *object)
 {
@@ -874,7 +785,6 @@ gtk_button_set_property (GObject         *object,
                          GParamSpec      *pspec)
 {
   GtkButton *button = GTK_BUTTON (object);
-  GtkButtonPrivate *priv = button->priv;
 
   switch (prop_id)
     {
@@ -898,16 +808,6 @@ gtk_button_set_property (GObject         *object,
       gtk_button_set_use_stock (button, g_value_get_boolean (value));
       G_GNUC_END_IGNORE_DEPRECATIONS;
       break;
-    case PROP_XALIGN:
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-      gtk_button_set_alignment (button, g_value_get_float (value), priv->yalign);
-G_GNUC_END_IGNORE_DEPRECATIONS
-      break;
-    case PROP_YALIGN:
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
-      gtk_button_set_alignment (button, priv->xalign, g_value_get_float (value));
-G_GNUC_END_IGNORE_DEPRECATIONS
-      break;
     case PROP_IMAGE_POSITION:
       gtk_button_set_image_position (button, g_value_get_enum (value));
       break;
@@ -958,12 +858,6 @@ gtk_button_get_property (GObject         *object,
     case PROP_USE_STOCK:
       g_value_set_boolean (value, priv->use_stock);
       break;
-    case PROP_XALIGN:
-      g_value_set_float (value, priv->xalign);
-      break;
-    case PROP_YALIGN:
-      g_value_set_float (value, priv->yalign);
-      break;
     case PROP_IMAGE_POSITION:
       g_value_set_enum (value, priv->image_position);
       break;
@@ -1266,7 +1160,6 @@ gtk_button_construct_child (GtkButton *button)
   GtkWidget *child;
   GtkWidget *label;
   GtkWidget *box;
-  GtkWidget *align;
   GtkWidget *image = NULL;
   gchar *label_text = NULL;
   gint image_spacing;
@@ -1335,13 +1228,6 @@ gtk_button_construct_child (GtkButton *button)
       gtk_widget_set_valign (image, GTK_ALIGN_BASELINE);
       gtk_widget_set_valign (box, GTK_ALIGN_BASELINE);
 
-      if (priv->align_set)
-       align = gtk_alignment_new (priv->xalign, priv->yalign, 0.0, 0.0);
-      else
-       align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
-
-      gtk_widget_set_valign (align, GTK_ALIGN_BASELINE);
-
       if (priv->image_position == GTK_POS_LEFT ||
          priv->image_position == GTK_POS_TOP)
         gtk_box_pack_start (GTK_BOX (box), priv->image, FALSE, FALSE);
@@ -1372,9 +1258,8 @@ gtk_button_construct_child (GtkButton *button)
           gtk_style_context_add_class (context, "image-button");
         }
 
-      gtk_container_add (GTK_CONTAINER (button), align);
-      gtk_container_add (GTK_CONTAINER (align), box);
-      gtk_widget_show_all (align);
+      gtk_container_add (GTK_CONTAINER (button), box);
+      gtk_widget_show_all (box);
 
       g_object_unref (image);
 
@@ -1391,8 +1276,6 @@ gtk_button_construct_child (GtkButton *button)
 
   gtk_widget_set_valign (label, GTK_ALIGN_BASELINE);
 
-  maybe_set_alignment (button, label);
-
   gtk_widget_show (label);
   gtk_container_add (GTK_CONTAINER (button), label);
 
@@ -1711,48 +1594,6 @@ gtk_button_unmap (GtkWidget *widget)
 }
 
 static void
-gtk_button_update_image_spacing (GtkButton       *button,
-                                 GtkStyleContext *context)
-{
-  GtkButtonPrivate *priv = button->priv;
-  GtkWidget *child; 
-  gint spacing;
-
-  /* Keep in sync with gtk_button_construct_child,
-   * we only want to update the spacing if the box 
-   * was constructed there.
-   */
-  if (!priv->constructed || !priv->image)
-    return;
-
-  child = gtk_bin_get_child (GTK_BIN (button));
-  if (GTK_IS_ALIGNMENT (child))
-    {
-      child = gtk_bin_get_child (GTK_BIN (child));
-      if (GTK_IS_BOX (child))
-        {
-          gtk_style_context_get_style (context,
-                                       "image-spacing", &spacing,
-                                       NULL);
-
-          gtk_box_set_spacing (GTK_BOX (child), spacing);
-        }
-    }
-}
-
-static void
-gtk_button_style_updated (GtkWidget *widget)
-{
-  GtkStyleContext *context;
-
-  GTK_WIDGET_CLASS (gtk_button_parent_class)->style_updated (widget);
-
-  context = gtk_widget_get_style_context (widget);
-
-  gtk_button_update_image_spacing (GTK_BUTTON (widget), context);
-}
-
-static void
 gtk_button_size_allocate (GtkWidget     *widget,
                          GtkAllocation *allocation)
 {
@@ -2344,78 +2185,8 @@ gboolean
 gtk_button_get_focus_on_click (GtkButton *button)
 {
   g_return_val_if_fail (GTK_IS_BUTTON (button), FALSE);
-  
-  return gtk_widget_get_focus_on_click (GTK_WIDGET (button));
-}
-
-/**
- * gtk_button_set_alignment:
- * @button: a #GtkButton
- * @xalign: the horizontal position of the child, 0.0 is left aligned, 
- *   1.0 is right aligned
- * @yalign: the vertical position of the child, 0.0 is top aligned, 
- *   1.0 is bottom aligned
- *
- * Sets the alignment of the child. This property has no effect unless 
- * the child is a #GtkMisc or a #GtkAlignment.
- *
- * Since: 2.4
- *
- * Deprecated: 3.14: Access the child widget directly if you need to control
- * its alignment.
- */
-void
-gtk_button_set_alignment (GtkButton *button,
-                         gfloat     xalign,
-                         gfloat     yalign)
-{
-  GtkButtonPrivate *priv;
-
-  g_return_if_fail (GTK_IS_BUTTON (button));
-  
-  priv = button->priv;
-
-  priv->xalign = xalign;
-  priv->yalign = yalign;
-  priv->align_set = 1;
-
-  maybe_set_alignment (button, gtk_bin_get_child (GTK_BIN (button)));
 
-  g_object_freeze_notify (G_OBJECT (button));
-  g_object_notify_by_pspec (G_OBJECT (button), props[PROP_XALIGN]);
-  g_object_notify_by_pspec (G_OBJECT (button), props[PROP_YALIGN]);
-  g_object_thaw_notify (G_OBJECT (button));
-}
-
-/**
- * gtk_button_get_alignment:
- * @button: a #GtkButton
- * @xalign: (out): return location for horizontal alignment
- * @yalign: (out): return location for vertical alignment
- *
- * Gets the alignment of the child in the button.
- *
- * Since: 2.4
- *
- * Deprecated: 3.14: Access the child widget directly if you need to control
- * its alignment.
- */
-void
-gtk_button_get_alignment (GtkButton *button,
-                         gfloat    *xalign,
-                         gfloat    *yalign)
-{
-  GtkButtonPrivate *priv;
-
-  g_return_if_fail (GTK_IS_BUTTON (button));
-  
-  priv = button->priv;
- 
-  if (xalign) 
-    *xalign = priv->xalign;
-
-  if (yalign)
-    *yalign = priv->yalign;
+  return gtk_widget_get_focus_on_click (GTK_WIDGET (button));
 }
 
 static void
diff --git a/gtk/gtkbutton.h b/gtk/gtkbutton.h
index 5f01b04..b733d5c 100644
--- a/gtk/gtkbutton.h
+++ b/gtk/gtkbutton.h
@@ -139,14 +139,6 @@ void                  gtk_button_set_focus_on_click (GtkButton      *button,
                                                     gboolean        focus_on_click);
 GDK_DEPRECATED_IN_3_20_FOR(gtk_widget_get_focus_on_click)
 gboolean              gtk_button_get_focus_on_click (GtkButton      *button);
-GDK_DEPRECATED_IN_3_14
-void                  gtk_button_set_alignment      (GtkButton      *button,
-                                                    gfloat          xalign,
-                                                    gfloat          yalign);
-GDK_DEPRECATED_IN_3_14
-void                  gtk_button_get_alignment      (GtkButton      *button,
-                                                    gfloat         *xalign,
-                                                    gfloat         *yalign);
 GDK_AVAILABLE_IN_ALL
 void                  gtk_button_set_image          (GtkButton      *button,
                                                     GtkWidget      *image);
diff --git a/gtk/gtkcheckbutton.c b/gtk/gtkcheckbutton.c
index a274524..8b48463 100644
--- a/gtk/gtkcheckbutton.c
+++ b/gtk/gtkcheckbutton.c
@@ -270,10 +270,8 @@ draw_indicator_changed (GObject    *object,
   widget_node = gtk_widget_get_css_node (GTK_WIDGET (button));
   indicator_node = gtk_css_gadget_get_node (priv->indicator_gadget);
 
-G_GNUC_BEGIN_IGNORE_DEPRECATIONS
   if (gtk_toggle_button_get_mode (GTK_TOGGLE_BUTTON (button)))
     {
-      gtk_button_set_alignment (button, 0.0, 0.5);
       gtk_css_node_set_visible (indicator_node, TRUE);
       if (GTK_IS_RADIO_BUTTON (button))
         {
@@ -288,7 +286,6 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
     }
   else
     {
-      gtk_button_set_alignment (button, 0.5, 0.5);
       gtk_css_node_set_visible (indicator_node, FALSE);
       if (GTK_IS_RADIO_BUTTON (button))
         {
@@ -301,7 +298,6 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS
           gtk_css_node_set_name (widget_node, I_("button"));
         }
     }
-G_GNUC_END_IGNORE_DEPRECATIONS
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]