- tree_column->button = NULL;
- tree_column->xalign = 0.0;
- tree_column->width = 0;
- tree_column->requested_width = -1;
- tree_column->min_width = -1;
- tree_column->max_width = -1;
- tree_column->resized_width = 0;
- tree_column->column_type = GTK_TREE_VIEW_COLUMN_GROW_ONLY;
- tree_column->visible = TRUE;
- tree_column->resizable = FALSE;
- tree_column->expand = FALSE;
- tree_column->clickable = FALSE;
- tree_column->dirty = TRUE;
- tree_column->sort_order = GTK_SORT_ASCENDING;
- tree_column->show_sort_indicator = FALSE;
- tree_column->property_changed_signal = 0;
- tree_column->sort_clicked_signal = 0;
- tree_column->sort_column_changed_signal = 0;
- tree_column->sort_column_id = -1;
- tree_column->reorderable = FALSE;
- tree_column->maybe_reordered = FALSE;
- tree_column->fixed_width = 1;
- tree_column->use_resized_width = FALSE;
- tree_column->title = g_strdup ("");
-
- tree_column->cell_area = gtk_cell_area_box_new ();
- gtk_cell_area_set_style_detail (tree_column->cell_area, "treeview");
- tree_column->cell_area_context = gtk_cell_area_create_context (tree_column->cell_area);
+ GtkTreeViewColumnPrivate *priv;
+
+ tree_column->priv = G_TYPE_INSTANCE_GET_PRIVATE (tree_column,
+ GTK_TYPE_TREE_VIEW_COLUMN,
+ GtkTreeViewColumnPrivate);
+ priv = tree_column->priv;
+
+ priv->button = NULL;
+ priv->xalign = 0.0;
+ priv->width = 0;
+ priv->padding = -1;
+ priv->min_width = -1;
+ priv->max_width = -1;
+ priv->resized_width = 0;
+ priv->column_type = GTK_TREE_VIEW_COLUMN_GROW_ONLY;
+ priv->visible = TRUE;
+ priv->resizable = FALSE;
+ priv->expand = FALSE;
+ priv->clickable = FALSE;
+ priv->dirty = TRUE;
+ priv->sort_order = GTK_SORT_ASCENDING;
+ priv->show_sort_indicator = FALSE;
+ priv->property_changed_signal = 0;
+ priv->sort_clicked_signal = 0;
+ priv->sort_column_changed_signal = 0;
+ priv->sort_column_id = -1;
+ priv->reorderable = FALSE;
+ priv->maybe_reordered = FALSE;
+ priv->fixed_width = 1;
+ priv->use_resized_width = FALSE;
+ priv->title = g_strdup ("");
+}
+
+static GObject *
+gtk_tree_view_column_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_properties)
+{
+ GtkTreeViewColumn *tree_column;
+ GtkTreeViewColumnPrivate *priv;
+ GObject *object;
+
+ object = G_OBJECT_CLASS (gtk_tree_view_column_parent_class)->constructor
+ (type, n_construct_properties, construct_properties);
+
+ tree_column = (GtkTreeViewColumn *) object;
+ priv = tree_column->priv;
+
+ if (!priv->cell_area)
+ {
+ priv->cell_area = gtk_cell_area_box_new ();
+ g_object_ref_sink (priv->cell_area);
+ }
+
+ gtk_cell_area_set_style_detail (priv->cell_area, "treeview");
+
+ priv->add_editable_signal =
+ g_signal_connect (priv->cell_area, "add-editable",
+ G_CALLBACK (gtk_tree_view_column_add_editable_callback),
+ tree_column);
+ priv->remove_editable_signal =
+ g_signal_connect (priv->cell_area, "remove-editable",
+ G_CALLBACK (gtk_tree_view_column_remove_editable_callback),
+ tree_column);
+
+ priv->cell_area_context = gtk_cell_area_create_context (priv->cell_area);
+
+ priv->context_changed_signal =
+ g_signal_connect (priv->cell_area_context, "notify",
+ G_CALLBACK (gtk_tree_view_column_context_changed), tree_column);
+
+ return object;