+
+
+/**
+ * SECTION:gtktreestore
+ * @Short_description: A tree-like data structure that can be used with the GtkTreeView
+ * @Title: GtkTreeStore
+ * @See_also: #GtkTreeModel
+ *
+ * The #GtkTreeStore object is a list model for use with a #GtkTreeView
+ * widget. It implements the #GtkTreeModel interface, and consequentialy,
+ * can use all of the methods available there. It also implements the
+ * #GtkTreeSortable interface so it can be sorted by the view. Finally,
+ * it also implements the tree <link linkend="gtktreednd">drag and
+ * drop</link> interfaces.
+ *
+ * <refsect2 id="GtkTreeStore-BUILDER-UI">
+ * <title>GtkTreeStore as GtkBuildable</title>
+ * The GtkTreeStore implementation of the #GtkBuildable interface allows
+ * to specify the model columns with a <columns> element that may
+ * contain multiple <column> elements, each specifying one model
+ * column. The "type" attribute specifies the data type for the column.
+ * <example>
+ * <title>A UI Definition fragment for a tree store</title>
+ * <programlisting><![CDATA[
+ * <object class="GtkTreeStore">
+ * <columns>
+ * <column type="gchararray"/>
+ * <column type="gchararray"/>
+ * <column type="gint"/>
+ * </columns>
+ * </object>
+ * ]]></programlisting>
+ * </example>
+ * </refsect2>
+ */
+
+struct _GtkTreeStorePrivate
+{
+ gint stamp;
+ gpointer root;
+ gpointer last;
+ gint n_columns;
+ gint sort_column_id;
+ GList *sort_list;
+ GtkSortType order;
+ GType *column_headers;
+ GtkTreeIterCompareFunc default_sort_func;
+ gpointer default_sort_data;
+ GDestroyNotify default_sort_destroy;
+ guint columns_dirty : 1;
+};
+