[gtk-css-engine] [style] Introduce the 'gtk-cell' pseudo widget.



commit aab93ad7a77f2d26355856255307f41609559734
Author: Robert Staudinger <robsta gnome org>
Date:   Tue Jun 23 14:26:34 2009 +0200

    [style] Introduce the 'gtk-cell' pseudo widget.

 src/gce-maps.c                    |   38 ++++++++++++++++++++++++++++++++++++-
 src/gce-style.c                   |   36 +++++++++++++++++-----------------
 themes/moblesse/gtk-2.0/gtkrc.css |    9 ++++++++
 3 files changed, 64 insertions(+), 19 deletions(-)
---
diff --git a/src/gce-maps.c b/src/gce-maps.c
index 1f2a145..1363f84 100644
--- a/src/gce-maps.c
+++ b/src/gce-maps.c
@@ -91,7 +91,42 @@ static char const *_gtk_icon_view__focus__details[] = { "iconview-drop-indicator
 static char const *_gtk_tree_view__focus__details[] = { "treeview-drop-indicator", 
 							"treeview-drop-indicator-left",
 							"treeview-drop-indicator-right",
-							"tree-view-drop-indicator-middle", NULL };
+							"tree-view-drop-indicator-middle",
+							NULL };
+
+static char const *_gtk_tree_view__cell__details[] = { "cell-even",
+						       "cell-even-end",
+						       "cell-even-middle",
+						       "cell-even-ruled",
+						       "cell-even-ruled-end",
+						       "cell-even-ruled-middle",
+						       "cell-even-ruled-sorted",
+						       "cell-even-ruled-sorted-end",
+						       "cell-even-ruled-sorted-middle",
+						       "cell-even-ruled-sorted-start",
+						       "cell-even-ruled-start",
+						       "cell-even-sorted",
+						       "cell-even-sorted-end",
+						       "cell-even-sorted-middle",
+						       "cell-even-sorted-start",
+						       "cell-even-start",
+						       "cell-odd",
+						       "cell-odd-end",
+						       "cell-odd-middle",
+						       "cell-odd-ruled",
+						       "cell-odd-ruled-end",
+						       "cell-odd-ruled-middle",
+						       "cell-odd-ruled-sorted",
+						       "cell-odd-ruled-sorted-end",
+						       "cell-odd-ruled-sorted-middle",
+						       "cell-odd-ruled-sorted-start",
+						       "cell-odd-ruled-start",
+						       "cell-odd-sorted",
+						       "cell-odd-sorted-end",
+						       "cell-odd-sorted-middle",
+						       "cell-odd-sorted-start",
+						       "cell-odd-start",
+						       NULL };
 
 /* TODO: add a new column that matches against parent widgets and use it for combo's dropdown button, treeview's header button etc.  */
 static const struct {
@@ -123,6 +158,7 @@ static const struct {
   { "gtk-trough",	"GtkProgressBar",		"flat-box",	-1,		_trough_detail,	NULL },
   { "gtk-radio-knob",	"GtkRadioButton",		"option",	-1,		NULL,		NULL },
   { "gtk-handle",	"GtkStatusbar",			"resize-grip",	-1,		NULL,		NULL },
+  { "gtk-cell",		"GtkTreeView",			"flat-box",	-1,		_gtk_tree_view__cell__details,	NULL },
   { "gtk-expander",	"GtkTreeView",			"expander",	-1,		NULL,		NULL },
   { "gtk-drop-indicator","GtkTreeView",			"focus",	-1,		_gtk_tree_view__focus__details, NULL },
   { "gtk-trough",	"GtkVScale",			"box",		-1,		_trough_detail,	NULL },
diff --git a/src/gce-style.c b/src/gce-style.c
index 2336958..037a1af 100644
--- a/src/gce-style.c
+++ b/src/gce-style.c
@@ -182,8 +182,8 @@ draw_hline (GtkStyle		*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "hline", -1, detail, x1, y, x2 - x1, -1);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "hline", -1, detail, x1, y, x2 - x1, -1);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget, 
@@ -211,8 +211,8 @@ draw_vline (GtkStyle		*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "vline", -1, detail, x, y1, -1, y2 - y1);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "vline", -1, detail, x, y1, -1, y2 - y1);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget, 
@@ -243,8 +243,8 @@ draw_shadow (GtkStyle		*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "shadow", shadow, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "shadow", shadow, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget, 
@@ -276,8 +276,8 @@ draw_box (GtkStyle		*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "box", shadow, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "box", shadow, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget, 
@@ -309,8 +309,8 @@ draw_flat_box (GtkStyle		*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "flat-box", shadow, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "flat-box", shadow, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget, 
@@ -342,8 +342,8 @@ draw_check (GtkStyle		*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "check", shadow, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "check", shadow, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget, 
@@ -375,8 +375,8 @@ draw_option (GtkStyle		 *self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "option", shadow, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "option", shadow, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget, 
@@ -411,8 +411,8 @@ draw_shadow_gap (GtkStyle		*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "shadow-gap", shadow, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "shadow-gap", shadow, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget, 
@@ -447,8 +447,8 @@ draw_box_gap (GtkStyle			*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "box-gap", shadow, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "box-gap", shadow, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget, 
@@ -482,8 +482,8 @@ draw_extension (GtkStyle	*self,
 	gint		 gap_width;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "extension", shadow, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "extension", shadow, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget, 
@@ -527,8 +527,8 @@ draw_slider (GtkStyle		*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "slider", shadow, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "slider", shadow, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget,
@@ -562,8 +562,8 @@ draw_handle (GtkStyle		*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "handle", shadow, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "handle", shadow, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget,
@@ -596,8 +596,8 @@ draw_resize_grip (GtkStyle		*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "resize-grip", -1, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "resize-grip", -1, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget,
@@ -627,8 +627,8 @@ draw_focus (GtkStyle		*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "focus", -1, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "focus", -1, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget,
@@ -659,8 +659,8 @@ draw_expander (GtkStyle		*self,
 	gint		 expander_size;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "expander", -1, detail, x, y, -1, -1);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "expander", -1, detail, x, y, -1, -1);
 
 	if (widget &&
 	    gtk_widget_class_find_style_property (GTK_WIDGET_GET_CLASS (widget),
@@ -702,8 +702,8 @@ draw_diamond (GtkStyle		*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "diamond", shadow, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "diamond", shadow, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget,
@@ -740,8 +740,8 @@ draw_arrow (GtkStyle		*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "arrow", shadow, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "arrow", shadow, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget,
@@ -774,8 +774,8 @@ draw_tab (GtkStyle		*self,
 	char const	*role;
 	GceNode		*node = NULL;
 
-	role = gce_maps_match_role (widget, "tab", shadow, detail, x, y, width, height);
 	detail = gce_maps_get_detail (detail);
+	role = gce_maps_match_role (widget, "tab", shadow, detail, x, y, width, height);
 
 	if (widget)
 		node = gce_node_cache_fetch_node (widget,
diff --git a/themes/moblesse/gtk-2.0/gtkrc.css b/themes/moblesse/gtk-2.0/gtkrc.css
index 8f30b85..854fb32 100644
--- a/themes/moblesse/gtk-2.0/gtkrc.css
+++ b/themes/moblesse/gtk-2.0/gtkrc.css
@@ -29,6 +29,15 @@
  * Pseudo-widgets that are implemented by the CSS engine.
  */
 
+gtk-cell {
+	background: gtk-color(base_color);
+  border-radius: 0px;
+}
+
+gtk-cell:selected {
+	background: gtk-color(selected_bg_color);
+}
+
 gtk-check-mark {
 	border: 1px solid;
 }



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