gi-gtk-3.0.36: Gtk bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Objects.ScrolledWindow

Description

GtkScrolledWindow is a container that accepts a single child widget, makes that child scrollable using either internally added scrollbars or externally associated adjustments, and optionally draws a frame around the child.

Widgets with native scrolling support, i.e. those whose classes implement the Scrollable interface, are added directly. For other types of widget, the class Viewport acts as an adaptor, giving scrollability to other widgets. GtkScrolledWindow’s implementation of containerAdd intelligently accounts for whether or not the added child is a Scrollable. If it isn’t, ScrolledWindow wraps the child in a Viewport and adds that for you. Therefore, you can just add any child widget and not worry about the details.

If containerAdd has added a Viewport for you, you can remove both your added child widget from the Viewport, and the Viewport from the GtkScrolledWindow, like this:

C code

GtkWidget *scrolled_window = gtk_scrolled_window_new (NULL, NULL);
GtkWidget *child_widget = gtk_button_new ();

// GtkButton is not a GtkScrollable, so GtkScrolledWindow will automatically
// add a GtkViewport.
gtk_container_add (GTK_CONTAINER (scrolled_window),
                   child_widget);

// Either of these will result in child_widget being unparented:
gtk_container_remove (GTK_CONTAINER (scrolled_window),
                      child_widget);
// or
gtk_container_remove (GTK_CONTAINER (scrolled_window),
                      gtk_bin_get_child (GTK_BIN (scrolled_window)));

Unless ScrolledWindow:policy is GTK_POLICY_NEVER or GTK_POLICY_EXTERNAL, GtkScrolledWindow adds internal Scrollbar widgets around its child. The scroll position of the child, and if applicable the scrollbars, is controlled by the ScrolledWindow:hadjustment and ScrolledWindow:vadjustment that are associated with the GtkScrolledWindow. See the docs on Scrollbar for the details, but note that the “step_increment” and “page_increment” fields are only effective if the policy causes scrollbars to be present.

If a GtkScrolledWindow doesn’t behave quite as you would like, or doesn’t have exactly the right layout, it’s very possible to set up your own scrolling with Scrollbar and for example a Grid.

Touch support

GtkScrolledWindow has built-in support for touch devices. When a touchscreen is used, swiping will move the scrolled window, and will expose 'kinetic' behavior. This can be turned off with the ScrolledWindow:kinetic-scrolling property if it is undesired.

GtkScrolledWindow also displays visual 'overshoot' indication when the content is pulled beyond the end, and this situation can be captured with the edgeOvershot signal.

If no mouse device is present, the scrollbars will overlayed as narrow, auto-hiding indicators over the content. If traditional scrollbars are desired although no mouse is present, this behaviour can be turned off with the ScrolledWindow:overlay-scrolling property.

CSS nodes

GtkScrolledWindow has a main CSS node with name scrolledwindow.

It uses subnodes with names overshoot and undershoot to draw the overflow and underflow indications. These nodes get the .left, .right, .top or .bottom style class added depending on where the indication is drawn.

GtkScrolledWindow also sets the positional style classes (.left, .right, .top, .bottom) and style classes related to overlay scrolling (.overlay-indicator, .dragging, .hovering) on its scrollbars.

If both scrollbars are visible, the area where they meet is drawn with a subnode named junction.

Synopsis

Exported types

class (GObject o, IsDescendantOf ScrolledWindow o) => IsScrolledWindow o Source #

Type class for types which can be safely cast to ScrolledWindow, for instance with toScrolledWindow.

Instances

Instances details
(GObject o, IsDescendantOf ScrolledWindow o) => IsScrolledWindow o Source # 
Instance details

Defined in GI.Gtk.Objects.ScrolledWindow

toScrolledWindow :: (MonadIO m, IsScrolledWindow o) => o -> m ScrolledWindow Source #

Cast to ScrolledWindow, for types for which this is known to be safe. For general casts, use castTo.

Methods

Overloaded methods

addWithViewport

scrolledWindowAddWithViewport Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a, IsWidget b) 
=> a

scrolledWindow: a ScrolledWindow

-> b

child: the widget you want to scroll

-> m () 

Deprecated: (Since version 3.8)containerAdd will automatically adda Viewport if the child doesn’t implement Scrollable.

Used to add children without native scrolling capabilities. This is simply a convenience function; it is equivalent to adding the unscrollable child to a viewport, then adding the viewport to the scrolled window. If a child has native scrolling, use containerAdd instead of this function.

The viewport scrolls the child by moving its Window, and takes the size of the child to be the size of its toplevel Window. This will be very wrong for most widgets that support native scrolling; for example, if you add a widget such as TreeView with a viewport, the whole widget will scroll, including the column headings. Thus, widgets with native scrolling support should not be used with the Viewport proxy.

A widget supports scrolling natively if it implements the Scrollable interface.

getCaptureButtonPress

scrolledWindowGetCaptureButtonPress Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m Bool

Returns: True if button presses are captured during kinetic scrolling

Return whether button presses are captured during kinetic scrolling. See scrolledWindowSetCaptureButtonPress.

Since: 3.4

getHadjustment

scrolledWindowGetHadjustment Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m Adjustment

Returns: the horizontal Adjustment

Returns the horizontal scrollbar’s adjustment, used to connect the horizontal scrollbar to the child widget’s horizontal scroll functionality.

getHscrollbar

scrolledWindowGetHscrollbar Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m Widget

Returns: the horizontal scrollbar of the scrolled window.

Returns the horizontal scrollbar of scrolledWindow.

Since: 2.8

getKineticScrolling

scrolledWindowGetKineticScrolling Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m Bool

Returns: the scrolling behavior flags.

Returns the specified kinetic scrolling behavior.

Since: 3.4

getMaxContentHeight

scrolledWindowGetMaxContentHeight Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m Int32

Returns: the maximum content height, or -1

Returns the maximum content height set.

Since: 3.22

getMaxContentWidth

scrolledWindowGetMaxContentWidth Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m Int32

Returns: the maximum content width, or -1

Returns the maximum content width set.

Since: 3.22

getMinContentHeight

scrolledWindowGetMinContentHeight Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m Int32

Returns: the minimal content height

Gets the minimal content height of scrolledWindow, or -1 if not set.

Since: 3.0

getMinContentWidth

scrolledWindowGetMinContentWidth Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m Int32

Returns: the minimum content width

Gets the minimum content width of scrolledWindow, or -1 if not set.

Since: 3.0

getOverlayScrolling

scrolledWindowGetOverlayScrolling Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m Bool

Returns: True if overlay scrolling is enabled

Returns whether overlay scrolling is enabled for this scrolled window.

Since: 3.16

getPlacement

scrolledWindowGetPlacement Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m CornerType

Returns: the current placement value.

See also scrolledWindowSetPlacement and scrolledWindowUnsetPlacement.

Gets the placement of the contents with respect to the scrollbars for the scrolled window. See scrolledWindowSetPlacement.

getPolicy

scrolledWindowGetPolicy Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m (PolicyType, PolicyType) 

Retrieves the current policy values for the horizontal and vertical scrollbars. See scrolledWindowSetPolicy.

getPropagateNaturalHeight

scrolledWindowGetPropagateNaturalHeight Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m Bool

Returns: whether natural height propagation is enabled.

Reports whether the natural height of the child will be calculated and propagated through the scrolled window’s requested natural height.

Since: 3.22

getPropagateNaturalWidth

scrolledWindowGetPropagateNaturalWidth Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m Bool

Returns: whether natural width propagation is enabled.

Reports whether the natural width of the child will be calculated and propagated through the scrolled window’s requested natural width.

Since: 3.22

getShadowType

scrolledWindowGetShadowType Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m ShadowType

Returns: the current shadow type

Gets the shadow type of the scrolled window. See scrolledWindowSetShadowType.

getVadjustment

scrolledWindowGetVadjustment Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m Adjustment

Returns: the vertical Adjustment

Returns the vertical scrollbar’s adjustment, used to connect the vertical scrollbar to the child widget’s vertical scroll functionality.

getVscrollbar

scrolledWindowGetVscrollbar Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m Widget

Returns: the vertical scrollbar of the scrolled window.

Returns the vertical scrollbar of scrolledWindow.

Since: 2.8

new

scrolledWindowNew Source #

Arguments

:: (HasCallStack, MonadIO m, IsAdjustment a, IsAdjustment b) 
=> Maybe a

hadjustment: horizontal adjustment

-> Maybe b

vadjustment: vertical adjustment

-> m ScrolledWindow

Returns: a new scrolled window

Creates a new scrolled window.

The two arguments are the scrolled window’s adjustments; these will be shared with the scrollbars and the child widget to keep the bars in sync with the child. Usually you want to pass Nothing for the adjustments, which will cause the scrolled window to create them for you.

setCaptureButtonPress

scrolledWindowSetCaptureButtonPress Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> Bool

captureButtonPress: True to capture button presses

-> m () 

Changes the behaviour of scrolledWindow with regard to the initial event that possibly starts kinetic scrolling. When captureButtonPress is set to True, the event is captured by the scrolled window, and then later replayed if it is meant to go to the child widget.

This should be enabled if any child widgets perform non-reversible actions on buttonPressEvent. If they don't, and handle additionally handle grabBrokenEvent, it might be better to set captureButtonPress to False.

This setting only has an effect if kinetic scrolling is enabled.

Since: 3.4

setHadjustment

scrolledWindowSetHadjustment Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a, IsAdjustment b) 
=> a

scrolledWindow: a ScrolledWindow

-> Maybe b

hadjustment: the Adjustment to use, or Nothing to create a new one

-> m () 

Sets the Adjustment for the horizontal scrollbar.

setKineticScrolling

scrolledWindowSetKineticScrolling Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> Bool

kineticScrolling: True to enable kinetic scrolling

-> m () 

Turns kinetic scrolling on or off. Kinetic scrolling only applies to devices with source InputSourceTouchscreen.

Since: 3.4

setMaxContentHeight

scrolledWindowSetMaxContentHeight Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> Int32

height: the maximum content height

-> m () 

Sets the maximum height that scrolledWindow should keep visible. The scrolledWindow will grow up to this height before it starts scrolling the content.

It is a programming error to set the maximum content height to a value smaller than ScrolledWindow:min-content-height.

Since: 3.22

setMaxContentWidth

scrolledWindowSetMaxContentWidth Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> Int32

width: the maximum content width

-> m () 

Sets the maximum width that scrolledWindow should keep visible. The scrolledWindow will grow up to this width before it starts scrolling the content.

It is a programming error to set the maximum content width to a value smaller than ScrolledWindow:min-content-width.

Since: 3.22

setMinContentHeight

scrolledWindowSetMinContentHeight Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> Int32

height: the minimal content height

-> m () 

Sets the minimum height that scrolledWindow should keep visible. Note that this can and (usually will) be smaller than the minimum size of the content.

It is a programming error to set the minimum content height to a value greater than ScrolledWindow:max-content-height.

Since: 3.0

setMinContentWidth

scrolledWindowSetMinContentWidth Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> Int32

width: the minimal content width

-> m () 

Sets the minimum width that scrolledWindow should keep visible. Note that this can and (usually will) be smaller than the minimum size of the content.

It is a programming error to set the minimum content width to a value greater than ScrolledWindow:max-content-width.

Since: 3.0

setOverlayScrolling

scrolledWindowSetOverlayScrolling Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> Bool

overlayScrolling: whether to enable overlay scrolling

-> m () 

Enables or disables overlay scrolling for this scrolled window.

Since: 3.16

setPlacement

scrolledWindowSetPlacement Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> CornerType

windowPlacement: position of the child window

-> m () 

Sets the placement of the contents with respect to the scrollbars for the scrolled window.

The default is CornerTypeTopLeft, meaning the child is in the top left, with the scrollbars underneath and to the right. Other values in CornerType are CornerTypeTopRight, CornerTypeBottomLeft, and CornerTypeBottomRight.

See also scrolledWindowGetPlacement and scrolledWindowUnsetPlacement.

setPolicy

scrolledWindowSetPolicy Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> PolicyType

hscrollbarPolicy: policy for horizontal bar

-> PolicyType

vscrollbarPolicy: policy for vertical bar

-> m () 

Sets the scrollbar policy for the horizontal and vertical scrollbars.

The policy determines when the scrollbar should appear; it is a value from the PolicyType enumeration. If PolicyTypeAlways, the scrollbar is always present; if PolicyTypeNever, the scrollbar is never present; if PolicyTypeAutomatic, the scrollbar is present only if needed (that is, if the slider part of the bar would be smaller than the trough — the display is larger than the page size).

setPropagateNaturalHeight

scrolledWindowSetPropagateNaturalHeight Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> Bool

propagate: whether to propagate natural height

-> m () 

Sets whether the natural height of the child should be calculated and propagated through the scrolled window’s requested natural height.

Since: 3.22

setPropagateNaturalWidth

scrolledWindowSetPropagateNaturalWidth Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> Bool

propagate: whether to propagate natural width

-> m () 

Sets whether the natural width of the child should be calculated and propagated through the scrolled window’s requested natural width.

Since: 3.22

setShadowType

scrolledWindowSetShadowType Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> ShadowType

type: kind of shadow to draw around scrolled window contents

-> m () 

Changes the type of shadow drawn around the contents of scrolledWindow.

setVadjustment

scrolledWindowSetVadjustment Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a, IsAdjustment b) 
=> a

scrolledWindow: a ScrolledWindow

-> Maybe b

vadjustment: the Adjustment to use, or Nothing to create a new one

-> m () 

Sets the Adjustment for the vertical scrollbar.

unsetPlacement

scrolledWindowUnsetPlacement Source #

Arguments

:: (HasCallStack, MonadIO m, IsScrolledWindow a) 
=> a

scrolledWindow: a ScrolledWindow

-> m () 

Unsets the placement of the contents with respect to the scrollbars for the scrolled window. If no window placement is set for a scrolled window, it defaults to CornerTypeTopLeft.

See also scrolledWindowSetPlacement and scrolledWindowGetPlacement.

Since: 2.10

Properties

hadjustment

No description available in the introspection data.

clearScrolledWindowHadjustment :: (MonadIO m, IsScrolledWindow o) => o -> m () Source #

Set the value of the “hadjustment” property to Nothing. When overloading is enabled, this is equivalent to

clear #hadjustment

constructScrolledWindowHadjustment :: (IsScrolledWindow o, MonadIO m, IsAdjustment a) => a -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “hadjustment” property. This is rarely needed directly, but it is used by new.

getScrolledWindowHadjustment :: (MonadIO m, IsScrolledWindow o) => o -> m Adjustment Source #

Get the value of the “hadjustment” property. When overloading is enabled, this is equivalent to

get scrolledWindow #hadjustment

setScrolledWindowHadjustment :: (MonadIO m, IsScrolledWindow o, IsAdjustment a) => o -> a -> m () Source #

Set the value of the “hadjustment” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #hadjustment := value ]

hscrollbarPolicy

No description available in the introspection data.

constructScrolledWindowHscrollbarPolicy :: (IsScrolledWindow o, MonadIO m) => PolicyType -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “hscrollbar-policy” property. This is rarely needed directly, but it is used by new.

getScrolledWindowHscrollbarPolicy :: (MonadIO m, IsScrolledWindow o) => o -> m PolicyType Source #

Get the value of the “hscrollbar-policy” property. When overloading is enabled, this is equivalent to

get scrolledWindow #hscrollbarPolicy

setScrolledWindowHscrollbarPolicy :: (MonadIO m, IsScrolledWindow o) => o -> PolicyType -> m () Source #

Set the value of the “hscrollbar-policy” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #hscrollbarPolicy := value ]

kineticScrolling

Whether kinetic scrolling is enabled or not. Kinetic scrolling only applies to devices with source InputSourceTouchscreen.

Since: 3.4

constructScrolledWindowKineticScrolling :: (IsScrolledWindow o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “kinetic-scrolling” property. This is rarely needed directly, but it is used by new.

getScrolledWindowKineticScrolling :: (MonadIO m, IsScrolledWindow o) => o -> m Bool Source #

Get the value of the “kinetic-scrolling” property. When overloading is enabled, this is equivalent to

get scrolledWindow #kineticScrolling

setScrolledWindowKineticScrolling :: (MonadIO m, IsScrolledWindow o) => o -> Bool -> m () Source #

Set the value of the “kinetic-scrolling” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #kineticScrolling := value ]

maxContentHeight

The maximum content height of scrolledWindow, or -1 if not set.

Since: 3.22

constructScrolledWindowMaxContentHeight :: (IsScrolledWindow o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “max-content-height” property. This is rarely needed directly, but it is used by new.

getScrolledWindowMaxContentHeight :: (MonadIO m, IsScrolledWindow o) => o -> m Int32 Source #

Get the value of the “max-content-height” property. When overloading is enabled, this is equivalent to

get scrolledWindow #maxContentHeight

setScrolledWindowMaxContentHeight :: (MonadIO m, IsScrolledWindow o) => o -> Int32 -> m () Source #

Set the value of the “max-content-height” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #maxContentHeight := value ]

maxContentWidth

The maximum content width of scrolledWindow, or -1 if not set.

Since: 3.22

constructScrolledWindowMaxContentWidth :: (IsScrolledWindow o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “max-content-width” property. This is rarely needed directly, but it is used by new.

getScrolledWindowMaxContentWidth :: (MonadIO m, IsScrolledWindow o) => o -> m Int32 Source #

Get the value of the “max-content-width” property. When overloading is enabled, this is equivalent to

get scrolledWindow #maxContentWidth

setScrolledWindowMaxContentWidth :: (MonadIO m, IsScrolledWindow o) => o -> Int32 -> m () Source #

Set the value of the “max-content-width” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #maxContentWidth := value ]

minContentHeight

The minimum content height of scrolledWindow, or -1 if not set.

Since: 3.0

constructScrolledWindowMinContentHeight :: (IsScrolledWindow o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “min-content-height” property. This is rarely needed directly, but it is used by new.

getScrolledWindowMinContentHeight :: (MonadIO m, IsScrolledWindow o) => o -> m Int32 Source #

Get the value of the “min-content-height” property. When overloading is enabled, this is equivalent to

get scrolledWindow #minContentHeight

setScrolledWindowMinContentHeight :: (MonadIO m, IsScrolledWindow o) => o -> Int32 -> m () Source #

Set the value of the “min-content-height” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #minContentHeight := value ]

minContentWidth

The minimum content width of scrolledWindow, or -1 if not set.

Since: 3.0

constructScrolledWindowMinContentWidth :: (IsScrolledWindow o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “min-content-width” property. This is rarely needed directly, but it is used by new.

getScrolledWindowMinContentWidth :: (MonadIO m, IsScrolledWindow o) => o -> m Int32 Source #

Get the value of the “min-content-width” property. When overloading is enabled, this is equivalent to

get scrolledWindow #minContentWidth

setScrolledWindowMinContentWidth :: (MonadIO m, IsScrolledWindow o) => o -> Int32 -> m () Source #

Set the value of the “min-content-width” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #minContentWidth := value ]

overlayScrolling

Whether overlay scrolling is enabled or not. If it is, the scrollbars are only added as traditional widgets when a mouse is present. Otherwise, they are overlayed on top of the content, as narrow indicators.

Note that overlay scrolling can also be globally disabled, with the Settings::gtk-overlay-scrolling setting.

Since: 3.16

constructScrolledWindowOverlayScrolling :: (IsScrolledWindow o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “overlay-scrolling” property. This is rarely needed directly, but it is used by new.

getScrolledWindowOverlayScrolling :: (MonadIO m, IsScrolledWindow o) => o -> m Bool Source #

Get the value of the “overlay-scrolling” property. When overloading is enabled, this is equivalent to

get scrolledWindow #overlayScrolling

setScrolledWindowOverlayScrolling :: (MonadIO m, IsScrolledWindow o) => o -> Bool -> m () Source #

Set the value of the “overlay-scrolling” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #overlayScrolling := value ]

propagateNaturalHeight

Whether the natural height of the child should be calculated and propagated through the scrolled window’s requested natural height.

This is useful in cases where an attempt should be made to allocate exactly enough space for the natural size of the child.

Since: 3.22

constructScrolledWindowPropagateNaturalHeight :: (IsScrolledWindow o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “propagate-natural-height” property. This is rarely needed directly, but it is used by new.

getScrolledWindowPropagateNaturalHeight :: (MonadIO m, IsScrolledWindow o) => o -> m Bool Source #

Get the value of the “propagate-natural-height” property. When overloading is enabled, this is equivalent to

get scrolledWindow #propagateNaturalHeight

setScrolledWindowPropagateNaturalHeight :: (MonadIO m, IsScrolledWindow o) => o -> Bool -> m () Source #

Set the value of the “propagate-natural-height” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #propagateNaturalHeight := value ]

propagateNaturalWidth

Whether the natural width of the child should be calculated and propagated through the scrolled window’s requested natural width.

This is useful in cases where an attempt should be made to allocate exactly enough space for the natural size of the child.

Since: 3.22

constructScrolledWindowPropagateNaturalWidth :: (IsScrolledWindow o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “propagate-natural-width” property. This is rarely needed directly, but it is used by new.

getScrolledWindowPropagateNaturalWidth :: (MonadIO m, IsScrolledWindow o) => o -> m Bool Source #

Get the value of the “propagate-natural-width” property. When overloading is enabled, this is equivalent to

get scrolledWindow #propagateNaturalWidth

setScrolledWindowPropagateNaturalWidth :: (MonadIO m, IsScrolledWindow o) => o -> Bool -> m () Source #

Set the value of the “propagate-natural-width” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #propagateNaturalWidth := value ]

shadowType

No description available in the introspection data.

constructScrolledWindowShadowType :: (IsScrolledWindow o, MonadIO m) => ShadowType -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “shadow-type” property. This is rarely needed directly, but it is used by new.

getScrolledWindowShadowType :: (MonadIO m, IsScrolledWindow o) => o -> m ShadowType Source #

Get the value of the “shadow-type” property. When overloading is enabled, this is equivalent to

get scrolledWindow #shadowType

setScrolledWindowShadowType :: (MonadIO m, IsScrolledWindow o) => o -> ShadowType -> m () Source #

Set the value of the “shadow-type” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #shadowType := value ]

vadjustment

No description available in the introspection data.

clearScrolledWindowVadjustment :: (MonadIO m, IsScrolledWindow o) => o -> m () Source #

Set the value of the “vadjustment” property to Nothing. When overloading is enabled, this is equivalent to

clear #vadjustment

constructScrolledWindowVadjustment :: (IsScrolledWindow o, MonadIO m, IsAdjustment a) => a -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “vadjustment” property. This is rarely needed directly, but it is used by new.

getScrolledWindowVadjustment :: (MonadIO m, IsScrolledWindow o) => o -> m Adjustment Source #

Get the value of the “vadjustment” property. When overloading is enabled, this is equivalent to

get scrolledWindow #vadjustment

setScrolledWindowVadjustment :: (MonadIO m, IsScrolledWindow o, IsAdjustment a) => o -> a -> m () Source #

Set the value of the “vadjustment” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #vadjustment := value ]

vscrollbarPolicy

No description available in the introspection data.

constructScrolledWindowVscrollbarPolicy :: (IsScrolledWindow o, MonadIO m) => PolicyType -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “vscrollbar-policy” property. This is rarely needed directly, but it is used by new.

getScrolledWindowVscrollbarPolicy :: (MonadIO m, IsScrolledWindow o) => o -> m PolicyType Source #

Get the value of the “vscrollbar-policy” property. When overloading is enabled, this is equivalent to

get scrolledWindow #vscrollbarPolicy

setScrolledWindowVscrollbarPolicy :: (MonadIO m, IsScrolledWindow o) => o -> PolicyType -> m () Source #

Set the value of the “vscrollbar-policy” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #vscrollbarPolicy := value ]

windowPlacement

No description available in the introspection data.

constructScrolledWindowWindowPlacement :: (IsScrolledWindow o, MonadIO m) => CornerType -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “window-placement” property. This is rarely needed directly, but it is used by new.

getScrolledWindowWindowPlacement :: (MonadIO m, IsScrolledWindow o) => o -> m CornerType Source #

Get the value of the “window-placement” property. When overloading is enabled, this is equivalent to

get scrolledWindow #windowPlacement

setScrolledWindowWindowPlacement :: (MonadIO m, IsScrolledWindow o) => o -> CornerType -> m () Source #

Set the value of the “window-placement” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #windowPlacement := value ]

windowPlacementSet

Whether "window-placement" should be used to determine the location of the contents with respect to the scrollbars.

Since: 2.10

constructScrolledWindowWindowPlacementSet :: (IsScrolledWindow o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “window-placement-set” property. This is rarely needed directly, but it is used by new.

getScrolledWindowWindowPlacementSet :: (MonadIO m, IsScrolledWindow o) => o -> m Bool Source #

Get the value of the “window-placement-set” property. When overloading is enabled, this is equivalent to

get scrolledWindow #windowPlacementSet

setScrolledWindowWindowPlacementSet :: (MonadIO m, IsScrolledWindow o) => o -> Bool -> m () Source #

Set the value of the “window-placement-set” property. When overloading is enabled, this is equivalent to

set scrolledWindow [ #windowPlacementSet := value ]

Signals

edgeOvershot

type C_ScrolledWindowEdgeOvershotCallback = Ptr () -> CUInt -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type ScrolledWindowEdgeOvershotCallback Source #

Arguments

 = PositionType

pos: edge side that was hit

-> IO () 

The edgeOvershot signal is emitted whenever user initiated scrolling makes the scrolled window firmly surpass (i.e. with some edge resistance) the lower or upper limits defined by the adjustment in that orientation.

A similar behavior without edge resistance is provided by the edgeReached signal.

Note: The pos argument is LTR/RTL aware, so callers should be aware too if intending to provide behavior on horizontal edges.

Since: 3.16

afterScrolledWindowEdgeOvershot :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowEdgeOvershotCallback -> m SignalHandlerId Source #

Connect a signal handler for the edgeOvershot signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after scrolledWindow #edgeOvershot callback

onScrolledWindowEdgeOvershot :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowEdgeOvershotCallback -> m SignalHandlerId Source #

Connect a signal handler for the edgeOvershot signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on scrolledWindow #edgeOvershot callback

edgeReached

type C_ScrolledWindowEdgeReachedCallback = Ptr () -> CUInt -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type ScrolledWindowEdgeReachedCallback Source #

Arguments

 = PositionType

pos: edge side that was reached

-> IO () 

The edgeReached signal is emitted whenever user-initiated scrolling makes the scrolled window exactly reach the lower or upper limits defined by the adjustment in that orientation.

A similar behavior with edge resistance is provided by the edgeOvershot signal.

Note: The pos argument is LTR/RTL aware, so callers should be aware too if intending to provide behavior on horizontal edges.

Since: 3.16

afterScrolledWindowEdgeReached :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowEdgeReachedCallback -> m SignalHandlerId Source #

Connect a signal handler for the edgeReached signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after scrolledWindow #edgeReached callback

onScrolledWindowEdgeReached :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowEdgeReachedCallback -> m SignalHandlerId Source #

Connect a signal handler for the edgeReached signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on scrolledWindow #edgeReached callback

moveFocusOut

type C_ScrolledWindowMoveFocusOutCallback = Ptr () -> CUInt -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type ScrolledWindowMoveFocusOutCallback Source #

Arguments

 = DirectionType

directionType: either DirectionTypeTabForward or DirectionTypeTabBackward

-> IO () 

The moveFocusOut signal is a [keybinding signal][GtkBindingSignal] which gets emitted when focus is moved away from the scrolled window by a keybinding. The moveFocus signal is emitted with directionType on this scrolled window’s toplevel parent in the container hierarchy. The default bindings for this signal are Ctrl + Tab to move forward and Ctrl + Shift + Tab to move backward.

afterScrolledWindowMoveFocusOut :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowMoveFocusOutCallback -> m SignalHandlerId Source #

Connect a signal handler for the moveFocusOut signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after scrolledWindow #moveFocusOut callback

onScrolledWindowMoveFocusOut :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowMoveFocusOutCallback -> m SignalHandlerId Source #

Connect a signal handler for the moveFocusOut signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on scrolledWindow #moveFocusOut callback

scrollChild

type C_ScrolledWindowScrollChildCallback = Ptr () -> CUInt -> CInt -> Ptr () -> IO CInt Source #

Type for the callback on the (unwrapped) C side.

type ScrolledWindowScrollChildCallback Source #

Arguments

 = ScrollType

scroll: a ScrollType describing how much to scroll

-> Bool

horizontal: whether the keybinding scrolls the child horizontally or not

-> IO Bool 

The scrollChild signal is a [keybinding signal][GtkBindingSignal] which gets emitted when a keybinding that scrolls is pressed. The horizontal or vertical adjustment is updated which triggers a signal that the scrolled window’s child may listen to and scroll itself.

afterScrolledWindowScrollChild :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowScrollChildCallback -> m SignalHandlerId Source #

Connect a signal handler for the scrollChild signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after scrolledWindow #scrollChild callback

onScrolledWindowScrollChild :: (IsScrolledWindow a, MonadIO m) => a -> ScrolledWindowScrollChildCallback -> m SignalHandlerId Source #

Connect a signal handler for the scrollChild signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on scrolledWindow #scrollChild callback