GtkButton

Name

GtkButton -- A widget that creates a signal when clicked on.

Synopsis


#include <gtk/gtk.h>


struct      GtkButton;
GtkWidget*  gtk_button_new                  (void);
GtkWidget*  gtk_button_new_with_label       (const gchar *label);
GtkWidget*  gtk_button_new_with_mnemonic    (const gchar *label);
GtkWidget*  gtk_button_new_from_stock       (const gchar *stock_id);
void        gtk_button_pressed              (GtkButton *button);
void        gtk_button_released             (GtkButton *button);
void        gtk_button_clicked              (GtkButton *button);
void        gtk_button_enter                (GtkButton *button);
void        gtk_button_leave                (GtkButton *button);
void        gtk_button_set_relief           (GtkButton *button,
                                             GtkReliefStyle newstyle);
GtkReliefStyle gtk_button_get_relief        (GtkButton *button);
G_CONST_RETURN gchar* gtk_button_get_label  (GtkButton *button);
void        gtk_button_set_label            (GtkButton *button,
                                             const gchar *label);
gboolean    gtk_button_get_use_stock        (GtkButton *button);
void        gtk_button_set_use_stock        (GtkButton *button,
                                             gboolean use_stock);
gboolean    gtk_button_get_use_underline    (GtkButton *button);
void        gtk_button_set_use_underline    (GtkButton *button,
                                             gboolean use_underline);


Object Hierarchy


  GObject
   +----GtkObject
         +----GtkWidget
               +----GtkContainer
                     +----GtkBin
                           +----GtkButton

Properties


  "label"                gchararray           : Read / Write / Construct
  "relief"               GtkReliefStyle       : Read / Write
  "use-underline"        gboolean             : Read / Write / Construct
  "use-stock"            gboolean             : Read / Write / Construct

Signal Prototypes


"activate"  void        user_function      (GtkButton *button,
                                            gpointer user_data);
"clicked"   void        user_function      (GtkButton *button,
                                            gpointer user_data);
"enter"     void        user_function      (GtkButton *button,
                                            gpointer user_data);
"leave"     void        user_function      (GtkButton *button,
                                            gpointer user_data);
"pressed"   void        user_function      (GtkButton *button,
                                            gpointer user_data);
"released"  void        user_function      (GtkButton *button,
                                            gpointer user_data);

Description

The GtkButton widget is generally used to attach a function to 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 most any other standard GtkWidget. The most commonly used child is the GtkLabel.

Details

struct GtkButton

struct GtkButton;

This should not be accessed directly. Use the accessor functions below.


gtk_button_new ()

GtkWidget*  gtk_button_new                  (void);

Creates a new GtkButton widget.


gtk_button_new_with_label ()

GtkWidget*  gtk_button_new_with_label       (const gchar *label);

Creates a GtkButton widget with a GtkLabel child containing the given text.


gtk_button_new_with_mnemonic ()

GtkWidget*  gtk_button_new_with_mnemonic    (const gchar *label);

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.


gtk_button_new_from_stock ()

GtkWidget*  gtk_button_new_from_stock       (const gchar *stock_id);

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()).


gtk_button_pressed ()

void        gtk_button_pressed              (GtkButton *button);

Emits a GtkButton::pressed signal to the given GtkButton.


gtk_button_released ()

void        gtk_button_released             (GtkButton *button);

Emits a GtkButton::released signal to the given GtkButton.


gtk_button_clicked ()

void        gtk_button_clicked              (GtkButton *button);

Emits a GtkButton::clicked signal to the given GtkButton.


gtk_button_enter ()

void        gtk_button_enter                (GtkButton *button);

Emits a GtkButton::enter signal to the given GtkButton.


gtk_button_leave ()

void        gtk_button_leave                (GtkButton *button);

Emits a GtkButton::leave signal to the given GtkButton.


gtk_button_set_relief ()

void        gtk_button_set_relief           (GtkButton *button,
                                             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.


gtk_button_get_relief ()

GtkReliefStyle gtk_button_get_relief        (GtkButton *button);

Returns the current relief style of the given GtkButton.


gtk_button_get_label ()

G_CONST_RETURN gchar* gtk_button_get_label  (GtkButton *button);

Fetches the text from the label of the button, as set by gtk_button_set_label(). This string is owned by the widget and must not be modified or freed. 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.


gtk_button_set_label ()

void        gtk_button_set_label            (GtkButton *button,
                                             const gchar *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.


gtk_button_get_use_stock ()

gboolean    gtk_button_get_use_stock        (GtkButton *button);

Returns whether the button label is a stock item.


gtk_button_set_use_stock ()

void        gtk_button_set_use_stock        (GtkButton *button,
                                             gboolean use_stock);

If true, the label set on the button is used as a stock id to select the stock item for the button.


gtk_button_get_use_underline ()

gboolean    gtk_button_get_use_underline    (GtkButton *button);

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


gtk_button_set_use_underline ()

void        gtk_button_set_use_underline    (GtkButton *button,
                                             gboolean use_underline);

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

Properties

"label" (gchararray : Read / Write / Construct)

The text within the child GtkLabel of the GtkButton. Only useful if there is actually a GtkLabel inside of the GtkButton.

"relief" (GtkReliefStyle : Read / Write)

The GtkReliefStyle as outlined in gtk_button_set_relief().

"use-underline" (gboolean : Read / Write / Construct)

"use-stock" (gboolean : Read / Write / Construct)

Signals

The "activate" signal

void        user_function                  (GtkButton *button,
                                            gpointer user_data);


The "clicked" signal

void        user_function                  (GtkButton *button,
                                            gpointer user_data);

Emitted when a button clicked on by the mouse and the cursor stays on the button. If the cursor is not on the button when the mouse button is released, the signal is not emitted.


The "enter" signal

void        user_function                  (GtkButton *button,
                                            gpointer user_data);

Emitted when the mouse cursor enters the region of the button.


The "leave" signal

void        user_function                  (GtkButton *button,
                                            gpointer user_data);

Emitted when the mouse cursor leaves the region of the button.


The "pressed" signal

void        user_function                  (GtkButton *button,
                                            gpointer user_data);

Emitted when the button is initially pressed.


The "released" signal

void        user_function                  (GtkButton *button,
                                            gpointer user_data);

Emitted when a button which is pressed is released, no matter where the mouse cursor is.