static void gtk_color_swatch_init (GtkColorSwatch *swatch) { GtkCssNode *widget_node; GtkStyleContext *context; swatch->priv = gtk_color_swatch_get_instance_private (swatch); swatch->priv->use_alpha = TRUE; swatch->priv->selectable = TRUE; swatch->priv->has_menu = TRUE; gtk_widget_set_can_focus (GTK_WIDGET (swatch), TRUE); gtk_widget_set_has_window (GTK_WIDGET (swatch), FALSE); swatch->priv->long_press_gesture = gtk_gesture_long_press_new (GTK_WIDGET (swatch)); gtk_gesture_single_set_touch_only (GTK_GESTURE_SINGLE (swatch->priv->long_press_gesture), TRUE); g_signal_connect (swatch->priv->long_press_gesture, "pressed", G_CALLBACK (hold_action), swatch); swatch->priv->multipress_gesture = gtk_gesture_multi_press_new (GTK_WIDGET (swatch)); gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (swatch->priv->multipress_gesture), 0); g_signal_connect (swatch->priv->multipress_gesture, "pressed", G_CALLBACK (tap_action), swatch); widget_node = gtk_widget_get_css_node (GTK_WIDGET (swatch)); swatch->priv->overlay_node = gtk_css_node_new (); gtk_css_node_set_name (swatch->priv->overlay_node, I_("overlay")); gtk_css_node_set_parent (swatch->priv->overlay_node, widget_node); gtk_css_node_set_state (swatch->priv->overlay_node, gtk_css_node_get_state (widget_node)); g_object_unref (swatch->priv->overlay_node); context = gtk_widget_get_style_context (GTK_WIDGET (swatch)); gtk_style_context_add_class (context, "activatable"); }
static void gtk_css_node_dispose (GObject *object) { GtkCssNode *cssnode = GTK_CSS_NODE (object); while (cssnode->first_child) { gtk_css_node_set_parent (cssnode->first_child, NULL); } gtk_css_node_set_invalid (cssnode, FALSE); G_OBJECT_CLASS (gtk_css_node_parent_class)->dispose (object); }
static void gtk_check_menu_item_init (GtkCheckMenuItem *check_menu_item) { GtkCheckMenuItemPrivate *priv; GtkCssNode *widget_node; priv = check_menu_item->priv = gtk_check_menu_item_get_instance_private (check_menu_item); priv->active = FALSE; widget_node = gtk_widget_get_css_node (GTK_WIDGET (check_menu_item)); priv->indicator_node = gtk_css_node_new (); gtk_css_node_set_name (priv->indicator_node, I_("check")); gtk_css_node_set_parent (priv->indicator_node, widget_node); gtk_css_node_set_state (priv->indicator_node, gtk_css_node_get_state (widget_node)); g_signal_connect_object (priv->indicator_node, "style-changed", G_CALLBACK (node_style_changed_cb), check_menu_item, 0); g_object_unref (priv->indicator_node); }
static void update_block_nodes (GtkLevelBar *self) { GtkLevelBarPrivate *priv = self->priv; guint n_blocks; guint i; if (priv->bar_mode == GTK_LEVEL_BAR_MODE_CONTINUOUS) n_blocks = 2; else n_blocks = MAX (1, (gint) (round (priv->max_value) - round (priv->min_value))); if (priv->n_blocks == n_blocks) return; else if (n_blocks < priv->n_blocks) { for (i = n_blocks; i < priv->n_blocks; i++) gtk_css_node_set_parent (priv->block_node[i], NULL); priv->block_node = g_renew (GtkCssNode*, priv->block_node, n_blocks); priv->n_blocks = n_blocks; } else {
static void update_block_nodes (GtkLevelBar *self) { GtkLevelBarPrivate *priv = self->priv; GtkCssNode *trough_node = gtk_css_gadget_get_node (priv->trough_gadget); guint n_blocks; guint i; n_blocks = gtk_level_bar_get_num_block_nodes (self); if (priv->n_blocks == n_blocks) return; else if (n_blocks < priv->n_blocks) { for (i = n_blocks; i < priv->n_blocks; i++) { gtk_css_node_set_parent (gtk_css_gadget_get_node (priv->block_gadget[i]), NULL); g_clear_object (&priv->block_gadget[i]); } priv->block_gadget = g_renew (GtkCssGadget*, priv->block_gadget, n_blocks); priv->n_blocks = n_blocks; } else {