### Method

# Gtk TreeStore insert_before

#### Declaration [src]

    void
    gtk_tree_store_insert_before (
      GtkTreeStore* tree_store,
      GtkTreeIter* iter,
      GtkTreeIter* parent,
      GtkTreeIter* sibling
    )

#### Description [src]

Inserts a new row before `sibling`. If `sibling` is `NULL`, then the row will be appended to `parent` ’s children. If `parent` and `sibling` are `NULL`, then the row will be appended to the toplevel. If both `sibling` and `parent` are set, then `parent` must be the parent of `sibling`. When `sibling` is set, `parent` is optional.

`iter` will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value().

#### Parameters

`iter` | `GtkTreeIter`
| An unset `GtkTreeIter` to set to the new row.
| The argument will be set by the function.
| The data is owned by the caller of the function.
`parent` | `GtkTreeIter`
| A valid `GtkTreeIter`.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`sibling` | `GtkTreeIter`
| A valid `GtkTreeIter`.
| The argument can be `NULL`.
| The data is owned by the caller of the function.