gi-gtk-4.0.6: 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.Switch

Description

GtkSwitch is a "light switch" that has two states: on or off.

The user can control which state should be active by clicking the empty area, or by dragging the handle.

GtkSwitch can also handle situations where the underlying state changes with a delay. See signalgtkSwitch[stateSet] for details.

CSS nodes

switch
├── label
├── label
╰── slider

GtkSwitch has four css nodes, the main node with the name switch and subnodes for the slider and the on and off labels. Neither of them is using any style classes.

Accessibility

GtkSwitch uses the AccessibleRoleSwitch role.

Synopsis

Exported types

newtype Switch Source #

Memory-managed wrapper type.

Constructors

Switch (ManagedPtr Switch) 

Instances

Instances details
Eq Switch Source # 
Instance details

Defined in GI.Gtk.Objects.Switch

Methods

(==) :: Switch -> Switch -> Bool #

(/=) :: Switch -> Switch -> Bool #

GObject Switch Source # 
Instance details

Defined in GI.Gtk.Objects.Switch

ManagedPtrNewtype Switch Source # 
Instance details

Defined in GI.Gtk.Objects.Switch

Methods

toManagedPtr :: Switch -> ManagedPtr Switch

TypedObject Switch Source # 
Instance details

Defined in GI.Gtk.Objects.Switch

Methods

glibType :: IO GType

HasParentTypes Switch Source # 
Instance details

Defined in GI.Gtk.Objects.Switch

IsGValue (Maybe Switch) Source #

Convert Switch to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.Gtk.Objects.Switch

Methods

gvalueGType_ :: IO GType

gvalueSet_ :: Ptr GValue -> Maybe Switch -> IO ()

gvalueGet_ :: Ptr GValue -> IO (Maybe Switch)

type ParentTypes Switch Source # 
Instance details

Defined in GI.Gtk.Objects.Switch

type ParentTypes Switch = '[Widget, Object, Accessible, Actionable, Buildable, ConstraintTarget]

class (GObject o, IsDescendantOf Switch o) => IsSwitch o Source #

Type class for types which can be safely cast to Switch, for instance with toSwitch.

Instances

Instances details
(GObject o, IsDescendantOf Switch o) => IsSwitch o Source # 
Instance details

Defined in GI.Gtk.Objects.Switch

toSwitch :: (MonadIO m, IsSwitch o) => o -> m Switch Source #

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

Methods

Click to display all available methods, including inherited ones

Expand

Methods

actionSetEnabled, activate, activateAction, activateDefault, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, bindProperty, bindPropertyFull, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, disposeTemplate, dragCheckThreshold, errorBell, forceFloating, freezeNotify, getv, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, isAncestor, isDrawable, isFloating, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, notify, notifyByPspec, observeChildren, observeControllers, pick, queueAllocate, queueDraw, queueResize, realize, ref, refSink, removeController, removeCssClass, removeMnemonicLabel, removeTickCallback, resetProperty, resetRelation, resetState, runDispose, shouldLayout, show, sizeAllocate, snapshotChild, stealData, stealQdata, thawNotify, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unref, unsetStateFlags, updateProperty, updateRelation, updateState, watchClosure.

Getters

getAccessibleRole, getActionName, getActionTargetValue, getActive, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getBuildableId, getCanFocus, getCanTarget, getChildVisible, getClipboard, getCssClasses, getCssName, getCursor, getData, getDirection, getDisplay, getFirstChild, getFocusChild, getFocusOnClick, getFocusable, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getName, getNative, getNextSibling, getOpacity, getOverflow, getPangoContext, getParent, getPreferredSize, getPrevSibling, getPrimaryClipboard, getProperty, getQdata, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getSensitive, getSettings, getSize, getSizeRequest, getState, getStateFlags, getStyleContext, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth.

Setters

setActionName, setActionTargetValue, setActive, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCursor, setCursorFromName, setData, setDataFull, setDetailedActionName, setDirection, setFocusChild, setFocusOnClick, setFocusable, setFontMap, setFontOptions, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setName, setOpacity, setOverflow, setParent, setProperty, setReceivesDefault, setSensitive, setSizeRequest, setState, setStateFlags, setTooltipMarkup, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible.

getActive

switchGetActive Source #

Arguments

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

self: a GtkSwitch

-> m Bool

Returns: True if the GtkSwitch is active, and False otherwise

Gets whether the GtkSwitch is in its “on” or “off” state.

getState

switchGetState Source #

Arguments

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

self: a GtkSwitch

-> m Bool

Returns: the underlying state

Gets the underlying state of the GtkSwitch.

new

switchNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m Switch

Returns: the newly created GtkSwitch instance

Creates a new GtkSwitch widget.

setActive

switchSetActive Source #

Arguments

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

self: a GtkSwitch

-> Bool

isActive: True if self should be active, and False otherwise

-> m () 

Changes the state of self to the desired one.

setState

switchSetState Source #

Arguments

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

self: a GtkSwitch

-> Bool

state: the new state

-> m () 

Sets the underlying state of the GtkSwitch.

Normally, this is the same as Switch:active, unless the switch is set up for delayed state changes. This function is typically called from a Switch::stateSet signal handler.

See Switch::stateSet for details.

Properties

active

Whether the GtkSwitch widget is in its on or off state.

constructSwitchActive :: (IsSwitch o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

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

getSwitchActive :: (MonadIO m, IsSwitch o) => o -> m Bool Source #

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

get switch #active

setSwitchActive :: (MonadIO m, IsSwitch o) => o -> Bool -> m () Source #

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

set switch [ #active := value ]

state

The backend state that is controlled by the switch.

See signalgtkSwitch[stateSet] for details.

constructSwitchState :: (IsSwitch o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

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

getSwitchState :: (MonadIO m, IsSwitch o) => o -> m Bool Source #

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

get switch #state

setSwitchState :: (MonadIO m, IsSwitch o) => o -> Bool -> m () Source #

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

set switch [ #state := value ]

Signals

activate

type SwitchActivateCallback = IO () Source #

Emitted to animate the switch.

Applications should never connect to this signal, but use the Switch:active property.

afterSwitchActivate :: (IsSwitch a, MonadIO m) => a -> ((?self :: a) => SwitchActivateCallback) -> m SignalHandlerId Source #

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

after switch #activate 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.

onSwitchActivate :: (IsSwitch a, MonadIO m) => a -> ((?self :: a) => SwitchActivateCallback) -> m SignalHandlerId Source #

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

on switch #activate callback

stateSet

type SwitchStateSetCallback Source #

Arguments

 = Bool

state: the new state of the switch

-> IO Bool

Returns: True to stop the signal emission

Emitted to change the underlying state.

The stateSet signal is emitted when the user changes the switch position. The default handler keeps the state in sync with the Switch:active property.

To implement delayed state change, applications can connect to this signal, initiate the change of the underlying state, and call switchSetState when the underlying state change is complete. The signal handler should return True to prevent the default handler from running.

Visually, the underlying state is represented by the trough color of the switch, while the Switch:active property is represented by the position of the switch.

afterSwitchStateSet :: (IsSwitch a, MonadIO m) => a -> ((?self :: a) => SwitchStateSetCallback) -> m SignalHandlerId Source #

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

after switch #stateSet 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.

onSwitchStateSet :: (IsSwitch a, MonadIO m) => a -> ((?self :: a) => SwitchStateSetCallback) -> m SignalHandlerId Source #

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

on switch #stateSet callback