Class Scrollable

All Implemented Interfaces:
PointerInterface

public class Scrollable extends Interface
`GtkScrollable` is an interface for widgets with native scrolling ability.

To implement this interface you should override the
[property@Gtk.Scrollable:hadjustment] and
[property@Gtk.Scrollable:vadjustment] properties.

## Creating a scrollable widget

All scrollable widgets should do the following.

- When a parent widget sets the scrollable child widget’s adjustments,
the widget should connect to the [signal@Gtk.Adjustment::value-changed]
signal. The child widget should then populate the adjustments’ properties
as soon as possible, which usually means queueing an allocation right away
and populating the properties in the [vfunc@Gtk.Widget.size_allocate]
implementation.

- Because its preferred size is the size for a fully expanded widget,
the scrollable widget must be able to cope with underallocations.
This means that it must accept any value passed to its
[vfunc@Gtk.Widget.size_allocate] implementation.

- When the parent allocates space to the scrollable child widget,
the widget must ensure the adjustments’ property values are correct and up
to date, for example using [method@Gtk.Adjustment.configure].

- When any of the adjustments emits the [signal@Gtk.Adjustment::value-changed]
signal, the scrollable widget should scroll its contents.

https://docs.gtk.org/gtk4/iface.Scrollable.html

  • Constructor Details

  • Method Details

    • getClassHandler

      public static ClassHandler getClassHandler()
    • getBorder

      public boolean getBorder(@Nonnull Border border)
      Returns the size of a non-scrolling border around the
      outside of the scrollable.

      An example for this would be treeview headers. GTK can use
      this information to display overlaid graphics, like the
      overshoot indication, at the right position.
      Parameters:
      border - return location for the results
      Returns:
      %TRUE if @border has been set
    • getHadjustment

      public Adjustment getHadjustment()
      Retrieves the `GtkAdjustment` used for horizontal scrolling.
      Returns:
      horizontal `GtkAdjustment`.
    • getHscrollPolicy

      public int getHscrollPolicy()
      Gets the horizontal `GtkScrollablePolicy`.
      Returns:
      The horizontal `GtkScrollablePolicy`.
    • getVadjustment

      public Adjustment getVadjustment()
      Retrieves the `GtkAdjustment` used for vertical scrolling.
      Returns:
      vertical `GtkAdjustment`.
    • getVscrollPolicy

      public int getVscrollPolicy()
      Gets the vertical `GtkScrollablePolicy`.
      Returns:
      The vertical `GtkScrollablePolicy`.
    • setHadjustment

      public void setHadjustment(@Nullable Adjustment hadjustment)
      Sets the horizontal adjustment of the `GtkScrollable`.
      Parameters:
      hadjustment - a `GtkAdjustment`
    • setHscrollPolicy

      public void setHscrollPolicy(int policy)
      Sets the `GtkScrollablePolicy`.

      The policy determines whether horizontal scrolling should start
      below the minimum width or below the natural width.
      Parameters:
      policy - the horizontal `GtkScrollablePolicy`
    • setVadjustment

      public void setVadjustment(@Nullable Adjustment vadjustment)
      Sets the vertical adjustment of the `GtkScrollable`.
      Parameters:
      vadjustment - a `GtkAdjustment`
    • setVscrollPolicy

      public void setVscrollPolicy(int policy)
      Sets the `GtkScrollablePolicy`.

      The policy determines whether vertical scrolling should start
      below the minimum height or below the natural height.
      Parameters:
      policy - the vertical `GtkScrollablePolicy`
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()