Button

The GtkButton 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 GtkButton widget can hold any valid child widget. That is, it can hold almost any other standard GtkWidget. The most commonly used child is the GtkLabel.

class Button : Bin , ActionableIF , ActivatableIF {}

Constructors

this
this(GtkButton* gtkButton)

Sets our main struct and passes it to the parent class

this
this(string label, bool mnemonic)

Creates a new GtkButton 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.

this
this(StockID stockID, bool hideLabel)

Creates a new GtkButton containing the image and text from a stock item. Some stock ids have preprocessor macros like GTK_STOCK_OK and GTK_STOCK_APPLY. If stock_id is unknown, then it will be treated as a mnemonic label (as for gtk_button_new_with_mnemonic()).

this
this(StockID stockID, void delegate(Button) dlg, bool hideLabel)
this
this(string label, void delegate(Button) dlg, bool mnemonic)
this
this(string label, void delegate(Button) dlg, string action)
this
this()

Creates a new GtkButton widget. To add a child widget to the button, use gtk_container_add().

this
this(string iconName, GtkIconSize size)

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. This function is a convenience wrapper around gtk_button_new() and gtk_button_set_image().

Members

Functions

addOnActivate
void addOnActivate(void delegate(Button) dlg, ConnectFlags connectFlags)

The ::activate signal on GtkButton is an action signal and emitting it causes the button to animate press then release. Applications should never connect to this signal, but use the "clicked" signal.

addOnClicked
void addOnClicked(void delegate(Button) dlg, ConnectFlags connectFlags)

Emitted when the button has been activated (pressed and released).

addOnEnter
void addOnEnter(void delegate(Button) dlg, ConnectFlags connectFlags)

Warning GtkButton::enter has been deprecated since version 2.8 and should not be used in newly-written code. Use the "enter-notify-event" signal. Emitted when the pointer enters the button.

addOnLeave
void addOnLeave(void delegate(Button) dlg, ConnectFlags connectFlags)

Warning GtkButton::leave has been deprecated since version 2.8 and should not be used in newly-written code. Use the "leave-notify-event" signal. Emitted when the pointer leaves the button.

addOnPressed
void addOnPressed(void delegate(Button) dlg, ConnectFlags connectFlags)

Warning GtkButton::pressed has been deprecated since version 2.8 and should not be used in newly-written code. Use the "button-press-event" signal. Emitted when the button is pressed.

addOnReleased
void addOnReleased(void delegate(Button) dlg, ConnectFlags connectFlags)

Warning GtkButton::released has been deprecated since version 2.8 and should not be used in newly-written code. Use the "button-release-event" signal. Emitted when the button is released.

clicked
void clicked()

Emits a "clicked" signal to the given GtkButton.

enter
void enter()

Warning gtk_button_enter has been deprecated since version 2.20 and should not be used in newly-written code. Use the "enter-notify-event" signal. Emits a "enter" signal to the given GtkButton.

getAlignment
void getAlignment(float xalign, float yalign)

Gets the alignment of the child in the button. Since 2.4

getAlwaysShowImage
int getAlwaysShowImage()

Returns whether the button will always show the image in addition to the label, if available.

getButtonStruct
GtkButton* getButtonStruct()

Get the main Gtk struct

getEventWindow
Window getEventWindow()

Returns the button's event window if it is realized, NULL otherwise. This function should be rarely needed. Since 2.22

getFocusOnClick
int getFocusOnClick()

Returns whether the button grabs focus when it is clicked with the mouse. See gtk_button_set_focus_on_click(). Since 2.4

getImage
Widget getImage()

Gets the widget that is currenty set as the image of button. This may have been explicitly set by gtk_button_set_image() or constructed by gtk_button_new_from_stock(). Since 2.6

getImagePosition
GtkPositionType getImagePosition()

Gets the position of the image relative to the text inside the button. Since 2.10

getLabel
string getLabel()

Fetches the text from the label of the button, as set by gtk_button_set_label(). If the label text has not been set the return value will be NULL. This will be the case if you create an empty button with gtk_button_new() to use as a container.

getRelief
GtkReliefStyle getRelief()

Returns the current relief style of the given GtkButton.

getStruct
void* getStruct()

the main Gtk struct as a void*

getUseStock
int getUseStock()

Warning gtk_button_get_use_stock is deprecated and should not be used in newly-written code. 3.10 Returns whether the button label is a stock item.

getUseUnderline
int getUseUnderline()

Returns whether an embedded underline in the button label indicates a mnemonic. See gtk_button_set_use_underline().

leave
void leave()

Warning gtk_button_leave has been deprecated since version 2.20 and should not be used in newly-written code. Use the "leave-notify-event" signal. Emits a "leave" signal to the given GtkButton.

pressed
void pressed()

Warning gtk_button_pressed has been deprecated since version 2.20 and should not be used in newly-written code. Use the "button-press-event" signal. Emits a "pressed" signal to the given GtkButton.

released
void released()

Warning gtk_button_released has been deprecated since version 2.20 and should not be used in newly-written code. Use the "button-release-event" signal. Emits a "released" signal to the given GtkButton.

setAlignment
void setAlignment(float xalign, float yalign)

Sets the alignment of the child. This property has no effect unless the child is a GtkMisc or a GtkAlignment. Since 2.4

setAlwaysShowImage
void setAlwaysShowImage(int alwaysShow)

If TRUE, the button will always show the image in addition to the label, if available. Use this property if the button would be useless or hard to use without the image.

setFocusOnClick
void setFocusOnClick(int focusOnClick)

Sets whether the button will grab focus when it is clicked with the mouse. Making mouse clicks not grab focus is useful in places like toolbars where you don't want the keyboard focus removed from the main area of the application. Since 2.4

setImage
void setImage(Widget image)

Set the image of button to the given widget. The image will be displayed if the label text is NULL or if "always-show-image" is TRUE. You don't have to call gtk_widget_show() on image yourself. Since 2.6

setImagePosition
void setImagePosition(GtkPositionType position)

Sets the position of the image relative to the text inside the button. Since 2.10

setLabel
void setLabel(string label)

Sets the text of the label of the button to str. This text is also used to select the stock item if gtk_button_set_use_stock() is used. This will also clear any previously set labels.

setRelief
void setRelief(GtkReliefStyle newstyle)

Sets the relief style of the edges of the given GtkButton widget. Three styles exist, GTK_RELIEF_NORMAL, GTK_RELIEF_HALF, GTK_RELIEF_NONE. The default style is, as one can guess, GTK_RELIEF_NORMAL.

setStruct
void setStruct(GObject* obj)
Undocumented in source. Be warned that the author may not have intended to support it.
setUseStock
void setUseStock(int useStock)

Warning gtk_button_set_use_stock is deprecated and should not be used in newly-written code. 3.10 If TRUE, the label set on the button is used as a stock id to select the stock item for the button.

setUseUnderline
void setUseUnderline(int useUnderline)

If true, an underline in the text of the button label indicates the next character should be used for the mnemonic accelerator key.

Mixins

__anonymous
mixin ActionableT!(GtkButton)
Undocumented in source.
__anonymous
mixin ActivatableT!(GtkButton)
Undocumented in source.

Static functions

callBackActivate
void callBackActivate(GtkButton* widgetStruct, Button _button)
Undocumented in source. Be warned that the author may not have intended to support it.
callBackClicked
void callBackClicked(GtkButton* buttonStruct, Button _button)
Undocumented in source. Be warned that the author may not have intended to support it.
callBackEnter
void callBackEnter(GtkButton* buttonStruct, Button _button)
Undocumented in source. Be warned that the author may not have intended to support it.
callBackLeave
void callBackLeave(GtkButton* buttonStruct, Button _button)
Undocumented in source. Be warned that the author may not have intended to support it.
callBackPressed
void callBackPressed(GtkButton* buttonStruct, Button _button)
Undocumented in source. Be warned that the author may not have intended to support it.
callBackReleased
void callBackReleased(GtkButton* buttonStruct, Button _button)
Undocumented in source. Be warned that the author may not have intended to support it.
getIconSize
IconSize getIconSize()
setIconSize
void setIconSize(IconSize iconSize)

Variables

connectedSignals
int[string] connectedSignals;
gtkButton
GtkButton* gtkButton;

the main Gtk struct

onActivateListeners
void delegate(Button)[] onActivateListeners;
Undocumented in source.
onClickedListeners
void delegate(Button)[] onClickedListeners;
Undocumented in source.
onEnterListeners
void delegate(Button)[] onEnterListeners;
Undocumented in source.
onLeaveListeners
void delegate(Button)[] onLeaveListeners;
Undocumented in source.
onPressedListeners
void delegate(Button)[] onPressedListeners;
Undocumented in source.
onReleasedListeners
void delegate(Button)[] onReleasedListeners;
Undocumented in source.

Inherited Members

From Bin

gtkBin
GtkBin* gtkBin;

the main Gtk struct

getBinStruct
GtkBin* getBinStruct()

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

setStruct
void setStruct(GObject* obj)
Undocumented in source. Be warned that the author may not have intended to support it.
getChild
Widget getChild()

Gets the child of the GtkBin, or NULL if the bin contains no child widget. The returned widget does not have a reference added, so you do not need to unref it.

From ActionableIF

getActionableTStruct
GtkActionable* getActionableTStruct()

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

getActionName
string getActionName()

Gets the action name for actionable. See gtk_actionable_set_action_name() for more information.

setActionName
void setActionName(string actionName)

Specifies the name of the action with which this widget should be associated. If action_name is NULL then the widget will be unassociated from any previous action. Usually this function is used when the widget is located (or will be located) within the hierarchy of a GtkApplicationWindow. Names are of the form "win.save" or "app.quit" for actions on the containing GtkApplicationWindow or its associated GtkApplication, respectively. This is the same form used for actions in the GMenu associated with the window.

getActionTargetValue
Variant getActionTargetValue()

Gets the current target value of actionabe. See gtk_actionable_set_action_target_value() for more information.

setActionTargetValue
void setActionTargetValue(Variant targetValue)

Sets the target value of an actionable widget. If target_value is NULL then the target value is unset. The target value has two purposes. First, it is used as the parameter to activation of the action associated with the GtkActionable widget. Second, it is used to determine if the widget should be rendered as "active" - the widget is active if the state is equal to the given target. Consider the example of associating a set of buttons with a GAction with string state in a typical "radio button" situation. Each button will be associated with the same action, but with a different target value for that action. Clicking on a particular button will activate the action with the target of that button, which will typically cause the action's state to change to that value. Since the action's state is now equal to the target value of the button, the button will now be rendered as active (and the other buttons, with different targets, rendered inactive).

setDetailedActionName
void setDetailedActionName(string detailedActionName)

Sets the action-name and associated string target value of an actionable widget. This allows for the effect of both gtk_actionable_set_action_name() and gtk_actionable_set_action_target_value() in the common case that the target is string-valued. detailed_action_name is a string of the form "action::target" where action is the action name and target is the string to use as the target.

From ActivatableIF

getActivatableTStruct
GtkActivatable* getActivatableTStruct()

Get the main Gtk struct

getStruct
void* getStruct()

the main Gtk struct as a void*

doSetRelatedAction
void doSetRelatedAction(Action action)

Warning gtk_activatable_do_set_related_action is deprecated and should not be used in newly-written code. 3.10 This is a utility function for GtkActivatable implementors. When implementing GtkActivatable you must call this when handling changes of the "related-action", and you must also use this to break references in GObject->dispose(). This function adds a reference to the currently set related action for you, it also makes sure the GtkActivatable->update() method is called when the related GtkAction properties change and registers to the action's proxy list. Note Be careful to call this before setting the local copy of the GtkAction property, since this function uses gtk_activatable_get_related_action() to retrieve the previous action Since 2.16

getRelatedAction
Action getRelatedAction()

Warning gtk_activatable_get_related_action is deprecated and should not be used in newly-written code. 3.10 Gets the related GtkAction for activatable. Since 2.16

getUseActionAppearance
int getUseActionAppearance()

Warning gtk_activatable_get_use_action_appearance is deprecated and should not be used in newly-written code. 3.10 Gets whether this activatable should reset its layout and appearance when setting the related action or when the action changes appearance. Since 2.16

syncActionProperties
void syncActionProperties(Action action)

Warning gtk_activatable_sync_action_properties is deprecated and should not be used in newly-written code. 3.10 This is called to update the activatable completely, this is called internally when the "related-action" property is set or unset and by the implementing class when "use-action-appearance" changes. Since 2.16

setRelatedAction
void setRelatedAction(Action action)

Warning gtk_activatable_set_related_action is deprecated and should not be used in newly-written code. 3.10 Sets the related action on the activatable object. Note GtkActivatable implementors need to handle the "related-action" property and call gtk_activatable_do_set_related_action() when it changes. Since 2.16

setUseActionAppearance
void setUseActionAppearance(int useAppearance)

Warning gtk_activatable_set_use_action_appearance is deprecated and should not be used in newly-written code. 3.10 Sets whether this activatable should reset its layout and appearance when setting the related action or when the action changes appearance Note GtkActivatable implementors need to handle the "use-action-appearance" property and call gtk_activatable_sync_action_properties() to update activatable if needed. Since 2.16

Meta