[gtk-css-engine] [style] Introduce the 'gtk-cell' pseudo widget.
- From: Robert Staudinger <robsta src gnome org>
- To: svn-commits-list gnome org
- Subject: [gtk-css-engine] [style] Introduce the 'gtk-cell' pseudo widget.
- Date: Tue, 23 Jun 2009 09:38:48 -0400 (EDT)
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]