Les boites de dialogue
- Introduction
- Création d’une boite de dialogue
1. Introduction
Dans ce cours, nous allons voir comment créer une boite de dialogue. Une boite de dialogue
s’agit d’une petite fenêtre (Popup) destinée à demander à l’utilisateur des informations ou à lui afficher des
informations.
Avec le GTK+, il existe plusieurs sortes de boite de dialogue, mais ici nous n’allons voir que les deux les
plus utilisés :
- La boite de dialogue standard : elle peut venir avec des boutons
- La boite de dialogue de message : elle est destinée à afficher des messages
Le widget concernant la boite de dialogue standard est GtkDialog. Il est l’heureux héritier de
GtkWindow et de tous les ancêtres de GtkWindow.
Le widget concernant la boite de dialogue de message est GtkMessageDialog. Il est heureux héritier
de GtkDialog et de tous les ancêtres de GtkDialog.
2. Création d’une boite de dialogue
Comme d’habitude, pour créer une boite de dialog, on doit commencer par déclarer un pointeur vers Gtkwidget.
Dans notre cas, ça sera :
Ensuite, on passe à l’initialisation. Dans ce cas, on a trois options :
- Pour une boite de dialogue standard et sans paramètres.
Syntaxe :
GtkWidget* gtk_dialog_new (void);
- Une boite de dialogue standard avec des boutons :
Synataxe :
GtkWidget* gtk_dialog_new_with_buttons (const gchar *titre_de_la_boite_de_dialogue,
GtkWindow *fenêtre_parent,
GtkDialogFlags flags,
const gchar *first_button_text,
...);
Ici le paramètre flags peut être GTK_DIALOG_MODAL (pour la création d’une boite
de dialogue modale), GTK_DIALOG_DESTROY_WITH_PARENT (pour la création d’une boite qui sera
automatiquement fermée si la fenêtre parent est fermée) ou GTK_DIALOG_NO_SEPARATOR (Si on veut
qu’il n’ait pas une ligne de séparation entre la zone de travail et la zone de réponse).
- Une boite de dialogue de message :
Syntaxe :
GtkWidget* gtk_message_dialog_new (GtkWindow *fenêtre_parent, GtkDialogFlags flags, GtkMessageType type,
GtkButtonsType buttons, const gchar *message_à_afficher, ...);
Ici GtkmessageType peut être GTK_MESSAGE_INFO pour une information,
GTK_MESSAGE_WARNING pour un avertissement, GTK_MESSAGE_QUESTION pour une question
ou GTK_MESSAGE_ERROR pour signaler une erreur.
buttons peut avoir comme valeur GTK_BUTTONS_NONE si on ne veut pas afficher de bouton,
GTK_BUTTONS_OK si on veut mettre un bouton Ok, GTK_BUTTONS_CLOSE
pour un bouton Fermer, GTK_BUTTONS_CANCEL pour un bouton Annuler
, GTK_BUTTONS_YES_NO pour deux bouton YES/NO ou GTK_BUTTONS_OK_CANCEL
pour un bouton Annuler.
Dans notre cas, ça sera :
Exemple :
Voici une capture de ce que nous allons faire:
Code C :