示例#1
0
static void
gtk_css_node_set_property (GObject      *object,
                           guint         property_id,
                           const GValue *value,
                           GParamSpec   *pspec)
{
    GtkCssNode *cssnode = GTK_CSS_NODE (object);

    switch (property_id)
    {
    case PROP_CLASSES:
        gtk_css_node_set_classes (cssnode, g_value_get_boxed (value));
        break;

    case PROP_ID:
        gtk_css_node_set_id (cssnode, g_value_get_string (value));
        break;

    case PROP_STATE:
        gtk_css_node_set_state (cssnode, g_value_get_flags (value));
        break;

    case PROP_VISIBLE:
        gtk_css_node_set_visible (cssnode, g_value_get_boolean (value));
        break;

    case PROP_WIDGET_TYPE:
        gtk_css_node_set_widget_type (cssnode, g_value_get_gtype (value));
        break;

    default:
        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
    }
}
示例#2
0
GtkCssNode *
gtk_css_widget_node_new (GtkWidget *widget)
{
  GtkCssWidgetNode *result;

  gtk_internal_return_val_if_fail (GTK_IS_WIDGET (widget), NULL);

  result = g_object_new (GTK_TYPE_CSS_WIDGET_NODE, NULL);
  result->widget = widget;
  gtk_css_node_set_visible (GTK_CSS_NODE (result),
                            gtk_widget_get_visible (widget));

  return GTK_CSS_NODE (result);
}