## GtkScrollbar GtkScrollbar — A Scrollbar |

## Functions

GtkWidget * | gtk_scrollbar_new ()
GtkAdjustment * | gtk_scrollbar_get_adjustment ()
void | gtk_scrollbar_set_adjustment ()

## Properties

GtkAdjustment * | adjustment | Read / Write / Construct

## Types and Values

| GtkScrollbar

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkScrollbar

## Implemented Interfaces

GtkScrollbar implements AtkImplementorIface, GtkBuildable, GtkConstraintTarget and GtkOrientable.

## Includes

    #include <gtk/gtk.h>

## Description

The GtkScrollbar widget is a horizontal or vertical scrollbar, depending on the value of the “orientation” property.

Its position and movement are controlled by the adjustment that is passed to or created by `gtk_scrollbar_new()`. See GtkAdjustment for more details. The “value” field sets the position of the thumb and must be between “lower” and “upper” - “page-size”. The “page-size” represents the size of the visible scrollable area. The fields “step-increment” and “page-increment” fields are added to or subtracted from the “value” when the user asks to move by a step (using e.g. the cursor arrow keys or, if present, the stepper buttons) or by a page (using e.g. the Page Down/Up keys).

### CSS nodes

    1
    2
    3
    4
    scrollbar
    ╰── range[.fine-tune]
        ╰── trough
            ╰── slider

GtkScrollbar has a main CSS node with name scrollbar and a subnode for its contents. The main node gets the .horizontal or .vertical style classes applied, depending on the scrollbar's orientation.

The range node gets the style class .fine-tune added when the scrollbar is in 'fine-tuning' mode.

If steppers are enabled, they are represented by up to four additional subnodes with name button. These get the style classes .up and .down to indicate in which direction they are moving.

Other style classes that may be added to scrollbars inside GtkScrolledWindow include the positional classes (.left, .right, .top, .bottom) and style classes related to overlay scrolling (.overlay-indicator, .dragging, .hovering).

## Functions

### gtk_scrollbar_new ()

    GtkWidget *
    gtk_scrollbar_new (GtkOrientation orientation,
                       GtkAdjustment *adjustment);

Creates a new scrollbar with the given orientation.

#### Parameters

orientation | the scrollbar’s orientation. |
adjustment | the GtkAdjustment to use, or `NULL` to create a new adjustment. | [allow-none]

#### Returns

the new GtkScrollbar.

### gtk_scrollbar_get_adjustment ()

    GtkAdjustment *
    gtk_scrollbar_get_adjustment (GtkScrollbar *self);

Returns the scrollbar's adjustment.

#### Parameters

self | a GtkScrollbar |

#### Returns

the scrollbar's adjustment.

[transfer none]

### gtk_scrollbar_set_adjustment ()

    void
    gtk_scrollbar_set_adjustment (GtkScrollbar *self,
                                  GtkAdjustment *adjustment);

Makes the scrollbar use the given adjustment.

#### Parameters

self | a GtkScrollbar |
adjustment | the adjustment to set. | [nullable]

## Types and Values

### GtkScrollbar

    typedef struct _GtkScrollbar GtkScrollbar;

## Property Details

### The `“adjustment”` property

      “adjustment”               GtkAdjustment *

The GtkAdjustment that contains the current value of this scrollbar.

Owner: GtkScrollbar

Flags: Read / Write / Construct

## See Also

GtkAdjustment, GtkScrolledWindow