### Method

# Gtk TreeStoreinsert_with_values

deprecated: 4.10

#### Declaration [src]

    void
    gtk_tree_store_insert_with_values (
      GtkTreeStore* tree_store,
      GtkTreeIter* iter,
      GtkTreeIter* parent,
      int position,
      ...
    )

#### Description [src]

Creates a new row at the given `position`.

The `iter` parameter will be changed to point to this new row.

If `position` is -1, or larger than the number of rows on the list, then the new row will be appended to the list. The row will be filled with the values given to this function.

Calling

    gtk_tree_store_insert_with_values (tree_store, iter, position, ...)

has the same effect as calling

    gtk_tree_store_insert (tree_store, iter, position);
    gtk_tree_store_set (tree_store, iter, ...);

with the different that the former will only emit a row_inserted signal, while the latter will emit row_inserted, row_changed and if the tree store is sorted, rows_reordered.

Since emitting the rows_reordered signal repeatedly can affect the performance of the program, `gtk_tree_store_insert_with_values()` should generally be preferred when inserting rows in a sorted tree store.

Deprecated since: 4.10

Use `GtkTreeListModel` instead.

This method is not directly available to language bindings.

The implementation of this method is provided by `gtk_tree_store_insert_with_valuesv()` in language bindings

#### Parameters

`iter`

  Type: `GtkTreeIter`

  An unset `GtkTreeIter` to set the new row.

  The argument will be set by the function.
  The argument can be `NULL`.
  The data is owned by the instance.

`parent`

  Type: `GtkTreeIter`

  A valid `GtkTreeIter`

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`position`

  Type: `int`

  Position to insert the new row, or -1 to append after existing rows.

`...`

  Type: ``

  Pairs of column number and value, terminated with -1