[gtk+/wip/listbox] GtkListBox: Add style classes for lists and rows



commit 3a128a68b28271d3f19c801514c1fb8994c5f6f1
Author: Alexander Larsson <alexl redhat com>
Date:   Wed Jun 12 12:00:11 2013 +0200

    GtkListBox: Add style classes for lists and rows

 gtk/gtklistbox.c      |    8 ++++++++
 gtk/gtkstylecontext.h |   18 ++++++++++++++++++
 2 files changed, 26 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtklistbox.c b/gtk/gtklistbox.c
index 0c8574f..1ec1891 100644
--- a/gtk/gtklistbox.c
+++ b/gtk/gtklistbox.c
@@ -221,6 +221,7 @@ static void
 gtk_list_box_init (GtkListBox *list_box)
 {
   GtkListBoxPrivate *priv;
+  GtkStyleContext *context;
 
   list_box->priv = priv =
     G_TYPE_INSTANCE_GET_PRIVATE (list_box, GTK_TYPE_LIST_BOX, GtkListBoxPrivate);
@@ -232,6 +233,9 @@ gtk_list_box_init (GtkListBox *list_box)
 
   priv->children = g_sequence_new (NULL);
   priv->header_hash = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, NULL);
+
+  context = gtk_widget_get_style_context (GTK_WIDGET (list_box));
+  gtk_style_context_add_class (context, GTK_STYLE_CLASS_LIST);
 }
 
 static void
@@ -2208,12 +2212,16 @@ static void
 gtk_list_box_row_init (GtkListBoxRow *row)
 {
   GtkListBoxRowPrivate *priv;
+  GtkStyleContext *context;
 
   row->priv = priv =
     G_TYPE_INSTANCE_GET_PRIVATE (row, GTK_TYPE_LIST_BOX_ROW, GtkListBoxRowPrivate);
 
   gtk_widget_set_can_focus (GTK_WIDGET (row), TRUE);
   gtk_widget_set_redraw_on_allocate (GTK_WIDGET (row), TRUE);
+
+  context = gtk_widget_get_style_context (GTK_WIDGET (row));
+  gtk_style_context_add_class (context, GTK_STYLE_CLASS_LIST_ROW);
 }
 
 static void
diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h
index 26709a1..85ebf20 100644
--- a/gtk/gtkstylecontext.h
+++ b/gtk/gtkstylecontext.h
@@ -197,6 +197,24 @@ struct _GtkStyleContextClass
 #define GTK_STYLE_CLASS_BUTTON "button"
 
 /**
+ * GTK_STYLE_CLASS_LIST:
+ *
+ * A CSS class to match lists.
+ *
+ * This is used by #GtkListBox.
+ */
+#define GTK_STYLE_CLASS_LIST "list"
+
+/**
+ * GTK_STYLE_CLASS_LIST_ROW:
+ *
+ * A CSS class to match list rowss.
+ *
+ * This is used by #GtkListBoxRow.
+ */
+#define GTK_STYLE_CLASS_LIST_ROW "list-row"
+
+/**
  * GTK_STYLE_CLASS_CALENDAR:
  *
  * A CSS class to match calendars.


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