### Signal

# Gtk TreeView::move-cursor

since: 4.0

#### Declaration

    gboolean
    move_cursor (
      GtkTreeView* self,
      GtkMovementStep* step,
      gint direction,
      gboolean extend,
      gboolean modify,
      gpointer user_data
    )

#### Description [src]

The `GtkTreeView`::move-cursor signal is a [keybinding signal]`GtkSignalAction` which gets emitted when the user presses one of the cursor keys.

Applications should not connect to it, but may emit it with `g_signal_emit_by_name()` if they need to control the cursor programmatically. In contrast to `gtk_tree_view_set_cursor()` and `gtk_tree_view_set_cursor_on_cell()` when moving horizontally `GtkTreeView`::move-cursor does not reset the current selection.

Default handler: The default handler is called after the handlers added via `g_signal_connect()`.
Signal can be directly emitted on objects from user code
Available since: 4.0

#### Parameters

`step`

  Type: `GtkMovementStep`

  The granularity of the move, as a `GtkMovementStep`. `GTK_MOVEMENT_LOGICAL_POSITIONS`, `GTK_MOVEMENT_VISUAL_POSITIONS`, `GTK_MOVEMENT_DISPLAY_LINES`, `GTK_MOVEMENT_PAGES` and `GTK_MOVEMENT_BUFFER_ENDS` are supported. `GTK_MOVEMENT_LOGICAL_POSITIONS` and `GTK_MOVEMENT_VISUAL_POSITIONS` are treated identically.

  The data is owned by the caller of the function.

`direction`

  Type: `gint`

  The direction to move: +1 to move forwards; -1 to move backwards. The resulting movement is undefined for all other values.

`extend`

  Type: `gboolean`

  Whether to extend the selection.

`modify`

  Type: `gboolean`

  Whether to modify the selection.

#### Return value

Type: `gboolean`

`TRUE` if `step` is supported, `FALSE` otherwise.