[gtk+/gtk-style-context: 13/206] GtkStyleSet: Add method to register border property.



commit 2d1c9090547cdfb6cb4f682b43320607fd97fc3b
Author: Carlos Garnacho <carlosg gnome org>
Date:   Sun Mar 7 19:57:53 2010 +0100

    GtkStyleSet: Add method to register border property.

 gtk/gtkstyleset.c |   20 ++++++++++++++++++++
 gtk/gtkstyleset.h |    5 +++++
 2 files changed, 25 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkstyleset.c b/gtk/gtkstyleset.c
index 6ac5442..c26eb3c 100644
--- a/gtk/gtkstyleset.c
+++ b/gtk/gtkstyleset.c
@@ -69,6 +69,7 @@ gtk_style_set_class_init (GtkStyleSetClass *klass)
   GdkColor black = { 0, 0, 0, 0 };
   GdkColor white = { 0, 65535, 65535, 65535 };
   PangoFontDescription *font_desc;
+  GtkBorder padding = { 0 };
 
   object_class->finalize = gtk_style_set_finalize;
 
@@ -82,6 +83,8 @@ gtk_style_set_class_init (GtkStyleSetClass *klass)
   gtk_style_set_register_property_font ("font", font_desc);
   pango_font_description_free (font_desc);
 
+  gtk_style_set_register_property_border ("padding", &padding);
+
   g_type_class_add_private (object_class, sizeof (GtkStyleSetPrivate));
 }
 
@@ -250,6 +253,23 @@ gtk_style_set_register_property_font (const gchar          *property_name,
 }
 
 void
+gtk_style_set_register_property_border (const gchar *property_name,
+                                        GtkBorder   *initial_value)
+{
+  GValue value = { 0 };
+
+  g_return_if_fail (property_name != NULL);
+  g_return_if_fail (initial_value != NULL);
+
+  g_value_init (&value, GTK_TYPE_BORDER);
+  g_value_set_boxed (&value, initial_value);
+
+  gtk_style_set_register_property (property_name, GTK_TYPE_BORDER, &value);
+
+  g_value_unset (&value);
+}
+
+void
 gtk_style_set_register_property_int (const gchar *property_name,
                                      gint         initial_value)
 {
diff --git a/gtk/gtkstyleset.h b/gtk/gtkstyleset.h
index 986fdb0..ff1b859 100644
--- a/gtk/gtkstyleset.h
+++ b/gtk/gtkstyleset.h
@@ -24,6 +24,9 @@
 #include <gdk/gdk.h>
 #include "gtkenums.h"
 
+/* GtkBorder is defined there */
+#include "gtkstyle.h"
+
 G_BEGIN_DECLS
 
 #define GTK_TYPE_STYLE_SET         (gtk_style_set_get_type ())
@@ -57,6 +60,8 @@ void gtk_style_set_register_property_color  (const gchar *property_name,
                                              GdkColor    *default_value);
 void gtk_style_set_register_property_font   (const gchar          *property_name,
                                              PangoFontDescription *initial_value);
+void gtk_style_set_register_property_border (const gchar *property_name,
+                                             GtkBorder   *initial_value);
 void gtk_style_set_register_property_int    (const gchar *property_name,
                                              gint         default_value);
 void gtk_style_set_register_property_uint   (const gchar *property_name,



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