gi-gtk-4.0.2: 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.Adjustment

Description

The Adjustment object represents a value which has an associated lower and upper bound, together with step and page increments, and a page size. It is used within several GTK+ widgets, including SpinButton, Viewport, and Range (which is a base class for Scrollbar and Scale).

The Adjustment object does not update the value itself. Instead it is left up to the owner of the Adjustment to control the value.

Synopsis

Exported types

newtype Adjustment Source #

Memory-managed wrapper type.

Instances

Instances details
Eq Adjustment Source # 
Instance details

Defined in GI.Gtk.Objects.Adjustment

IsGValue Adjustment Source #

Convert Adjustment to and from GValue with toGValue and fromGValue.

Instance details

Defined in GI.Gtk.Objects.Adjustment

ManagedPtrNewtype Adjustment Source # 
Instance details

Defined in GI.Gtk.Objects.Adjustment

TypedObject Adjustment Source # 
Instance details

Defined in GI.Gtk.Objects.Adjustment

Methods

glibType :: IO GType #

GObject Adjustment Source # 
Instance details

Defined in GI.Gtk.Objects.Adjustment

HasParentTypes Adjustment Source # 
Instance details

Defined in GI.Gtk.Objects.Adjustment

type ParentTypes Adjustment Source # 
Instance details

Defined in GI.Gtk.Objects.Adjustment

type ParentTypes Adjustment = '[Object]

class (GObject o, IsDescendantOf Adjustment o) => IsAdjustment o Source #

Type class for types which can be safely cast to Adjustment, for instance with toAdjustment.

Instances

Instances details
(GObject o, IsDescendantOf Adjustment o) => IsAdjustment o Source # 
Instance details

Defined in GI.Gtk.Objects.Adjustment

toAdjustment :: (MonadIO m, IsAdjustment o) => o -> m Adjustment Source #

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

Methods

Overloaded methods

clampPage

adjustmentClampPage Source #

Arguments

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

adjustment: a Adjustment

-> Double

lower: the lower value

-> Double

upper: the upper value

-> m () 

Updates the Adjustment:value property to ensure that the range between lower and upper is in the current page (i.e. between Adjustment:value and Adjustment:value + Adjustment:page-size). If the range is larger than the page size, then only the start of it will be in the current page.

A valueChanged signal will be emitted if the value is changed.

configure

adjustmentConfigure Source #

Arguments

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

adjustment: a Adjustment

-> Double

value: the new value

-> Double

lower: the new minimum value

-> Double

upper: the new maximum value

-> Double

stepIncrement: the new step increment

-> Double

pageIncrement: the new page increment

-> Double

pageSize: the new page size

-> m () 

Sets all properties of the adjustment at once.

Use this function to avoid multiple emissions of the changed signal. See adjustmentSetLower for an alternative way of compressing multiple emissions of changed into one.

getLower

adjustmentGetLower Source #

Arguments

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

adjustment: a Adjustment

-> m Double

Returns: The current minimum value of the adjustment

Retrieves the minimum value of the adjustment.

getMinimumIncrement

adjustmentGetMinimumIncrement Source #

Arguments

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

adjustment: a Adjustment

-> m Double

Returns: the minimum increment of adjustment

Gets the smaller of step increment and page increment.

getPageIncrement

adjustmentGetPageIncrement Source #

Arguments

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

adjustment: a Adjustment

-> m Double

Returns: The current page increment of the adjustment

Retrieves the page increment of the adjustment.

getPageSize

adjustmentGetPageSize Source #

Arguments

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

adjustment: a Adjustment

-> m Double

Returns: The current page size of the adjustment

Retrieves the page size of the adjustment.

getStepIncrement

adjustmentGetStepIncrement Source #

Arguments

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

adjustment: a Adjustment

-> m Double

Returns: The current step increment of the adjustment.

Retrieves the step increment of the adjustment.

getUpper

adjustmentGetUpper Source #

Arguments

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

adjustment: a Adjustment

-> m Double

Returns: The current maximum value of the adjustment

Retrieves the maximum value of the adjustment.

getValue

adjustmentGetValue Source #

Arguments

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

adjustment: a Adjustment

-> m Double

Returns: The current value of the adjustment

Gets the current value of the adjustment. See adjustmentSetValue.

new

adjustmentNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Double

value: the initial value

-> Double

lower: the minimum value

-> Double

upper: the maximum value

-> Double

stepIncrement: the step increment

-> Double

pageIncrement: the page increment

-> Double

pageSize: the page size

-> m Adjustment

Returns: a new Adjustment

Creates a new Adjustment.

setLower

adjustmentSetLower Source #

Arguments

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

adjustment: a Adjustment

-> Double

lower: the new minimum value

-> m () 

Sets the minimum value of the adjustment.

When setting multiple adjustment properties via their individual setters, multiple changed signals will be emitted. However, since the emission of the changed signal is tied to the emission of the notify signals of the changed properties, it’s possible to compress the changed signals into one by calling objectFreezeNotify and objectThawNotify around the calls to the individual setters.

Alternatively, using a single g_object_set() for all the properties to change, or using adjustmentConfigure has the same effect of compressing changed emissions.

setPageIncrement

adjustmentSetPageIncrement Source #

Arguments

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

adjustment: a Adjustment

-> Double

pageIncrement: the new page increment

-> m () 

Sets the page increment of the adjustment.

See adjustmentSetLower about how to compress multiple emissions of the changed signal when setting multiple adjustment properties.

setPageSize

adjustmentSetPageSize Source #

Arguments

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

adjustment: a Adjustment

-> Double

pageSize: the new page size

-> m () 

Sets the page size of the adjustment.

See adjustmentSetLower about how to compress multiple emissions of the GtkAdjustment[changed](#g:signal:changed) signal when setting multiple adjustment properties.

setStepIncrement

adjustmentSetStepIncrement Source #

Arguments

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

adjustment: a Adjustment

-> Double

stepIncrement: the new step increment

-> m () 

Sets the step increment of the adjustment.

See adjustmentSetLower about how to compress multiple emissions of the changed signal when setting multiple adjustment properties.

setUpper

adjustmentSetUpper Source #

Arguments

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

adjustment: a Adjustment

-> Double

upper: the new maximum value

-> m () 

Sets the maximum value of the adjustment.

Note that values will be restricted by upper - page-size if the page-size property is nonzero.

See adjustmentSetLower about how to compress multiple emissions of the changed signal when setting multiple adjustment properties.

setValue

adjustmentSetValue Source #

Arguments

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

adjustment: a Adjustment

-> Double

value: the new value

-> m () 

Sets the Adjustment value. The value is clamped to lie between Adjustment:lower and Adjustment:upper.

Note that for adjustments which are used in a Scrollbar, the effective range of allowed values goes from Adjustment:lower to Adjustment:upper - Adjustment:page-size.

Properties

lower

The minimum value of the adjustment.

constructAdjustmentLower :: (IsAdjustment o, MonadIO m) => Double -> m (GValueConstruct o) Source #

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

getAdjustmentLower :: (MonadIO m, IsAdjustment o) => o -> m Double Source #

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

get adjustment #lower

setAdjustmentLower :: (MonadIO m, IsAdjustment o) => o -> Double -> m () Source #

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

set adjustment [ #lower := value ]

pageIncrement

The page increment of the adjustment.

constructAdjustmentPageIncrement :: (IsAdjustment o, MonadIO m) => Double -> m (GValueConstruct o) Source #

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

getAdjustmentPageIncrement :: (MonadIO m, IsAdjustment o) => o -> m Double Source #

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

get adjustment #pageIncrement

setAdjustmentPageIncrement :: (MonadIO m, IsAdjustment o) => o -> Double -> m () Source #

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

set adjustment [ #pageIncrement := value ]

pageSize

The page size of the adjustment. Note that the page-size is irrelevant and should be set to zero if the adjustment is used for a simple scalar value, e.g. in a SpinButton.

constructAdjustmentPageSize :: (IsAdjustment o, MonadIO m) => Double -> m (GValueConstruct o) Source #

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

getAdjustmentPageSize :: (MonadIO m, IsAdjustment o) => o -> m Double Source #

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

get adjustment #pageSize

setAdjustmentPageSize :: (MonadIO m, IsAdjustment o) => o -> Double -> m () Source #

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

set adjustment [ #pageSize := value ]

stepIncrement

The step increment of the adjustment.

constructAdjustmentStepIncrement :: (IsAdjustment o, MonadIO m) => Double -> m (GValueConstruct o) Source #

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

getAdjustmentStepIncrement :: (MonadIO m, IsAdjustment o) => o -> m Double Source #

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

get adjustment #stepIncrement

setAdjustmentStepIncrement :: (MonadIO m, IsAdjustment o) => o -> Double -> m () Source #

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

set adjustment [ #stepIncrement := value ]

upper

The maximum value of the adjustment. Note that values will be restricted by upper - page-size if the page-size property is nonzero.

constructAdjustmentUpper :: (IsAdjustment o, MonadIO m) => Double -> m (GValueConstruct o) Source #

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

getAdjustmentUpper :: (MonadIO m, IsAdjustment o) => o -> m Double Source #

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

get adjustment #upper

setAdjustmentUpper :: (MonadIO m, IsAdjustment o) => o -> Double -> m () Source #

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

set adjustment [ #upper := value ]

value

The value of the adjustment.

constructAdjustmentValue :: (IsAdjustment o, MonadIO m) => Double -> m (GValueConstruct o) Source #

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

getAdjustmentValue :: (MonadIO m, IsAdjustment o) => o -> m Double Source #

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

get adjustment #value

setAdjustmentValue :: (MonadIO m, IsAdjustment o) => o -> Double -> m () Source #

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

set adjustment [ #value := value ]

Signals

changed

type AdjustmentChangedCallback = IO () Source #

Emitted when one or more of the Adjustment properties have been changed, other than the Adjustment:value property.

type C_AdjustmentChangedCallback = Ptr () -> Ptr () -> IO () Source #

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

afterAdjustmentChanged :: (IsAdjustment a, MonadIO m) => a -> AdjustmentChangedCallback -> m SignalHandlerId Source #

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

after adjustment #changed callback

onAdjustmentChanged :: (IsAdjustment a, MonadIO m) => a -> AdjustmentChangedCallback -> m SignalHandlerId Source #

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

on adjustment #changed callback

valueChanged

type AdjustmentValueChangedCallback = IO () Source #

Emitted when the Adjustment:value property has been changed.

type C_AdjustmentValueChangedCallback = Ptr () -> Ptr () -> IO () Source #

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

afterAdjustmentValueChanged :: (IsAdjustment a, MonadIO m) => a -> AdjustmentValueChangedCallback -> m SignalHandlerId Source #

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

after adjustment #valueChanged callback

onAdjustmentValueChanged :: (IsAdjustment a, MonadIO m) => a -> AdjustmentValueChangedCallback -> m SignalHandlerId Source #

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

on adjustment #valueChanged callback