Tiré de GTK+ Reference Manual

GtkToggleButton

GtkToggleButton — Crée des boutons qui enregistrent leur état.

Synopsis

#include <gtk/gtk.h>


GtkToggleButton;
GtkWidget* gtk_toggle_button_new (void);
GtkWidget* gtk_toggle_button_new_with_label (const gchar *label);
GtkWidget* gtk_toggle_button_new_with_mnemonic (const gchar *label);
void gtk_toggle_button_set_mode (GtkToggleButton *toggle_button,
gboolean draw_indicator);
gboolean gtk_toggle_button_get_mode (GtkToggleButton *toggle_button);
#define gtk_toggle_button_set_state
void gtk_toggle_button_toggled (GtkToggleButton *toggle_button);
gboolean gtk_toggle_button_get_active (GtkToggleButton *toggle_button);
void gtk_toggle_button_set_active (GtkToggleButton *toggle_button,
gboolean is_active);
gboolean gtk_toggle_button_get_inconsistent (GtkToggleButton *toggle_button);
void gtk_toggle_button_set_inconsistent (GtkToggleButton *toggle_button,
gboolean setting);

Hiérarchie de l'Objet 

  GObject
+----GInitiallyUnowned
+----GtkObject
+----GtkWidget
+----GtkContainer
+----GtkBin
+----GtkButton
+----GtkToggleButton
+----GtkCheckButton

Iterfaces Implémentés

GtkToggleButton implémente AtkImplementorIface.

Propriétés

  "active"                   gboolean              : Lire / Ecrire
"draw-indicator" gboolean : Lire / Ecrire
"inconsistent" gboolean : Lire / Ecrire

Signaux

  "toggled"                                        : Exécuter Premier

Description

Un GtkToggleButton est un GtkButton qui se rappelle de l'état pressé quand on a cliqué sur lui. Quand on clique une deuxième fois sur lui le bouton poussoire revient à son état normal.

Un bouton poussoire est créé en appelant soit gtk_toggle_button_new() ou gtk_toggle_button_new_with_label(). Si vous utilisez la deuxième fonction, il est recommandé d'intégrer un widget (comme un GtkLabel et/ou un GtkPixmap), dans le container du bouton poussoire. (Voir GtkButton plus plus d'informations).

L'état d'un GtkToggleButton peut être défini en utilisant  gtk_toggle_button_set_active(), et retouvé en utilisant gtk_toggle_button_get_active().

Pour passer simplement d'un état à un autre du bouton poussoire utilisez gtk_toggle_button_toggled.

Exemple 2. Créer deux widgets GtkToggleButton widgets.

void make_toggles (void) {
GtkWidget *dialog, *toggle1, *toggle2;

dialog = gtk_dialog_new ();
toggle1 = gtk_toggle_button_new_with_label ("Hi, i'm a toggle button.");

/* Rendre ce bouton poussoire invisible */
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle1), TRUE);

g_signal_connect (toggle1, "toggled",
G_CALLBACK (output_state), NULL);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area),
toggle1, FALSE, FALSE, 2);

toggle2 = gtk_toggle_button_new_with_label ("Hi, i'm another toggle button.");
gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (toggle2), FALSE);
g_signal_connect (toggle2, "toggled",
G_CALLBACK (output_state), NULL);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->action_area),
toggle2, FALSE, FALSE, 2);

gtk_widget_show_all (dialog);
}

Details

GtkToggleButton


typedef struct _GtkToggleButton GtkToggleButton;

La structure  GtkToggleButton contient seulement des données privées, et elle doit être manipulée en utilisant les fonction décrites ci-dessous.


gtk_toggle_button_new ()

GtkWidget*          gtk_toggle_button_new               (void);


Crée un nouveau bouton poussoire. Un widget doit être intégré dans le bouton comme pour  gtk_button_new().

Retourne : a new toggle button.

gtk_toggle_button_new_with_label ()

GtkWidget*          gtk_toggle_button_new_with_label    (const gchar *label);


Crée un nouveau bouton poussoire avec un label texte.

label : chaîne contenant le message qui sera placé dans le bouton poussoire.
Retourne : un nouveau bouton poussoire.

gtk_toggle_button_new_with_mnemonic ()

GtkWidget*          gtk_toggle_button_new_with_mnemonic (const gchar *label);


Crée un nouveau  GtkToggleButton contenant un label . Le label sera créé avec  gtk_label_new_with_mnemonic(), aussi des underscores indiqueront dans label le mnémonique pour le bouton.

label : texte du bouton avec un underscore à côté du caractère mnémonique
Retourne : un nouveau  GtkToggleButton

gtk_toggle_button_set_mode ()

void                gtk_toggle_button_set_mode          (GtkToggleButton *toggle_button,
gboolean draw_indicator);


Définit si le bouton est affiché avec un indicateur et un label séparés. Vous pouvez appeler cette fonction pour une case à cocher ou un radio bouton avec draw_indicator = FALSE pour qui le bouton apparaisse comme un bouton normal.

Cette fonction affecte seulement les instances de classes comme  GtkCheckButton et GtkRadioButton qui dérivent de  GtkToggleButton, et non les instances de  GtkToggleButton lui-même.

toggle_button : un GtkToggleButton
draw_indicator : si TRUE, dessine le bouton avec un indicateur et un label séparés; si  FALSE, dessine le bouton comme un bouton normal.

gtk_toggle_button_get_mode ()

gboolean            gtk_toggle_button_get_mode          (GtkToggleButton *toggle_button);

Recherche si le bouton est affiché avec un séparateur et un label séparés. Voir  gtk_toggle_button_set_mode().

toggle_button : un GtkToggleButton
Retourne : TRUE si le bouton poussoire est dessin avec un sépateur et un label séparés.

gtk_toggle_button_set_state

#define	gtk_toggle_button_set_state		gtk_toggle_button_set_active

Attention

gtk_toggle_button_set_state est dépréciée et ne doit plus être utilisée pour un nouveau code.

Macro dépréciée, elle n'est maintenue que pour des raisons de compatibilité.


gtk_toggle_button_toggled ()

void                gtk_toggle_button_toggled           (GtkToggleButton *toggle_button);

Emet le signal  toggled sur le  GtkToggleButton. Il n'y a pas de raison pour qu'une application appelle cette fonction.

toggle_button : un GtkToggleButton.

gtk_toggle_button_get_active ()

gboolean            gtk_toggle_button_get_active        (GtkToggleButton *toggle_button);

Cherche un  GtkToggleButton et retourne son état courant. Retourne TRUE si le bouton poussoire est pressé et  FALSE s'il est relâché.

toggle_button : un GtkToggleButton.
Retourne : une valeur gboolean 

gtk_toggle_button_set_active ()

void                gtk_toggle_button_set_active        (GtkToggleButton *toggle_button,
gboolean is_active);

Définit le statut d'un bouton poussoire. Définir TRUE si vous voulez que  GtkToggleButton soit pressé et  FALSE si vous voulez qu'il soit relâché. Cette action provoque l'émission du signal "toggled" 

toggle_button : un GtkToggleButton.
is_active : TRUE ou FALSE.

gtk_toggle_button_get_inconsistent ()

gboolean            gtk_toggle_button_get_inconsistent  (GtkToggleButton *toggle_button);

Renvoie la valeur définie par  gtk_toggle_button_set_inconsistent().

toggle_button : un GtkToggleButton
Retourne : TRUE si le bouton est affiché comme contradictoire, FALSE autrement

gtk_toggle_button_set_inconsistent ()

void                gtk_toggle_button_set_inconsistent  (GtkToggleButton *toggle_button,
gboolean setting);

Si l'utilisateur a sélectionné une gamme d'éléments (comme du texte ou des cellules de bilan) qui dépendent d'un bouton poussoire, et les valeurs courantes dans cette gamme sont contradictoires, vous pouvez afficher  le bouton poussoire dans un  état intermédiaire. Cette fonction permet l'affichage intermédiaire. Normalement arrêterez  l'état  contradictoire si l'utilisateur bascule le bouton poussoire. Cela peut être fait manuellement,  gtk_toggle_button_set_inconsistent() affecte seulement l'apparance visuelle, elle n'affecte pas la sémantique du bouton.

toggle_button : un GtkToggleButton
setting : TRUE si l'état est contradictoire

Détails des propriétés

The "active" property

  "active"                   gboolean              : Lire / Ecrire

Si le bouton doit être pressé ou non.

Valeur par défaut: FALSE


The "draw-indicator" property

  "draw-indicator"           gboolean              : Lire / Ecrire

Si la partie à bascule du bouton est affichée.

Valeur par défaut: FALSE


The "inconsistent" property

  "inconsistent"             gboolean              : Lire / Ecrire

Si le bouton poussoire est dans un état intermédiaire.

Valeur par défaut: FALSE

Détails des signaux

The "toggled" signal

void                user_function                      (GtkToggleButton *togglebutton,
gpointer user_data) : Run First

Peut être connecté si vous souhaîtez réaliser une action si l'état du  GtkToggleButton a changé.

togglebutton : objet qui reçoit le signal
user_data : données utilisateur définie quand le gestionnaire du signal a été connecté.

Voir Aussi

GtkButton

bouton plus général

GtkCheckButton

autre méthode pour représenter l'option de bascule

GtkCheckMenuItem

un GtkToggleButton comme item de menu.