GtkToolButton

GtkToolButton — A GtkToolItem subclass that displays buttons

Synopsis


#include <gtk/gtk.h>

                    GtkToolButton;
GtkToolItem*        gtk_tool_button_new                 (GtkWidget *icon_widget,
                                                         const gchar *label);
GtkToolItem*        gtk_tool_button_new_from_stock      (const gchar *stock_id);
void                gtk_tool_button_set_label           (GtkToolButton *button,
                                                         const gchar *label);
const gchar*        gtk_tool_button_get_label           (GtkToolButton *button);
void                gtk_tool_button_set_use_underline   (GtkToolButton *button,
                                                         gboolean use_underline);
gboolean            gtk_tool_button_get_use_underline   (GtkToolButton *button);
void                gtk_tool_button_set_stock_id        (GtkToolButton *button,
                                                         const gchar *stock_id);
const gchar*        gtk_tool_button_get_stock_id        (GtkToolButton *button);
void                gtk_tool_button_set_icon_name       (GtkToolButton *button,
                                                         const gchar *icon_name);
const gchar*        gtk_tool_button_get_icon_name       (GtkToolButton *button);
void                gtk_tool_button_set_icon_widget     (GtkToolButton *button,
                                                         GtkWidget *icon_widget);
GtkWidget*          gtk_tool_button_get_icon_widget     (GtkToolButton *button);
void                gtk_tool_button_set_label_widget    (GtkToolButton *button,
                                                         GtkWidget *label_widget);
GtkWidget*          gtk_tool_button_get_label_widget    (GtkToolButton *button);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkObject
               +----GtkWidget
                     +----GtkContainer
                           +----GtkBin
                                 +----GtkToolItem
                                       +----GtkToolButton
                                             +----GtkMenuToolButton
                                             +----GtkToggleToolButton

Implemented Interfaces

GtkToolButton implements AtkImplementorIface and GtkBuildable.

Properties

  "icon-name"                gchar*                : Read / Write
  "icon-widget"              GtkWidget*            : Read / Write
  "label"                    gchar*                : Read / Write
  "label-widget"             GtkWidget*            : Read / Write
  "stock-id"                 gchar*                : Read / Write
  "use-underline"            gboolean              : Read / Write

Style Properties

  "icon-spacing"             gint                  : Read / Write

Signals

  "clicked"                                        : Run First / Action

Description

GtkToolButtons are GtkToolItems containing buttons.

Use gtk_tool_button_new() to create a new GtkToolButton. Use gtk_tool_button_new_with_stock() to create a GtkToolButton containing a stock item.

The label of a GtkToolButton is determined by the properties "label-widget", "label", and "stock-id". If "label-widget" is non-NULL, then that widget is used as the label. Otherwise, if "label" is non-NULL, that string is used as the label. Otherwise, if "stock-id" is non-NULL, the label is determined by the stock item. Otherwise, the button does not have a label.

The icon of a GtkToolButton is determined by the properties "icon-widget" and "stock-id". If "icon-widget" is non-NULL, then that widget is used as the icon. Otherwise, if "stock-id" is non-NULL, the icon is determined by the stock item. Otherwise, the button does not have a icon.

Details

GtkToolButton

typedef struct _GtkToolButton GtkToolButton;

The GtkToolButton struct contains only private. It should only be accessed with the function described below.


gtk_tool_button_new ()

GtkToolItem*        gtk_tool_button_new                 (GtkWidget *icon_widget,
                                                         const gchar *label);

Creates a new GtkToolButton using icon_widget as icon and label as label.

icon_widget : a widget that will be used as icon widget, or NULL
label : a string that will be used as label, or NULL
Returns : A new GtkToolButton

Since 2.4


gtk_tool_button_new_from_stock ()

GtkToolItem*        gtk_tool_button_new_from_stock      (const gchar *stock_id);

Creates a new GtkToolButton containing the image and text from a stock item. Some stock ids have preprocessor macros like GTK_STOCK_OK and GTK_STOCK_APPLY.

It is an error if stock_id is not a name of a stock item.

stock_id : the name of the stock item
Returns : A new GtkToolButton

Since 2.4


gtk_tool_button_set_label ()

void                gtk_tool_button_set_label           (GtkToolButton *button,
                                                         const gchar *label);

Sets label as the label used for the tool button. The "label" property only has an effect if not overridden by a non-NULL "label_widget" property. If both the "label_widget" and "label" properties are NULL, the label is determined by the "stock_id" property. If the "stock_id" property is also NULL, button will not have a label.

button : a GtkToolButton
label : a string that will be used as label, or NULL.

Since 2.4


gtk_tool_button_get_label ()

const gchar*        gtk_tool_button_get_label           (GtkToolButton *button);

Returns the label used by the tool button, or NULL if the tool button doesn't have a label. or uses a the label from a stock item. The returned string is owned by GTK+, and must not be modified or freed.

button : a GtkToolButton
Returns : The label, or NULL

Since 2.4


gtk_tool_button_set_use_underline ()

void                gtk_tool_button_set_use_underline   (GtkToolButton *button,
                                                         gboolean use_underline);

If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu. For example, if the label property is "_Open" and use_underline is TRUE, the label on the tool button will be "Open" and the item on the overflow menu will have an underlined 'O'.

Labels shown on tool buttons never have mnemonics on them; this property only affects the menu item on the overflow menu.

button : a GtkToolButton
use_underline : whether the button label has the form "_Open"

Since 2.4


gtk_tool_button_get_use_underline ()

gboolean            gtk_tool_button_get_use_underline   (GtkToolButton *button);

Returns whether underscores in the label property are used as mnemonics on menu items on the overflow menu. See gtk_tool_button_set_use_underline().

button : a GtkToolButton
Returns : TRUE if underscores in the label property are used as mnemonics on menu items on the overflow menu.

Since 2.4


gtk_tool_button_set_stock_id ()

void                gtk_tool_button_set_stock_id        (GtkToolButton *button,
                                                         const gchar *stock_id);

Sets the name of the stock item. See gtk_tool_button_new_from_stock(). The stock_id property only has an effect if not overridden by non-NULL "label" and "icon_widget" properties.

button : a GtkToolButton
stock_id : a name of a stock item, or NULL

Since 2.4


gtk_tool_button_get_stock_id ()

const gchar*        gtk_tool_button_get_stock_id        (GtkToolButton *button);

Returns the name of the stock item. See gtk_tool_button_set_stock_id(). The returned string is owned by GTK+ and must not be freed or modifed.

button : a GtkToolButton
Returns : the name of the stock item for button.

Since 2.4


gtk_tool_button_set_icon_name ()

void                gtk_tool_button_set_icon_name       (GtkToolButton *button,
                                                         const gchar *icon_name);

Sets the icon for the tool button from a named themed icon. See the docs for GtkIconTheme for more details. The "icon_name" property only has an effect if not overridden by non-NULL "label", "icon_widget" and "stock_id" properties.

button : a GtkToolButton
icon_name : the name of the themed icon

Since 2.8


gtk_tool_button_get_icon_name ()

const gchar*        gtk_tool_button_get_icon_name       (GtkToolButton *button);

Returns the name of the themed icon for the tool button, see gtk_tool_button_set_icon_name().

button : a GtkToolButton
Returns : the icon name or NULL if the tool button has no themed icon

Since 2.8


gtk_tool_button_set_icon_widget ()

void                gtk_tool_button_set_icon_widget     (GtkToolButton *button,
                                                         GtkWidget *icon_widget);

Sets icon as the widget used as icon on button. If icon_widget is NULL the icon is determined by the "stock_id" property. If the "stock_id" property is also NULL, button will not have an icon.

button : a GtkToolButton
icon_widget : the widget used as icon, or NULL

Since 2.4


gtk_tool_button_get_icon_widget ()

GtkWidget*          gtk_tool_button_get_icon_widget     (GtkToolButton *button);

Return the widget used as icon widget on button. See gtk_tool_button_set_icon_widget().

button : a GtkToolButton
Returns : The widget used as icon on button, or NULL.

Since 2.4


gtk_tool_button_set_label_widget ()

void                gtk_tool_button_set_label_widget    (GtkToolButton *button,
                                                         GtkWidget *label_widget);

Sets label_widget as the widget that will be used as the label for button. If label_widget is NULL the "label" property is used as label. If "label" is also NULL, the label in the stock item determined by the "stock_id" property is used as label. If "stock_id" is also NULL, button does not have a label.

button : a GtkToolButton
label_widget : the widget used as label, or NULL

Since 2.4


gtk_tool_button_get_label_widget ()

GtkWidget*          gtk_tool_button_get_label_widget    (GtkToolButton *button);

Returns the widget used as label on button. See gtk_tool_button_set_label_widget().

button : a GtkToolButton
Returns : The widget used as label on button, or NULL.

Since 2.4

Property Details

The "icon-name" property

  "icon-name"                gchar*                : Read / Write

The name of the themed icon displayed on the item. This property only has an effect if not overridden by "label", "icon_widget" or "stock_id" properties.

Default value: NULL

Since 2.8


The "icon-widget" property

  "icon-widget"              GtkWidget*            : Read / Write

Icon widget to display in the item.


The "label" property

  "label"                    gchar*                : Read / Write

Text to show in the item.

Default value: NULL


The "label-widget" property

  "label-widget"             GtkWidget*            : Read / Write

Widget to use as the item label.


The "stock-id" property

  "stock-id"                 gchar*                : Read / Write

The stock icon displayed on the item.

Default value: NULL


The "use-underline" property

  "use-underline"            gboolean              : Read / Write

If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu.

Default value: FALSE

Style Property Details

The "icon-spacing" style property

  "icon-spacing"             gint                  : Read / Write

Spacing in pixels between the icon and label.

Allowed values: >= 0

Default value: 0

Signal Details

The "clicked" signal

void                user_function                      (GtkToolButton *toolbutton,
                                                        gpointer       user_data)       : Run First / Action

This signal is emitted when the tool button is clicked with the mouse or activated with the keyboard.

toolbutton : the object that emitted the signal
user_data : user data set when the signal handler was connected.

See Also

GtkToolbar

The toolbar widget

GtkMenuToolButton

A subclass of GtkToolButton that displays on the toolbar a button with an additional dropdown menu

GtkToggleToolButton

A subclass of GtkToolButton that displays toggle buttons on the toolbar

GtkRadioToolButton

A subclass of GtkToolButton that displays radio buttons on the toolbar

GtkSeparatorToolItem

A subclass of GtkToolItem that separates groups of items on a toolbar