Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
Switch
is a widget 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 stateSet for details.
CSS nodes
plain code
switch ╰── slider
GtkSwitch has two css nodes, the main node with the name switch and a subnode named slider. Neither of them is using any style classes.
Synopsis
- newtype Switch = Switch (ManagedPtr Switch)
- class (GObject o, IsDescendantOf Switch o) => IsSwitch o
- toSwitch :: (MonadIO m, IsSwitch o) => o -> m Switch
- switchGetActive :: (HasCallStack, MonadIO m, IsSwitch a) => a -> m Bool
- switchGetState :: (HasCallStack, MonadIO m, IsSwitch a) => a -> m Bool
- switchNew :: (HasCallStack, MonadIO m) => m Switch
- switchSetActive :: (HasCallStack, MonadIO m, IsSwitch a) => a -> Bool -> m ()
- switchSetState :: (HasCallStack, MonadIO m, IsSwitch a) => a -> Bool -> m ()
- constructSwitchActive :: (IsSwitch o, MonadIO m) => Bool -> m (GValueConstruct o)
- getSwitchActive :: (MonadIO m, IsSwitch o) => o -> m Bool
- setSwitchActive :: (MonadIO m, IsSwitch o) => o -> Bool -> m ()
- constructSwitchState :: (IsSwitch o, MonadIO m) => Bool -> m (GValueConstruct o)
- getSwitchState :: (MonadIO m, IsSwitch o) => o -> m Bool
- setSwitchState :: (MonadIO m, IsSwitch o) => o -> Bool -> m ()
- type C_SwitchActivateCallback = Ptr () -> Ptr () -> IO ()
- type SwitchActivateCallback = IO ()
- afterSwitchActivate :: (IsSwitch a, MonadIO m) => a -> SwitchActivateCallback -> m SignalHandlerId
- genClosure_SwitchActivate :: MonadIO m => SwitchActivateCallback -> m (GClosure C_SwitchActivateCallback)
- mk_SwitchActivateCallback :: C_SwitchActivateCallback -> IO (FunPtr C_SwitchActivateCallback)
- noSwitchActivateCallback :: Maybe SwitchActivateCallback
- onSwitchActivate :: (IsSwitch a, MonadIO m) => a -> SwitchActivateCallback -> m SignalHandlerId
- wrap_SwitchActivateCallback :: SwitchActivateCallback -> C_SwitchActivateCallback
- type C_SwitchStateSetCallback = Ptr () -> CInt -> Ptr () -> IO CInt
- type SwitchStateSetCallback = Bool -> IO Bool
- afterSwitchStateSet :: (IsSwitch a, MonadIO m) => a -> SwitchStateSetCallback -> m SignalHandlerId
- genClosure_SwitchStateSet :: MonadIO m => SwitchStateSetCallback -> m (GClosure C_SwitchStateSetCallback)
- mk_SwitchStateSetCallback :: C_SwitchStateSetCallback -> IO (FunPtr C_SwitchStateSetCallback)
- noSwitchStateSetCallback :: Maybe SwitchStateSetCallback
- onSwitchStateSet :: (IsSwitch a, MonadIO m) => a -> SwitchStateSetCallback -> m SignalHandlerId
- wrap_SwitchStateSetCallback :: SwitchStateSetCallback -> C_SwitchStateSetCallback
Exported types
Memory-managed wrapper type.
Instances
Eq Switch Source # | |
IsGValue Switch Source # | Convert |
ManagedPtrNewtype Switch Source # | |
Defined in GI.Gtk.Objects.Switch toManagedPtr :: Switch -> ManagedPtr Switch # | |
TypedObject Switch Source # | |
Defined in GI.Gtk.Objects.Switch | |
GObject Switch Source # | |
Defined in GI.Gtk.Objects.Switch | |
HasParentTypes Switch Source # | |
Defined in GI.Gtk.Objects.Switch | |
type ParentTypes Switch Source # | |
Defined in GI.Gtk.Objects.Switch |
class (GObject o, IsDescendantOf Switch o) => IsSwitch o Source #
Instances
(GObject o, IsDescendantOf Switch o) => IsSwitch o Source # | |
Defined in GI.Gtk.Objects.Switch |
Methods
Overloaded methods
getActive
:: (HasCallStack, MonadIO m, IsSwitch a) | |
=> a |
|
-> m Bool | Returns: |
Gets whether the Switch
is in its “on” or “off” state.
Since: 3.0
getState
:: (HasCallStack, MonadIO m, IsSwitch a) | |
=> a |
|
-> m Bool | Returns: the underlying state |
Gets the underlying state of the Switch
.
Since: 3.14
new
:: (HasCallStack, MonadIO m) | |
=> m Switch | Returns: the newly created |
Creates a new Switch
widget.
Since: 3.0
setActive
:: (HasCallStack, MonadIO m, IsSwitch a) | |
=> a |
|
-> Bool |
|
-> m () |
Changes the state of sw
to the desired one.
Since: 3.0
setState
:: (HasCallStack, MonadIO m, IsSwitch a) | |
=> a |
|
-> Bool |
|
-> m () |
Properties
active
Whether the Switch
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 stateSet for details.
Since: 3.14
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 C_SwitchActivateCallback = Ptr () -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
type SwitchActivateCallback = IO () Source #
The activate signal on GtkSwitch is an action signal and emitting it causes the switch to animate. Applications should never connect to this signal, but use the notify[active](#g:signal:active) signal.
afterSwitchActivate :: (IsSwitch a, MonadIO m) => 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
genClosure_SwitchActivate :: MonadIO m => SwitchActivateCallback -> m (GClosure C_SwitchActivateCallback) Source #
Wrap the callback into a GClosure
.
mk_SwitchActivateCallback :: C_SwitchActivateCallback -> IO (FunPtr C_SwitchActivateCallback) Source #
Generate a function pointer callable from C code, from a C_SwitchActivateCallback
.
noSwitchActivateCallback :: Maybe SwitchActivateCallback Source #
A convenience synonym for
.Nothing
:: Maybe
SwitchActivateCallback
onSwitchActivate :: (IsSwitch a, MonadIO m) => 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
wrap_SwitchActivateCallback :: SwitchActivateCallback -> C_SwitchActivateCallback Source #
Wrap a SwitchActivateCallback
into a C_SwitchActivateCallback
.
stateSet
type C_SwitchStateSetCallback = Ptr () -> CInt -> Ptr () -> IO CInt Source #
Type for the callback on the (unwrapped) C side.
type SwitchStateSetCallback Source #
The stateSet signal on GtkSwitch is emitted to change the underlying
state. It 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.
Since: 3.14
afterSwitchStateSet :: (IsSwitch a, MonadIO m) => 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
genClosure_SwitchStateSet :: MonadIO m => SwitchStateSetCallback -> m (GClosure C_SwitchStateSetCallback) Source #
Wrap the callback into a GClosure
.
mk_SwitchStateSetCallback :: C_SwitchStateSetCallback -> IO (FunPtr C_SwitchStateSetCallback) Source #
Generate a function pointer callable from C code, from a C_SwitchStateSetCallback
.
noSwitchStateSetCallback :: Maybe SwitchStateSetCallback Source #
A convenience synonym for
.Nothing
:: Maybe
SwitchStateSetCallback
onSwitchStateSet :: (IsSwitch a, MonadIO m) => 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