gtk-css-engine r74 - in branches/bzr: . src themes/gtk-css-test/gtk-2.0
- From: robsta svn gnome org
- To: svn-commits-list gnome org
- Subject: gtk-css-engine r74 - in branches/bzr: . src themes/gtk-css-test/gtk-2.0
- Date: Fri, 5 Sep 2008 11:33:48 +0000 (UTC)
Author: robsta
Date: Fri Sep 5 11:33:48 2008
New Revision: 74
URL: http://svn.gnome.org/viewvc/gtk-css-engine?rev=74&view=rev
Log:
Fix generic querying querying of properties
Modified:
branches/bzr/ (props changed)
branches/bzr/src/gce-node.c
branches/bzr/src/gce-theme.c
branches/bzr/themes/gtk-css-test/gtk-2.0/styles.css
Modified: branches/bzr/src/gce-node.c
==============================================================================
--- branches/bzr/src/gce-node.c (original)
+++ branches/bzr/src/gce-node.c Fri Sep 5 11:33:48 2008
@@ -230,7 +230,7 @@
get_attribute (GceNode const *node,
char const *name)
{
- GValue property;
+ GValue property = { 0, };
char const *value;
g_assert (node && node->widget);
@@ -252,18 +252,17 @@
}
/* now try to find an apropriate style property */
- g_value_unset (&property);
+ /* TODO investigate that lifecycle of `value' is ok. */
+ g_value_init (&property, G_TYPE_STRING);
+
gtk_widget_style_get_property (node->widget, name, &property);
- value = NULL;
- if (G_VALUE_HOLDS (&property, G_TYPE_BOOLEAN)) {
- value = g_value_get_boolean (&property) ? "true" : "false";
- } else if (G_VALUE_HOLDS (&property, G_TYPE_STRING)) {
- value = g_value_get_string (&property);
- } else {
- g_warning ("Querying for properties of type `%s' is not supported yet.",
- G_VALUE_TYPE_NAME (&property));
+ value = g_value_get_string (&property);
+ if (value) {
+ return value;
}
+ g_object_get_property (G_OBJECT (node->widget), name, &property);
+ value = g_value_get_string (&property);
return value;
}
Modified: branches/bzr/src/gce-theme.c
==============================================================================
--- branches/bzr/src/gce-theme.c (original)
+++ branches/bzr/src/gce-theme.c Fri Sep 5 11:33:48 2008
@@ -32,6 +32,17 @@
G_MODULE_EXPORT GtkRcStyle * theme_create_rc_style (void);
G_MODULE_EXPORT const gchar * g_module_check_init (GModule *module);
+static void
+transform_boolean_string (const GValue *src,
+ GValue *dst)
+{
+ if (g_value_get_boolean (src)) {
+ g_value_set_static_string (dst, "true");
+ } else {
+ g_value_set_static_string (dst, "false");
+ }
+}
+
G_MODULE_EXPORT void
theme_init (GTypeModule *module)
{
@@ -44,6 +55,9 @@
node_class = gce_node_get_class ();
vtable = gce_functions_get_vtable ();
ccd_init (node_class, vtable);
+
+ g_value_register_transform_func (G_TYPE_BOOLEAN, G_TYPE_STRING,
+ transform_boolean_string);
}
G_MODULE_EXPORT void
Modified: branches/bzr/themes/gtk-css-test/gtk-2.0/styles.css
==============================================================================
--- branches/bzr/themes/gtk-css-test/gtk-2.0/styles.css (original)
+++ branches/bzr/themes/gtk-css-test/gtk-2.0/styles.css Fri Sep 5 11:33:48 2008
@@ -1,4 +1,4 @@
-
+/*
arrow[orientation=up] {
background-image: url(arrow-up.png);
}
@@ -20,7 +20,7 @@
}
option {
- background-color: red;
+ background-image: url(arrow-down.png);
}
check {
@@ -101,4 +101,8 @@
GtkProgressBar:prelight {
background-color: yellow;
}
+*/
+check[active=true] {
+ background-image: url(foo.svg);
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]