Gtk.TreeRowReference.new_proxy
Description: Reference for Gtk.TreeRowReference.new_proxy

### Function

# Gtk TreeRowReferencenew_proxy

#### Declaration [src]

    GtkTreeRowReference*
    gtk_tree_row_reference_new_proxy (
      GObject* proxy,
      GtkTreeModel* model,
      GtkTreePath* path
    )

#### Description [src]

You do not need to use this function.

Creates a row reference based on `path`.

This reference will keep pointing to the node pointed to by `path`, so long as it exists. If `path` isn’t a valid path in `model`, then `NULL` is returned. However, unlike references created with gtk_tree_row_reference_new(), it does not listen to the model for changes. The creator of the row reference must do this explicitly using gtk_tree_row_reference_inserted(), gtk_tree_row_reference_deleted(), gtk_tree_row_reference_reordered().

These functions must be called exactly once per proxy when the corresponding signal on the model is emitted. This single call updates all row references for that proxy. Since built-in GTK objects like `GtkTreeView` already use this mechanism internally, using them as the proxy object will produce unpredictable results. Further more, passing the same object as `model` and `proxy` doesn’t work for reasons of internal implementation.

This type of row reference is primarily meant by structures that need to carefully monitor exactly when a row reference updates itself, and is not generally needed by most applications.

#### Parameters

`proxy` | `GObject`
| A proxy `GObject`
| The data is owned by the caller of the function.
`model` | `GtkTreeModel`
| A `GtkTreeModel`
| The data is owned by the caller of the function.
`path` | `GtkTreePath`
| A valid `GtkTreePath` to monitor.
| The data is owned by the caller of the function.

#### Return value

Returns: | `GtkTreeRowReference`
| A newly allocated `GtkTreeRowReference`
| The caller of the function takes ownership of the data, and is responsible for freeing it.
| The return value can be `NULL`.