gi-gtk-4.0.1: 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.Interfaces.Scrollable

Description

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

To implement this interface you should override the Scrollable:hadjustment and 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 populate the adjustments’ Adjustment:lower, Adjustment:upper, Adjustment:step-increment, Adjustment:page-increment and Adjustment:page-size properties and connect to the valueChanged signal.
  • 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 WidgetClass.size_allocate() function.
  • When the parent allocates space to the scrollable child widget, the widget should update the adjustments’ properties with new values.
  • When any of the adjustments emits the valueChanged signal, the scrollable widget should scroll its contents.
Synopsis

Exported types

newtype Scrollable Source #

Memory-managed wrapper type.

Instances

Instances details
Eq Scrollable Source # 
Instance details

Defined in GI.Gtk.Interfaces.Scrollable

IsGValue Scrollable Source #

Convert Scrollable to and from GValue with toGValue and fromGValue.

Instance details

Defined in GI.Gtk.Interfaces.Scrollable

GObject Scrollable Source # 
Instance details

Defined in GI.Gtk.Interfaces.Scrollable

Methods

gobjectType :: IO GType #

HasParentTypes Scrollable Source # 
Instance details

Defined in GI.Gtk.Interfaces.Scrollable

type ParentTypes Scrollable Source # 
Instance details

Defined in GI.Gtk.Interfaces.Scrollable

class (GObject o, IsDescendantOf Scrollable o) => IsScrollable o Source #

Type class for types which can be safely cast to Scrollable, for instance with toScrollable.

Instances

Instances details
(GObject o, IsDescendantOf Scrollable o) => IsScrollable o Source # 
Instance details

Defined in GI.Gtk.Interfaces.Scrollable

toScrollable :: (MonadIO m, IsScrollable o) => o -> m Scrollable Source #

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

Methods

Overloaded methods

getBorder

scrollableGetBorder Source #

Arguments

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

scrollable: a Scrollable

-> m (Bool, Border)

Returns: True if border has been set

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 overlayed graphics, like the overshoot indication, at the right position.

getHadjustment

scrollableGetHadjustment Source #

Arguments

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

scrollable: a Scrollable

-> m Adjustment

Returns: horizontal Adjustment.

Retrieves the Adjustment used for horizontal scrolling.

getHscrollPolicy

scrollableGetHscrollPolicy Source #

Arguments

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

scrollable: a Scrollable

-> m ScrollablePolicy

Returns: The horizontal ScrollablePolicy.

Gets the horizontal ScrollablePolicy.

getVadjustment

scrollableGetVadjustment Source #

Arguments

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

scrollable: a Scrollable

-> m Adjustment

Returns: vertical Adjustment.

Retrieves the Adjustment used for vertical scrolling.

getVscrollPolicy

scrollableGetVscrollPolicy Source #

Arguments

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

scrollable: a Scrollable

-> m ScrollablePolicy

Returns: The vertical ScrollablePolicy.

Gets the vertical ScrollablePolicy.

setHadjustment

scrollableSetHadjustment Source #

Arguments

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

scrollable: a Scrollable

-> Maybe b

hadjustment: a Adjustment

-> m () 

Sets the horizontal adjustment of the Scrollable.

setHscrollPolicy

scrollableSetHscrollPolicy Source #

Arguments

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

scrollable: a Scrollable

-> ScrollablePolicy

policy: the horizontal ScrollablePolicy

-> m () 

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

setVadjustment

scrollableSetVadjustment Source #

Arguments

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

scrollable: a Scrollable

-> Maybe b

vadjustment: a Adjustment

-> m () 

Sets the vertical adjustment of the Scrollable.

setVscrollPolicy

scrollableSetVscrollPolicy Source #

Arguments

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

scrollable: a Scrollable

-> ScrollablePolicy

policy: the vertical ScrollablePolicy

-> m () 

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

Properties

hadjustment

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

clearScrollableHadjustment :: (MonadIO m, IsScrollable o) => o -> m () Source #

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

clear #hadjustment

constructScrollableHadjustment :: (IsScrollable o, IsAdjustment a) => a -> IO (GValueConstruct o) Source #

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

getScrollableHadjustment :: (MonadIO m, IsScrollable o) => o -> m Adjustment Source #

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

get scrollable #hadjustment

setScrollableHadjustment :: (MonadIO m, IsScrollable o, IsAdjustment a) => o -> a -> m () Source #

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

set scrollable [ #hadjustment := value ]

hscrollPolicy

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

constructScrollableHscrollPolicy :: IsScrollable o => ScrollablePolicy -> IO (GValueConstruct o) Source #

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

getScrollableHscrollPolicy :: (MonadIO m, IsScrollable o) => o -> m ScrollablePolicy Source #

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

get scrollable #hscrollPolicy

setScrollableHscrollPolicy :: (MonadIO m, IsScrollable o) => o -> ScrollablePolicy -> m () Source #

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

set scrollable [ #hscrollPolicy := value ]

vadjustment

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

clearScrollableVadjustment :: (MonadIO m, IsScrollable o) => o -> m () Source #

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

clear #vadjustment

constructScrollableVadjustment :: (IsScrollable o, IsAdjustment a) => a -> IO (GValueConstruct o) Source #

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

getScrollableVadjustment :: (MonadIO m, IsScrollable o) => o -> m Adjustment Source #

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

get scrollable #vadjustment

setScrollableVadjustment :: (MonadIO m, IsScrollable o, IsAdjustment a) => o -> a -> m () Source #

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

set scrollable [ #vadjustment := value ]

vscrollPolicy

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

constructScrollableVscrollPolicy :: IsScrollable o => ScrollablePolicy -> IO (GValueConstruct o) Source #

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

getScrollableVscrollPolicy :: (MonadIO m, IsScrollable o) => o -> m ScrollablePolicy Source #

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

get scrollable #vscrollPolicy

setScrollableVscrollPolicy :: (MonadIO m, IsScrollable o) => o -> ScrollablePolicy -> m () Source #

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

set scrollable [ #vscrollPolicy := value ]