Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
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.
Synopsis
- newtype ScaleButton = ScaleButton (ManagedPtr ScaleButton)
- class GObject o => IsScaleButton o
- toScaleButton :: (MonadIO m, IsScaleButton o) => o -> m ScaleButton
- noScaleButton :: Maybe 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, IsAdjustment a) => a -> IO (GValueConstruct o)
- getScaleButtonAdjustment :: (MonadIO m, IsScaleButton o) => o -> m Adjustment
- setScaleButtonAdjustment :: (MonadIO m, IsScaleButton o, IsAdjustment a) => o -> a -> m ()
- constructScaleButtonIcons :: IsScaleButton o => [Text] -> IO (GValueConstruct o)
- getScaleButtonIcons :: (MonadIO m, IsScaleButton o) => o -> m (Maybe [Text])
- setScaleButtonIcons :: (MonadIO m, IsScaleButton o) => o -> [Text] -> m ()
- constructScaleButtonSize :: IsScaleButton o => IconSize -> IO (GValueConstruct o)
- getScaleButtonSize :: (MonadIO m, IsScaleButton o) => o -> m IconSize
- setScaleButtonSize :: (MonadIO m, IsScaleButton o) => o -> IconSize -> m ()
- constructScaleButtonValue :: IsScaleButton o => Double -> IO (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 :: ScaleButtonPopdownCallback -> IO Closure
- 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 :: ScaleButtonPopupCallback -> IO Closure
- 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 :: ScaleButtonValueChangedCallback -> IO Closure
- 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
GObject ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton gobjectType :: ScaleButton -> IO GType # | |
IsImplementorIface ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
IsObject ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
IsActionable ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
IsActivatable ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
IsBuildable ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
IsOrientable ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
IsBin ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
IsButton ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
IsContainer ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
IsScaleButton ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
IsWidget ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton |
class GObject o => IsScaleButton o Source #
Type class for types which can be safely cast to ScaleButton
, for instance with toScaleButton
.
Instances
(GObject a, (UnknownAncestorError ScaleButton a :: Constraint)) => IsScaleButton a Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
IsScaleButton ScaleButton Source # | |
Defined in GI.Gtk.Objects.ScaleButton | |
IsScaleButton VolumeButton Source # | |
Defined in GI.Gtk.Objects.VolumeButton |
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
.
noScaleButton :: Maybe ScaleButton Source #
A convenience alias for Nothing
:: Maybe
ScaleButton
.
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 ScaleButton
::value-changed
signal if the value changes.
Since: 2.12
Properties
adjustment
No description available in the introspection data.
constructScaleButtonAdjustment :: (IsScaleButton o, IsAdjustment a) => a -> IO (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 => [Text] -> IO (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 => IconSize -> IO (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 => Double -> IO (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 :: ScaleButtonPopdownCallback -> IO Closure Source #
Wrap the callback into a Closure
.
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 :: ScaleButtonPopupCallback -> IO Closure Source #
Wrap the callback into a Closure
.
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 ::value-changed 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 “value-changed
” signal, to be run after the default handler.
When overloading is enabled, this is equivalent to
after
scaleButton #valueChanged callback
genClosure_ScaleButtonValueChanged :: ScaleButtonValueChangedCallback -> IO Closure Source #
Wrap the callback into a Closure
.
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 “value-changed
” signal, to be run before the default handler.
When overloading is enabled, this is equivalent to
on
scaleButton #valueChanged callback