## GtkScrollbar GtkScrollbar — A Scrollbar |

## Functions

GtkWidget * | gtk_scrollbar_new ()

## Style Properties

gboolean | has-backward-stepper | Read
gboolean | has-forward-stepper | Read
gboolean | has-secondary-backward-stepper | Read
gboolean | has-secondary-forward-stepper | Read

## Types and Values

struct | GtkScrollbar

## Object Hierarchy

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

## Implemented Interfaces

GtkScrollbar implements AtkImplementorIface, GtkBuildable 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.

The position of the thumb in a scrollbar is controlled by the scroll adjustments. See GtkAdjustment for the fields in an adjustment - for GtkScrollbar, the “value” field represents the position of the scrollbar, which must be between the “lower” field and “upper” - “page-size”. The “page-size” field represents the size of the visible scrollable area. The “step-increment” and “page-increment” fields are properties when the user asks to step down (using the small stepper arrows) or page down (using for example the `Page Down` key).

### CSS nodes

    1
    2
    3
    4
    5
    6
    7
    8
    scrollbar[.fine-tune]
    ╰── contents
        ├── [button.up]
        ├── [button.down]
        ├── trough
        │   ╰── slider
        ├── [button.up]
        ╰── [button.down]

GtkScrollbar has a main CSS node with name scrollbar and a subnode for its contents, with subnodes named trough and slider.

The main 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.

Since: 3.0

## Types and Values

### struct GtkScrollbar

    struct GtkScrollbar;

## Style Property Details

### The `“has-backward-stepper”` style property

      “has-backward-stepper”     gboolean

Display the standard backward arrow button.

Flags: Read

Default value: TRUE

### The `“has-forward-stepper”` style property

      “has-forward-stepper”      gboolean

Display the standard forward arrow button.

Flags: Read

Default value: TRUE

### The `“has-secondary-backward-stepper”` style property

      “has-secondary-backward-stepper” gboolean

Display a second backward arrow button on the opposite end of the scrollbar.

Flags: Read

Default value: FALSE

### The `“has-secondary-forward-stepper”` style property

      “has-secondary-forward-stepper” gboolean

Display a second forward arrow button on the opposite end of the scrollbar.

Flags: Read

Default value: FALSE

## See Also

GtkAdjustment, GtkScrolledWindow