Skip to content

Gtk.TreeRowReference

record (struct)

:::warning Deprecated since 4.10 This API is deprecated. :::

A GtkTreeRowReference tracks model changes so that it always refers to the same row (a GtkTreePath refers to a position, not a fixed row). Create a new GtkTreeRowReference with TreeRowReference.new.

Constructors

new

@classmethod
def new(cls, model: TreeModel, path: TreePath) -> TreeRowReference | None

:::warning Deprecated since 4.10 This API is deprecated. :::

Creates a row reference based on path.

This reference will keep pointing to the node pointed to by path, so long as it exists. Any changes that occur on model are propagated, and the path is updated appropriately. If path isn’t a valid path in model, then None is returned.

Parameters:

  • model — a GtkTreeModel
  • path — a valid GtkTreePath to monitor

new_proxy

@classmethod
def new_proxy(cls, proxy: GObject.Object, model: TreeModel, path: TreePath) -> TreeRowReference | None

:::warning Deprecated since 4.10 This API is deprecated. :::

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 None is returned. However, unlike references created with TreeRowReference.new, it does not listen to the model for changes. The creator of the row reference must do this explicitly using TreeRowReference.inserted, TreeRowReference.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 — a proxy GObject
  • model — a GtkTreeModel
  • path — a valid GtkTreePath to monitor

Methods

copy

def copy(self) -> TreeRowReference

:::warning Deprecated since 4.10 This API is deprecated. :::

Copies a GtkTreeRowReference.

free

def free(self) -> None

:::warning Deprecated since 4.10 This API is deprecated. :::

Free’s reference. reference may be None

get_model

def get_model(self) -> TreeModel

:::warning Deprecated since 4.10 This API is deprecated. :::

Returns the model that the row reference is monitoring.

get_path

def get_path(self) -> TreePath | None

:::warning Deprecated since 4.10 This API is deprecated. :::

Returns a path that the row reference currently points to, or None if the path pointed to is no longer valid.

valid

def valid(self) -> bool

:::warning Deprecated since 4.10 This API is deprecated. :::

Returns True if the reference is non-None and refers to a current valid path.

Static functions

deleted

@staticmethod
def deleted(proxy: GObject.Object, path: TreePath) -> None

:::warning Deprecated since 4.10 This API is deprecated. :::

Lets a set of row reference created by TreeRowReference.new_proxy know that the model emitted the ::row-deleted signal.

Parameters:

  • proxy — a GObject
  • path — the path position that was deleted

inserted

@staticmethod
def inserted(proxy: GObject.Object, path: TreePath) -> None

:::warning Deprecated since 4.10 This API is deprecated. :::

Lets a set of row reference created by TreeRowReference.new_proxy know that the model emitted the ::row-inserted signal.

Parameters:

  • proxy — a GObject
  • path — the row position that was inserted