### Class

# Gtk Viewport

#### Description [src]

    final class Gtk.Viewport : Gtk.Widget {
      /* No available fields */
    }

`GtkViewport` implements scrollability for widgets that lack their own scrolling capabilities.

Use `GtkViewport` to scroll child widgets such as `GtkGrid`, `GtkBox`, and so on.

The `GtkViewport` will start scrolling content only if allocated less than the child widget’s minimum size in a given orientation.

# CSS nodes

`GtkViewport` has a single CSS node with name `viewport`.

# Accessibility

`GtkViewport` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.

#### Hierarchy

#### Ancestors

- GtkWidget
- GInitiallyUnowned
- GObject

#### Implements

- GtkAccessible
- GtkBuildable
- GtkConstraintTarget
- GtkScrollable

#### Constructors

###### gtk_viewport_new

Creates a new `GtkViewport`.

#### Instance methods

###### gtk_viewport_get_child

Gets the child widget of `viewport`.

###### gtk_viewport_get_scroll_to_focus

Gets whether the viewport is scrolling to keep the focused child in view.

###### gtk_viewport_set_child

Sets the child widget of `viewport`.

###### gtk_viewport_set_scroll_to_focus

Sets whether the viewport should automatically scroll to keep the focused child in view.

##### Methods inherited from GtkWidget (159)

##### Methods inherited from GtkAccessible (10)

###### gtk_accessible_get_accessible_role

Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.

###### gtk_accessible_reset_property

Resets the accessible `property` to its default value.

###### gtk_accessible_reset_relation

Resets the accessible `relation` to its default value.

###### gtk_accessible_reset_state

Resets the accessible `state` to its default value.

###### gtk_accessible_update_property

Updates a list of accessible properties.

###### gtk_accessible_update_property_value

Updates an array of accessible properties.

###### gtk_accessible_update_relation

Updates a list of accessible relations.

###### gtk_accessible_update_relation_value

Updates an array of accessible relations.

###### gtk_accessible_update_state

Updates a list of accessible states. See the `GtkAccessibleState` documentation for the value types of accessible states.

###### gtk_accessible_update_state_value

Updates an array of accessible states.

##### Methods inherited from GtkBuildable (1)

###### gtk_buildable_get_buildable_id

Gets the ID of the `buildable` object.

##### Methods inherited from GtkScrollable (9)

###### gtk_scrollable_get_border

Returns the size of a non-scrolling border around the outside of the scrollable.

###### gtk_scrollable_get_hadjustment

Retrieves the `GtkAdjustment` used for horizontal scrolling.

###### gtk_scrollable_get_hscroll_policy

Gets the horizontal `GtkScrollablePolicy`.

###### gtk_scrollable_get_vadjustment

Retrieves the `GtkAdjustment` used for vertical scrolling.

###### gtk_scrollable_get_vscroll_policy

Gets the vertical `GtkScrollablePolicy`.

###### gtk_scrollable_set_hadjustment

Sets the horizontal adjustment of the `GtkScrollable`.

###### gtk_scrollable_set_hscroll_policy

Sets the `GtkScrollablePolicy`.

###### gtk_scrollable_set_vadjustment

Sets the vertical adjustment of the `GtkScrollable`.

###### gtk_scrollable_set_vscroll_policy

Sets the `GtkScrollablePolicy`.

#### Properties

###### Gtk.Viewport:child

The child widget.

###### Gtk.Viewport:scroll-to-focus

Whether to scroll when the focus changes.

##### Properties inherited from GtkWidget (34)

###### Gtk.Widget:can-focus

Whether the widget or any of its descendents can accept the input focus.

###### Gtk.Widget:can-target

Whether the widget can receive pointer events.

###### Gtk.Widget:css-classes

A list of css classes applied to this widget.

###### Gtk.Widget:css-name

The name of this widget in the CSS tree.

###### Gtk.Widget:cursor

The cursor used by `widget`.

###### Gtk.Widget:focus-on-click

Whether the widget should grab focus when it is clicked with the mouse.

###### Gtk.Widget:focusable

Whether this widget itself will accept the input focus.

###### Gtk.Widget:halign

How to distribute horizontal space if widget gets extra space.

###### Gtk.Widget:has-default

Whether the widget is the default widget.

###### Gtk.Widget:has-focus

Whether the widget has the input focus.

###### Gtk.Widget:has-tooltip

Enables or disables the emission of the ::query-tooltip signal on `widget`.

###### Gtk.Widget:height-request

Override for height request of the widget.

###### Gtk.Widget:hexpand

Whether to expand horizontally.

###### Gtk.Widget:hexpand-set

Whether to use the `hexpand` property.

###### Gtk.Widget:layout-manager

The `GtkLayoutManager` instance to use to compute the preferred size of the widget, and allocate its children.

###### Gtk.Widget:margin-bottom

Margin on bottom side of widget.

###### Gtk.Widget:margin-end

Margin on end of widget, horizontally.

###### Gtk.Widget:margin-start

Margin on start of widget, horizontally.

###### Gtk.Widget:margin-top

Margin on top side of widget.

###### Gtk.Widget:name

The name of the widget.

###### Gtk.Widget:opacity

The requested opacity of the widget.

###### Gtk.Widget:overflow

How content outside the widget’s content area is treated.

###### Gtk.Widget:parent

The parent widget of this widget.

###### Gtk.Widget:receives-default

Whether the widget will receive the default action when it is focused.

###### Gtk.Widget:root

The `GtkRoot` widget of the widget tree containing this widget.

###### Gtk.Widget:scale-factor

The scale factor of the widget.

###### Gtk.Widget:sensitive

Whether the widget responds to input.

###### Gtk.Widget:tooltip-markup

Sets the text of tooltip to be the given string, which is marked up with Pango markup.

###### Gtk.Widget:tooltip-text

Sets the text of tooltip to be the given string.

###### Gtk.Widget:valign

How to distribute vertical space if widget gets extra space.

###### Gtk.Widget:vexpand

Whether to expand vertically.

###### Gtk.Widget:vexpand-set

Whether to use the `vexpand` property.

###### Gtk.Widget:visible

Whether the widget is visible.

###### Gtk.Widget:width-request

Override for width request of the widget.

##### Properties inherited from GtkAccessible (1)

###### Gtk.Accessible:accessible-role

The accessible role of the given `GtkAccessible` implementation.

##### Properties inherited from GtkScrollable (4)

###### Gtk.Scrollable:hadjustment

Horizontal `GtkAdjustment` of the scrollable widget.

###### Gtk.Scrollable:hscroll-policy

Determines when horizontal scrolling should start.

###### Gtk.Scrollable:vadjustment

Vertical `GtkAdjustment` of the scrollable widget.

###### Gtk.Scrollable:vscroll-policy

Determines when vertical scrolling should start.