GtkScrollable

GtkScrollable — An interface for scrollable widgets

Synopsis

#include <gtk/gtk.h>

                    GtkScrollable;
GtkAdjustment *     gtk_scrollable_get_hadjustment      (GtkScrollable *scrollable);
void                gtk_scrollable_set_hadjustment      (GtkScrollable *scrollable,
                                                         GtkAdjustment *hadjustment);
GtkAdjustment *     gtk_scrollable_get_vadjustment      (GtkScrollable *scrollable);
void                gtk_scrollable_set_vadjustment      (GtkScrollable *scrollable,
                                                         GtkAdjustment *vadjustment);
enum                GtkScrollablePolicy;
GtkScrollablePolicy  gtk_scrollable_get_hscroll_policy  (GtkScrollable *scrollable);
void                gtk_scrollable_set_hscroll_policy   (GtkScrollable *scrollable,
                                                         GtkScrollablePolicy policy);
GtkScrollablePolicy  gtk_scrollable_get_vscroll_policy  (GtkScrollable *scrollable);
void                gtk_scrollable_set_vscroll_policy   (GtkScrollable *scrollable,
                                                         GtkScrollablePolicy policy);

Object Hierarchy

  GInterface
   +----GtkScrollable

Prerequisites

GtkScrollable requires GObject.

Known Implementations

GtkScrollable is implemented by GtkIconView, GtkLayout, GtkTextView, GtkToolPalette, GtkTreeView and GtkViewport.

Properties

  "hadjustment"              GtkAdjustment*        : Read / Write / Construct
  "hscroll-policy"           GtkScrollablePolicy   : Read / Write
  "vadjustment"              GtkAdjustment*        : Read / Write / Construct
  "vscroll-policy"           GtkScrollablePolicy   : Read / Write

Description

GtkScrollable is an interface that is implemented by widgets with native scrolling ability.

To implement this interface you should override the "hadjustment" and "vadjustment" properties.

Creating a scrollable widget

All scrollable widgets should do the following.

  1. When a parent widget sets the scrollable child widget's adjustments, the widget should populate the adjustments' "lower", "upper", "step-increment", "page-increment" and "page-size" properties and connect to the "value-changed" signal.

  2. When the parent allocates space to the scrollable child widget, the widget should update the adjustments' properties with new values.

  3. When any of the adjustments emits the "value-changed" signal, the scrollable widget should scroll its contents.

Details

GtkScrollable

typedef struct _GtkScrollable GtkScrollable;


gtk_scrollable_get_hadjustment ()

GtkAdjustment *     gtk_scrollable_get_hadjustment      (GtkScrollable *scrollable);

Retrieves the GtkAdjustment used for horizontal scrolling.

scrollable :

a GtkScrollable

Returns :

horizontal GtkAdjustment. [transfer none]

Since 3.0


gtk_scrollable_set_hadjustment ()

void                gtk_scrollable_set_hadjustment      (GtkScrollable *scrollable,
                                                         GtkAdjustment *hadjustment);

Sets the horizontal adjustment of the GtkScrollable.

scrollable :

a GtkScrollable

hadjustment :

a GtkAdjustment. [allow-none]

Since 3.0


gtk_scrollable_get_vadjustment ()

GtkAdjustment *     gtk_scrollable_get_vadjustment      (GtkScrollable *scrollable);

Retrieves the GtkAdjustment used for vertical scrolling.

scrollable :

a GtkScrollable

Returns :

vertical GtkAdjustment. [transfer none]

Since 3.0


gtk_scrollable_set_vadjustment ()

void                gtk_scrollable_set_vadjustment      (GtkScrollable *scrollable,
                                                         GtkAdjustment *vadjustment);

Sets the vertical adjustment of the GtkScrollable.

scrollable :

a GtkScrollable

vadjustment :

a GtkAdjustment. [allow-none]

Since 3.0


enum GtkScrollablePolicy

typedef enum
{
  GTK_SCROLL_MINIMUM = 0,
  GTK_SCROLL_NATURAL
} GtkScrollablePolicy;

Defines the policy to be used in a scrollable widget when updating the scrolled window adjustments in a given orientation.

GTK_SCROLL_MINIMUM

Scrollable adjustments are based on the minimum size

GTK_SCROLL_NATURAL

Scrollable adjustments are based on the natural size

gtk_scrollable_get_hscroll_policy ()

GtkScrollablePolicy  gtk_scrollable_get_hscroll_policy  (GtkScrollable *scrollable);

Gets the horizontal GtkScrollablePolicy.

scrollable :

a GtkScrollable

Returns :

The horizontal GtkScrollablePolicy.

Since 3.0


gtk_scrollable_set_hscroll_policy ()

void                gtk_scrollable_set_hscroll_policy   (GtkScrollable *scrollable,
                                                         GtkScrollablePolicy policy);

Sets the GtkScrollablePolicy to determine whether horizontal scrolling should start below the minimum width or below the natural width.

scrollable :

a GtkScrollable

policy :

the horizontal GtkScrollablePolicy

Since 3.0


gtk_scrollable_get_vscroll_policy ()

GtkScrollablePolicy  gtk_scrollable_get_vscroll_policy  (GtkScrollable *scrollable);

Gets the vertical GtkScrollablePolicy.

scrollable :

a GtkScrollable

Returns :

The vertical GtkScrollablePolicy.

Since 3.0


gtk_scrollable_set_vscroll_policy ()

void                gtk_scrollable_set_vscroll_policy   (GtkScrollable *scrollable,
                                                         GtkScrollablePolicy policy);

Sets the GtkScrollablePolicy to determine whether vertical scrolling should start below the minimum height or below the natural height.

scrollable :

a GtkScrollable

policy :

the vertical GtkScrollablePolicy

Since 3.0

Property Details

The "hadjustment" property

  "hadjustment"              GtkAdjustment*        : Read / Write / Construct

Horizontal GtkAdjustment of the scrollable widget. This adjustment is shared between the scrollable widget and its parent.

Since 3.0


The "hscroll-policy" property

  "hscroll-policy"           GtkScrollablePolicy   : Read / Write

Determines whether horizontal scrolling should start once the scrollable widget is allocated less than its minimum width or less than its natural width.

Default value: GTK_SCROLL_MINIMUM

Since 3.0


The "vadjustment" property

  "vadjustment"              GtkAdjustment*        : Read / Write / Construct

Verical GtkAdjustment of the scrollable widget. This adjustment is shared between the scrollable widget and its parent.

Since 3.0


The "vscroll-policy" property

  "vscroll-policy"           GtkScrollablePolicy   : Read / Write

Determines whether vertical scrolling should start once the scrollable widget is allocated less than its minimum height or less than its natural height.

Default value: GTK_SCROLL_MINIMUM

Since 3.0