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 |
ScaleButton
provides a button which pops up a scale widget.
This kind of widget is commonly used for volume controls in multimedia
applications, and GTK+ provides a VolumeButton
subclass that
is tailored for this use case.
CSS nodes
GtkScaleButton has a single CSS node with name button. To differentiate
it from a plain Button
, it gets the .scale style class.
The popup widget that contains the scale has a .scale-popup style class.
Synopsis
- newtype ScaleButton = ScaleButton (ManagedPtr ScaleButton)
- class (GObject o, IsDescendantOf ScaleButton o) => IsScaleButton o
- toScaleButton :: (MonadIO m, IsScaleButton o) => o -> m ScaleButton
- scaleButtonGetAdjustment :: (HasCallStack, MonadIO m, IsScaleButton a) => a -> m Adjustment
- scaleButtonGetMinusButton :: (HasCallStack, MonadIO m, IsScaleButton a) => a -> m Button
- scaleButtonGetPlusButton :: (HasCallStack, MonadIO m, IsScaleButton a) => a -> m Button
- scaleButtonGetPopup :: (HasCallStack, MonadIO m, IsScaleButton a) => a -> m Widget
- scaleButtonGetValue :: (HasCallStack, MonadIO m, IsScaleButton a) => a -> m Double
- scaleButtonNew :: (HasCallStack, MonadIO m) => Int32 -> Double -> Double -> Double -> Maybe [Text] -> m ScaleButton
- scaleButtonSetAdjustment :: (HasCallStack, MonadIO m, IsScaleButton a, IsAdjustment b) => a -> b -> m ()
- scaleButtonSetIcons :: (HasCallStack, MonadIO m, IsScaleButton a) => a -> [Text] -> m ()
- scaleButtonSetValue :: (HasCallStack, MonadIO m, IsScaleButton a) => a -> Double -> m ()
- constructScaleButtonAdjustment :: (IsScaleButton o, MonadIO m, IsAdjustment a) => a -> m (GValueConstruct o)
- getScaleButtonAdjustment :: (MonadIO m, IsScaleButton o) => o -> m Adjustment
- setScaleButtonAdjustment :: (MonadIO m, IsScaleButton o, IsAdjustment a) => o -> a -> m ()
- constructScaleButtonIcons :: (IsScaleButton o, MonadIO m) => [Text] -> m (GValueConstruct o)
- getScaleButtonIcons :: (MonadIO m, IsScaleButton o) => o -> m (Maybe [Text])
- setScaleButtonIcons :: (MonadIO m, IsScaleButton o) => o -> [Text] -> m ()
- constructScaleButtonSize :: (IsScaleButton o, MonadIO m) => IconSize -> m (GValueConstruct o)
- getScaleButtonSize :: (MonadIO m, IsScaleButton o) => o -> m IconSize
- setScaleButtonSize :: (MonadIO m, IsScaleButton o) => o -> IconSize -> m ()
- constructScaleButtonValue :: (IsScaleButton o, MonadIO m) => Double -> m (GValueConstruct o)
- getScaleButtonValue :: (MonadIO m, IsScaleButton o) => o -> m Double
- setScaleButtonValue :: (MonadIO m, IsScaleButton o) => o -> Double -> m ()
- type C_ScaleButtonPopdownCallback = Ptr () -> Ptr () -> IO ()
- type ScaleButtonPopdownCallback = IO ()
- afterScaleButtonPopdown :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonPopdownCallback -> m SignalHandlerId
- genClosure_ScaleButtonPopdown :: MonadIO m => ScaleButtonPopdownCallback -> m (GClosure C_ScaleButtonPopdownCallback)
- mk_ScaleButtonPopdownCallback :: C_ScaleButtonPopdownCallback -> IO (FunPtr C_ScaleButtonPopdownCallback)
- noScaleButtonPopdownCallback :: Maybe ScaleButtonPopdownCallback
- onScaleButtonPopdown :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonPopdownCallback -> m SignalHandlerId
- wrap_ScaleButtonPopdownCallback :: ScaleButtonPopdownCallback -> C_ScaleButtonPopdownCallback
- type C_ScaleButtonPopupCallback = Ptr () -> Ptr () -> IO ()
- type ScaleButtonPopupCallback = IO ()
- afterScaleButtonPopup :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonPopupCallback -> m SignalHandlerId
- genClosure_ScaleButtonPopup :: MonadIO m => ScaleButtonPopupCallback -> m (GClosure C_ScaleButtonPopupCallback)
- mk_ScaleButtonPopupCallback :: C_ScaleButtonPopupCallback -> IO (FunPtr C_ScaleButtonPopupCallback)
- noScaleButtonPopupCallback :: Maybe ScaleButtonPopupCallback
- onScaleButtonPopup :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonPopupCallback -> m SignalHandlerId
- wrap_ScaleButtonPopupCallback :: ScaleButtonPopupCallback -> C_ScaleButtonPopupCallback
- type C_ScaleButtonValueChangedCallback = Ptr () -> CDouble -> Ptr () -> IO ()
- type ScaleButtonValueChangedCallback = Double -> IO ()
- afterScaleButtonValueChanged :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonValueChangedCallback -> m SignalHandlerId
- genClosure_ScaleButtonValueChanged :: MonadIO m => ScaleButtonValueChangedCallback -> m (GClosure C_ScaleButtonValueChangedCallback)
- mk_ScaleButtonValueChangedCallback :: C_ScaleButtonValueChangedCallback -> IO (FunPtr C_ScaleButtonValueChangedCallback)
- noScaleButtonValueChangedCallback :: Maybe ScaleButtonValueChangedCallback
- onScaleButtonValueChanged :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonValueChangedCallback -> m SignalHandlerId
- wrap_ScaleButtonValueChangedCallback :: ScaleButtonValueChangedCallback -> C_ScaleButtonValueChangedCallback
Exported types
newtype ScaleButton Source #
Memory-managed wrapper type.
Instances
Eq ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton (==) :: ScaleButton -> ScaleButton -> Bool # (/=) :: ScaleButton -> ScaleButton -> Bool # | |
IsGValue ScaleButton Source # | Convert |
Defined in GI.Gtk.Objects.ScaleButton toGValue :: ScaleButton -> IO GValue # fromGValue :: GValue -> IO ScaleButton # | |
ManagedPtrNewtype ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
TypedObject ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
GObject ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
HasParentTypes ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
type ParentTypes ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton type ParentTypes ScaleButton = '[Button, Bin, Container, Widget, Object, ImplementorIface, Actionable, Activatable, Buildable, Orientable] |
class (GObject o, IsDescendantOf ScaleButton o) => IsScaleButton o Source #
Type class for types which can be safely cast to ScaleButton
, for instance with toScaleButton
.
Instances
(GObject o, IsDescendantOf ScaleButton o) => IsScaleButton o Source # | |
Defined in GI.Gtk.Objects.ScaleButton |
toScaleButton :: (MonadIO m, IsScaleButton o) => o -> m ScaleButton Source #
Cast to ScaleButton
, for types for which this is known to be safe. For general casts, use castTo
.
Methods
Overloaded methods
getAdjustment
scaleButtonGetAdjustment Source #
:: (HasCallStack, MonadIO m, IsScaleButton a) | |
=> a |
|
-> m Adjustment | Returns: the adjustment associated with the scale |
Gets the Adjustment
associated with the ScaleButton
’s scale.
See rangeGetAdjustment
for details.
Since: 2.12
getMinusButton
scaleButtonGetMinusButton Source #
:: (HasCallStack, MonadIO m, IsScaleButton a) | |
=> a |
|
-> m Button | Returns: the minus button of the |
Retrieves the minus button of the ScaleButton
.
Since: 2.14
getPlusButton
scaleButtonGetPlusButton Source #
:: (HasCallStack, MonadIO m, IsScaleButton a) | |
=> a |
|
-> m Button | Returns: the plus button of the |
Retrieves the plus button of the ScaleButton
.
Since: 2.14
getPopup
:: (HasCallStack, MonadIO m, IsScaleButton a) | |
=> a |
|
-> m Widget | Returns: the popup of the |
Retrieves the popup of the ScaleButton
.
Since: 2.14
getValue
:: (HasCallStack, MonadIO m, IsScaleButton a) | |
=> a |
|
-> m Double | Returns: current value of the scale button |
Gets the current value of the scale button.
Since: 2.12
new
:: (HasCallStack, MonadIO m) | |
=> Int32 |
|
-> Double |
|
-> Double |
|
-> Double |
|
-> Maybe [Text] |
|
-> m ScaleButton | Returns: a new |
Creates a ScaleButton
, with a range between min
and max
, with
a stepping of step
.
Since: 2.12
setAdjustment
scaleButtonSetAdjustment Source #
:: (HasCallStack, MonadIO m, IsScaleButton a, IsAdjustment b) | |
=> a |
|
-> b |
|
-> m () |
Sets the Adjustment
to be used as a model
for the ScaleButton
’s scale.
See rangeSetAdjustment
for details.
Since: 2.12
setIcons
:: (HasCallStack, MonadIO m, IsScaleButton a) | |
=> a |
|
-> [Text] |
|
-> m () |
Sets the icons to be used by the scale button.
For details, see the ScaleButton
:icons
property.
Since: 2.12
setValue
:: (HasCallStack, MonadIO m, IsScaleButton a) | |
=> a |
|
-> Double |
|
-> m () |
Sets the current value of the scale; if the value is outside the minimum or maximum range values, it will be clamped to fit inside them. The scale button emits the valueChanged signal if the value changes.
Since: 2.12
Properties
adjustment
No description available in the introspection data.
constructScaleButtonAdjustment :: (IsScaleButton o, MonadIO m, IsAdjustment a) => a -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “adjustment
” property. This is rarely needed directly, but it is used by new
.
getScaleButtonAdjustment :: (MonadIO m, IsScaleButton o) => o -> m Adjustment Source #
Get the value of the “adjustment
” property.
When overloading is enabled, this is equivalent to
get
scaleButton #adjustment
setScaleButtonAdjustment :: (MonadIO m, IsScaleButton o, IsAdjustment a) => o -> a -> m () Source #
Set the value of the “adjustment
” property.
When overloading is enabled, this is equivalent to
set
scaleButton [ #adjustment:=
value ]
icons
The names of the icons to be used by the scale button. The first item in the array will be used in the button when the current value is the lowest value, the second item for the highest value. All the subsequent icons will be used for all the other values, spread evenly over the range of values.
If there's only one icon name in the icons
array, it will
be used for all the values. If only two icon names are in
the icons
array, the first one will be used for the bottom
50% of the scale, and the second one for the top 50%.
It is recommended to use at least 3 icons so that the
ScaleButton
reflects the current value of the scale
better for the users.
Since: 2.12
constructScaleButtonIcons :: (IsScaleButton o, MonadIO m) => [Text] -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “icons
” property. This is rarely needed directly, but it is used by new
.
getScaleButtonIcons :: (MonadIO m, IsScaleButton o) => o -> m (Maybe [Text]) Source #
Get the value of the “icons
” property.
When overloading is enabled, this is equivalent to
get
scaleButton #icons
setScaleButtonIcons :: (MonadIO m, IsScaleButton o) => o -> [Text] -> m () Source #
Set the value of the “icons
” property.
When overloading is enabled, this is equivalent to
set
scaleButton [ #icons:=
value ]
size
No description available in the introspection data.
constructScaleButtonSize :: (IsScaleButton o, MonadIO m) => IconSize -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “size
” property. This is rarely needed directly, but it is used by new
.
getScaleButtonSize :: (MonadIO m, IsScaleButton o) => o -> m IconSize Source #
Get the value of the “size
” property.
When overloading is enabled, this is equivalent to
get
scaleButton #size
setScaleButtonSize :: (MonadIO m, IsScaleButton o) => o -> IconSize -> m () Source #
Set the value of the “size
” property.
When overloading is enabled, this is equivalent to
set
scaleButton [ #size:=
value ]
value
No description available in the introspection data.
constructScaleButtonValue :: (IsScaleButton 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
.
getScaleButtonValue :: (MonadIO m, IsScaleButton o) => o -> m Double Source #
Get the value of the “value
” property.
When overloading is enabled, this is equivalent to
get
scaleButton #value
setScaleButtonValue :: (MonadIO m, IsScaleButton o) => o -> Double -> m () Source #
Set the value of the “value
” property.
When overloading is enabled, this is equivalent to
set
scaleButton [ #value:=
value ]
Signals
popdown
type C_ScaleButtonPopdownCallback = Ptr () -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
type ScaleButtonPopdownCallback = IO () Source #
The popdown signal is a [keybinding signal][GtkBindingSignal] which gets emitted to popdown the scale widget.
The default binding for this signal is Escape.
Since: 2.12
afterScaleButtonPopdown :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonPopdownCallback -> m SignalHandlerId Source #
Connect a signal handler for the popdown signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
scaleButton #popdown callback
genClosure_ScaleButtonPopdown :: MonadIO m => ScaleButtonPopdownCallback -> m (GClosure C_ScaleButtonPopdownCallback) Source #
Wrap the callback into a GClosure
.
mk_ScaleButtonPopdownCallback :: C_ScaleButtonPopdownCallback -> IO (FunPtr C_ScaleButtonPopdownCallback) Source #
Generate a function pointer callable from C code, from a C_ScaleButtonPopdownCallback
.
noScaleButtonPopdownCallback :: Maybe ScaleButtonPopdownCallback Source #
A convenience synonym for
.Nothing
:: Maybe
ScaleButtonPopdownCallback
onScaleButtonPopdown :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonPopdownCallback -> m SignalHandlerId Source #
Connect a signal handler for the popdown signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
scaleButton #popdown callback
wrap_ScaleButtonPopdownCallback :: ScaleButtonPopdownCallback -> C_ScaleButtonPopdownCallback Source #
Wrap a ScaleButtonPopdownCallback
into a C_ScaleButtonPopdownCallback
.
popup
type C_ScaleButtonPopupCallback = Ptr () -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
type ScaleButtonPopupCallback = IO () Source #
The popup signal is a [keybinding signal][GtkBindingSignal] which gets emitted to popup the scale widget.
The default bindings for this signal are Space, Enter and Return.
Since: 2.12
afterScaleButtonPopup :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonPopupCallback -> m SignalHandlerId Source #
Connect a signal handler for the popup signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
scaleButton #popup callback
genClosure_ScaleButtonPopup :: MonadIO m => ScaleButtonPopupCallback -> m (GClosure C_ScaleButtonPopupCallback) Source #
Wrap the callback into a GClosure
.
mk_ScaleButtonPopupCallback :: C_ScaleButtonPopupCallback -> IO (FunPtr C_ScaleButtonPopupCallback) Source #
Generate a function pointer callable from C code, from a C_ScaleButtonPopupCallback
.
noScaleButtonPopupCallback :: Maybe ScaleButtonPopupCallback Source #
A convenience synonym for
.Nothing
:: Maybe
ScaleButtonPopupCallback
onScaleButtonPopup :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonPopupCallback -> m SignalHandlerId Source #
Connect a signal handler for the popup signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
scaleButton #popup callback
wrap_ScaleButtonPopupCallback :: ScaleButtonPopupCallback -> C_ScaleButtonPopupCallback Source #
Wrap a ScaleButtonPopupCallback
into a C_ScaleButtonPopupCallback
.
valueChanged
type C_ScaleButtonValueChangedCallback = Ptr () -> CDouble -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
type ScaleButtonValueChangedCallback Source #
The valueChanged signal is emitted when the value field has changed.
Since: 2.12
afterScaleButtonValueChanged :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonValueChangedCallback -> 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
scaleButton #valueChanged callback
genClosure_ScaleButtonValueChanged :: MonadIO m => ScaleButtonValueChangedCallback -> m (GClosure C_ScaleButtonValueChangedCallback) Source #
Wrap the callback into a GClosure
.
mk_ScaleButtonValueChangedCallback :: C_ScaleButtonValueChangedCallback -> IO (FunPtr C_ScaleButtonValueChangedCallback) Source #
Generate a function pointer callable from C code, from a C_ScaleButtonValueChangedCallback
.
noScaleButtonValueChangedCallback :: Maybe ScaleButtonValueChangedCallback Source #
A convenience synonym for
.Nothing
:: Maybe
ScaleButtonValueChangedCallback
onScaleButtonValueChanged :: (IsScaleButton a, MonadIO m) => a -> ScaleButtonValueChangedCallback -> 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
scaleButton #valueChanged callback