| 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 |
GI.Gtk.Objects.Button
Description
The Button widget is generally used to trigger a callback function that is
called when the button is pressed. The various signals and how to use them
are outlined below.
The Button widget can hold any valid child widget. That is, it can hold
almost any other standard Widget. The most commonly used child is the
Label.
CSS nodes
GtkButton has a single CSS node with name button. The node will get the style classes .image-button or .text-button, if the content is just an image or label, respectively. It may also receive the .flat style class.
Other style classes that are commonly used with GtkButton include .suggested-action and .destructive-action. In special cases, buttons can be made round by adding the .circular style class.
Button-like widgets like ToggleButton, MenuButton, VolumeButton,
LockButton, ColorButton, FontButton or FileChooserButton use
style classes such as .toggle, .popup, .scale, .lock, .color, .file
to differentiate themselves from a plain GtkButton.
Synopsis
- newtype Button = Button (ManagedPtr Button)
- class (GObject o, IsDescendantOf Button o) => IsButton o
- toButton :: (MonadIO m, IsButton o) => o -> m Button
- noButton :: Maybe Button
- buttonClicked :: (HasCallStack, MonadIO m, IsButton a) => a -> m ()
- buttonGetIconName :: (HasCallStack, MonadIO m, IsButton a) => a -> m (Maybe Text)
- buttonGetLabel :: (HasCallStack, MonadIO m, IsButton a) => a -> m (Maybe Text)
- buttonGetRelief :: (HasCallStack, MonadIO m, IsButton a) => a -> m ReliefStyle
- buttonGetUseUnderline :: (HasCallStack, MonadIO m, IsButton a) => a -> m Bool
- buttonNew :: (HasCallStack, MonadIO m) => m Button
- buttonNewFromIconName :: (HasCallStack, MonadIO m) => Maybe Text -> m Button
- buttonNewWithLabel :: (HasCallStack, MonadIO m) => Text -> m Button
- buttonNewWithMnemonic :: (HasCallStack, MonadIO m) => Text -> m Button
- buttonSetIconName :: (HasCallStack, MonadIO m, IsButton a) => a -> Text -> m ()
- buttonSetLabel :: (HasCallStack, MonadIO m, IsButton a) => a -> Text -> m ()
- buttonSetRelief :: (HasCallStack, MonadIO m, IsButton a) => a -> ReliefStyle -> m ()
- buttonSetUseUnderline :: (HasCallStack, MonadIO m, IsButton a) => a -> Bool -> m ()
- constructButtonIconName :: IsButton o => Text -> IO (GValueConstruct o)
- getButtonIconName :: (MonadIO m, IsButton o) => o -> m (Maybe Text)
- setButtonIconName :: (MonadIO m, IsButton o) => o -> Text -> m ()
- constructButtonLabel :: IsButton o => Text -> IO (GValueConstruct o)
- getButtonLabel :: (MonadIO m, IsButton o) => o -> m (Maybe Text)
- setButtonLabel :: (MonadIO m, IsButton o) => o -> Text -> m ()
- constructButtonRelief :: IsButton o => ReliefStyle -> IO (GValueConstruct o)
- getButtonRelief :: (MonadIO m, IsButton o) => o -> m ReliefStyle
- setButtonRelief :: (MonadIO m, IsButton o) => o -> ReliefStyle -> m ()
- constructButtonUseUnderline :: IsButton o => Bool -> IO (GValueConstruct o)
- getButtonUseUnderline :: (MonadIO m, IsButton o) => o -> m Bool
- setButtonUseUnderline :: (MonadIO m, IsButton o) => o -> Bool -> m ()
- type ButtonActivateCallback = IO ()
- type C_ButtonActivateCallback = Ptr () -> Ptr () -> IO ()
- afterButtonActivate :: (IsButton a, MonadIO m) => a -> ButtonActivateCallback -> m SignalHandlerId
- genClosure_ButtonActivate :: MonadIO m => ButtonActivateCallback -> m (GClosure C_ButtonActivateCallback)
- mk_ButtonActivateCallback :: C_ButtonActivateCallback -> IO (FunPtr C_ButtonActivateCallback)
- noButtonActivateCallback :: Maybe ButtonActivateCallback
- onButtonActivate :: (IsButton a, MonadIO m) => a -> ButtonActivateCallback -> m SignalHandlerId
- wrap_ButtonActivateCallback :: ButtonActivateCallback -> C_ButtonActivateCallback
- type ButtonClickedCallback = IO ()
- type C_ButtonClickedCallback = Ptr () -> Ptr () -> IO ()
- afterButtonClicked :: (IsButton a, MonadIO m) => a -> ButtonClickedCallback -> m SignalHandlerId
- genClosure_ButtonClicked :: MonadIO m => ButtonClickedCallback -> m (GClosure C_ButtonClickedCallback)
- mk_ButtonClickedCallback :: C_ButtonClickedCallback -> IO (FunPtr C_ButtonClickedCallback)
- noButtonClickedCallback :: Maybe ButtonClickedCallback
- onButtonClicked :: (IsButton a, MonadIO m) => a -> ButtonClickedCallback -> m SignalHandlerId
- wrap_ButtonClickedCallback :: ButtonClickedCallback -> C_ButtonClickedCallback
Exported types
Memory-managed wrapper type.
Constructors
| Button (ManagedPtr Button) |
Instances
| Eq Button Source # | |
| IsGValue Button Source # | Convert |
| GObject Button Source # | |
Defined in GI.Gtk.Objects.Button Methods gobjectType :: IO GType # | |
| HasParentTypes Button Source # | |
Defined in GI.Gtk.Objects.Button | |
| type ParentTypes Button Source # | |
Defined in GI.Gtk.Objects.Button type ParentTypes Button = '[Bin, Container, Widget, Object, ImplementorIface, Actionable, Buildable] | |
class (GObject o, IsDescendantOf Button o) => IsButton o Source #
Instances
| (GObject o, IsDescendantOf Button o) => IsButton o Source # | |
Defined in GI.Gtk.Objects.Button | |
Methods
Overloaded methods
clicked
Arguments
| :: (HasCallStack, MonadIO m, IsButton a) | |
| => a |
|
| -> m () |
getIconName
Arguments
| :: (HasCallStack, MonadIO m, IsButton a) | |
| => a |
|
| -> m (Maybe Text) | Returns: The icon name set via |
Returns the icon name set via buttonSetIconName.
getLabel
Arguments
| :: (HasCallStack, MonadIO m, IsButton a) | |
| => a |
|
| -> m (Maybe Text) | Returns: The text of the label widget. This string is owned by the widget and must not be modified or freed. |
Fetches the text from the label of the button, as set by
buttonSetLabel. If the label text has not
been set the return value will be Nothing. This will be the
case if you create an empty button with buttonNew to
use as a container.
getRelief
Arguments
| :: (HasCallStack, MonadIO m, IsButton a) | |
| => a |
|
| -> m ReliefStyle | Returns: The current |
Returns the current relief style of the given Button.
getUseUnderline
buttonGetUseUnderline Source #
Arguments
| :: (HasCallStack, MonadIO m, IsButton a) | |
| => a |
|
| -> m Bool | Returns: |
Returns whether an embedded underline in the button label indicates a
mnemonic. See buttonSetUseUnderline.
new
Arguments
| :: (HasCallStack, MonadIO m) | |
| => m Button | Returns: The newly created |
Creates a new Button widget. To add a child widget to the button,
use containerAdd.
newFromIconName
buttonNewFromIconName Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Maybe Text |
|
| -> m Button | Returns: a new |
Creates a new button containing an icon from the current icon theme.
If the icon name isn’t known, a “broken image” icon will be displayed instead. If the current icon theme is changed, the icon will be updated appropriately.
newWithLabel
newWithMnemonic
buttonNewWithMnemonic Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Text |
|
| -> m Button | Returns: a new |
Creates a new Button containing a label.
If characters in label are preceded by an underscore, they are underlined.
If you need a literal underscore character in a label, use “__” (two
underscores). The first underlined character represents a keyboard
accelerator called a mnemonic.
Pressing Alt and that key activates the button.
setIconName
Arguments
| :: (HasCallStack, MonadIO m, IsButton a) | |
| => a |
|
| -> Text |
|
| -> m () |
Adds a Image with the given icon name as a child. If button already
contains a child widget, that child widget will be removed and replaced
with the image.
setLabel
Arguments
| :: (HasCallStack, MonadIO m, IsButton a) | |
| => a |
|
| -> Text |
|
| -> m () |
Sets the text of the label of the button to label.
This will also clear any previously set labels.
setRelief
Arguments
| :: (HasCallStack, MonadIO m, IsButton a) | |
| => a |
|
| -> ReliefStyle |
|
| -> m () |
Sets the relief style of the edges of the given Button widget.
Two styles exist, ReliefStyleNormal and ReliefStyleNone.
The default style is, as one can guess, ReliefStyleNormal.
setUseUnderline
buttonSetUseUnderline Source #
Arguments
| :: (HasCallStack, MonadIO m, IsButton a) | |
| => a |
|
| -> Bool |
|
| -> m () |
If true, an underline in the text of the button label indicates the next character should be used for the mnemonic accelerator key.
Properties
iconName
No description available in the introspection data.
constructButtonIconName :: IsButton o => Text -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “icon-name” property. This is rarely needed directly, but it is used by new.
getButtonIconName :: (MonadIO m, IsButton o) => o -> m (Maybe Text) Source #
Get the value of the “icon-name” property.
When overloading is enabled, this is equivalent to
get button #iconName
setButtonIconName :: (MonadIO m, IsButton o) => o -> Text -> m () Source #
Set the value of the “icon-name” property.
When overloading is enabled, this is equivalent to
setbutton [ #iconName:=value ]
label
No description available in the introspection data.
constructButtonLabel :: IsButton o => Text -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “label” property. This is rarely needed directly, but it is used by new.
getButtonLabel :: (MonadIO m, IsButton o) => o -> m (Maybe Text) Source #
Get the value of the “label” property.
When overloading is enabled, this is equivalent to
get button #label
setButtonLabel :: (MonadIO m, IsButton o) => o -> Text -> m () Source #
Set the value of the “label” property.
When overloading is enabled, this is equivalent to
setbutton [ #label:=value ]
relief
No description available in the introspection data.
constructButtonRelief :: IsButton o => ReliefStyle -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “relief” property. This is rarely needed directly, but it is used by new.
getButtonRelief :: (MonadIO m, IsButton o) => o -> m ReliefStyle Source #
Get the value of the “relief” property.
When overloading is enabled, this is equivalent to
get button #relief
setButtonRelief :: (MonadIO m, IsButton o) => o -> ReliefStyle -> m () Source #
Set the value of the “relief” property.
When overloading is enabled, this is equivalent to
setbutton [ #relief:=value ]
useUnderline
No description available in the introspection data.
constructButtonUseUnderline :: IsButton o => Bool -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “use-underline” property. This is rarely needed directly, but it is used by new.
getButtonUseUnderline :: (MonadIO m, IsButton o) => o -> m Bool Source #
Get the value of the “use-underline” property.
When overloading is enabled, this is equivalent to
get button #useUnderline
setButtonUseUnderline :: (MonadIO m, IsButton o) => o -> Bool -> m () Source #
Set the value of the “use-underline” property.
When overloading is enabled, this is equivalent to
setbutton [ #useUnderline:=value ]
Signals
activate
type ButtonActivateCallback = IO () Source #
type C_ButtonActivateCallback = Ptr () -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
afterButtonActivate :: (IsButton a, MonadIO m) => a -> ButtonActivateCallback -> 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 button #activate callback
genClosure_ButtonActivate :: MonadIO m => ButtonActivateCallback -> m (GClosure C_ButtonActivateCallback) Source #
Wrap the callback into a GClosure.
mk_ButtonActivateCallback :: C_ButtonActivateCallback -> IO (FunPtr C_ButtonActivateCallback) Source #
Generate a function pointer callable from C code, from a C_ButtonActivateCallback.
noButtonActivateCallback :: Maybe ButtonActivateCallback Source #
A convenience synonym for .Nothing :: Maybe ButtonActivateCallback
onButtonActivate :: (IsButton a, MonadIO m) => a -> ButtonActivateCallback -> 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 button #activate callback
wrap_ButtonActivateCallback :: ButtonActivateCallback -> C_ButtonActivateCallback Source #
Wrap a ButtonActivateCallback into a C_ButtonActivateCallback.
clicked
type ButtonClickedCallback = IO () Source #
Emitted when the button has been activated (pressed and released).
type C_ButtonClickedCallback = Ptr () -> Ptr () -> IO () Source #
Type for the callback on the (unwrapped) C side.
afterButtonClicked :: (IsButton a, MonadIO m) => a -> ButtonClickedCallback -> m SignalHandlerId Source #
Connect a signal handler for the clicked signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after button #clicked callback
genClosure_ButtonClicked :: MonadIO m => ButtonClickedCallback -> m (GClosure C_ButtonClickedCallback) Source #
Wrap the callback into a GClosure.
mk_ButtonClickedCallback :: C_ButtonClickedCallback -> IO (FunPtr C_ButtonClickedCallback) Source #
Generate a function pointer callable from C code, from a C_ButtonClickedCallback.
noButtonClickedCallback :: Maybe ButtonClickedCallback Source #
A convenience synonym for .Nothing :: Maybe ButtonClickedCallback
onButtonClicked :: (IsButton a, MonadIO m) => a -> ButtonClickedCallback -> m SignalHandlerId Source #
Connect a signal handler for the clicked signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on button #clicked callback