gi-gtk-4.0.5: Gtk bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.Gtk.Objects.Adjustment

Description

GtkAdjustment is a model for a numeric value.

The @GtkAdjustment has an associated lower and upper bound. It also contains step and page increments, and a page size.

Adjustments are used within several GTK widgets, including [class@Gtk.SpinButton], [class@Gtk.Viewport], [class@Gtk.Scrollbar] and [class@Gtk.Scale].

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

Synopsis

Exported types

newtype Adjustment Source #

Memory-managed wrapper type.

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

clampPage

adjustmentClampPage Source #

Arguments

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

adjustment: a GtkAdjustment

-> Double

lower: the lower value

-> Double

upper: the upper value

-> m () 

Updates the value property to ensure that the range between lower and upper is in the current page.

The current page goes from value to value + page-size. If the range is larger than the page size, then only the start of it will be in the current page.

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

configure

adjustmentConfigure Source #

Arguments

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

adjustment: a GtkAdjustment

-> 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 Adjustment::changed signal. See adjustmentSetLower for an alternative way of compressing multiple emissions of Adjustment::changed into one.

getLower

adjustmentGetLower Source #

Arguments

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

adjustment: a GtkAdjustment

-> 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 GtkAdjustment

-> 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 GtkAdjustment

-> 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 GtkAdjustment

-> 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 GtkAdjustment

-> 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 GtkAdjustment

-> 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 GtkAdjustment

-> m Double

Returns: The current value of the adjustment

Gets the current value of the adjustment.

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 GtkAdjustment

Creates a new GtkAdjustment.

setLower

adjustmentSetLower Source #

Arguments

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

adjustment: a GtkAdjustment

-> Double

lower: the new minimum value

-> m () 

Sets the minimum value of the adjustment.

When setting multiple adjustment properties via their individual setters, multiple Adjustment::changed signals will be emitted. However, since the emission of the Adjustment::changed signal is tied to the emission of the notify signals of the changed properties, it’s possible to compress the Adjustment::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.

setPageIncrement

adjustmentSetPageIncrement Source #

Arguments

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

adjustment: a GtkAdjustment

-> Double

pageIncrement: the new page increment

-> m () 

Sets the page increment of the adjustment.

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

setPageSize

adjustmentSetPageSize Source #

Arguments

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

adjustment: a GtkAdjustment

-> Double

pageSize: the new page size

-> m () 

Sets the page size of the adjustment.

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

setStepIncrement

adjustmentSetStepIncrement Source #

Arguments

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

adjustment: a GtkAdjustment

-> Double

stepIncrement: the new step increment

-> m () 

Sets the step increment of the adjustment.

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

setUpper

adjustmentSetUpper Source #

Arguments

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

adjustment: a GtkAdjustment

-> 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 Adjustment::changed signal when setting multiple adjustment properties.

setValue

adjustmentSetValue Source #

Arguments

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

adjustment: a GtkAdjustment

-> Double

value: the new value

-> m () 

Sets the GtkAdjustment value.

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

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

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 GtkSpinButton.

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 GtkAdjustment properties have been changed.

Note that the Adjustment:value property is covered by the Adjustment::valueChanged signal.

afterAdjustmentChanged :: (IsAdjustment a, MonadIO m) => a -> ((?self :: 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

By default the object invoking the signal is not passed to the callback. If you need to access it, you can use the implit ?self parameter. Note that this requires activating the ImplicitParams GHC extension.

onAdjustmentChanged :: (IsAdjustment a, MonadIO m) => a -> ((?self :: 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 value has been changed.

afterAdjustmentValueChanged :: (IsAdjustment a, MonadIO m) => a -> ((?self :: 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

By default the object invoking the signal is not passed to the callback. If you need to access it, you can use the implit ?self parameter. Note that this requires activating the ImplicitParams GHC extension.

onAdjustmentValueChanged :: (IsAdjustment a, MonadIO m) => a -> ((?self :: 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