Présentation.
Le contrôle GtkComboBox permet de gérer une liste déroulante sur action de l'utilisateur. Après le choix d'une ligne de la liste, celle-ci se referme.
Ce contrôle est disponible à partir de la version 2.4 de Gtk+.
Auparavant c'était le contrôle codice_1 qui était utilisé. Il est toujours utilisable pour assurer la compatibilité mais n'est plus conseillé pour les nouvelles créations.
Utilisation de base (mode texte sans modèle).
Création.
La fonction de création d'une liste déroulante texte est simple : 
 function gtk_combo_box_new_text : PGtkWidget;
Ajout de texte dans la liste déroulante.
Il y a plusieurs fonctions possibles selon qu'on veuille ajouter ou insérer du texte :
 procedure gtk_combo_box_append_text(combo_box : PGtkComboBox; text : Pgchar);
 procedure gtk_combo_box_insert_text(combo_box : PGtkComboBox; position : gint; text : Pgchar);
 procedure gtk_combo_box_prepend_text(combo_box : PGtkComboBox; text : Pgchar);
Suppression de texte.
Il suffit d'indiquer le numéro de ligne que l'on souhaite supprimer :
 procedure gtk_combo_box_remove_text(combo_box : PGtkComboBox; position : gint);
Récupération de la sélection de l'utilisateur.
Cette fonction permet de récupérer le texte choisi par l'utilisateur (à partir de la version 2.6 de Gtk+) :
 function gtk_combo_box_get_active_text(combo_box : PGtkComboBox) : Pgchar;
ATTENTION : Cette fonction n'est pas définie dans les en-têtes Gtk+ Pascal. Il faut donc ajouter le prototype dans le source où on veut l'utiliser (cf l'exemple ci-dessous).
Sinon il y a une fonction qui permet de récupérer le numéro de l'item sélectionné :
 function gtk_combo_box_get_active(combo_box : PGtkComboBox) : gint;
Le premier item a le numéro 0. Si aucun item n'est sélectionné, la fonction renvoie -1.
La fonction inverse permet de se positionner sur un item particulier :
 procedure gtk_combo_box_set_active(combo_box : PGtkComboBox; index : gint);
Programme exemple.
Comme exemple, nous allons créer une fenêtre comportant un GtkComboBox, un GtkButton et un GtkLabel. Le but sera d'afficher le texte sélectionné du GtkCombobox dans le GtkLabel. Cette opération s'effectuera lorsque l'utilisateur cliquera sur le bouton (interception du signal « clicked »).
Voilà le fichier codice_2 :
 program gtk029;
 uses glib2, gtk2;
 // Défaut de la gtk2 pascal : il manque cette fonction pourtant présente dans la bibliothèque
 function gtk_combo_box_get_active_text(combo_box:PGtkComboBox):PGChar;cdecl;
 external gtklib name 'gtk_combo_box_get_active_text';
 type
 TFenetrePrincipale = record
 pFenetre : PGtkWidget;
 pVBox : PGtkWidget;
 pListeDer : PGtkWidget;
 pBouton : PGtkWidget;
 pLabel : PGtkWidget;
 end;
 PFenetrePrincipale = ^TFenetrePrincipale;
 procedure OnBtnClick(APWidget : PGtkwidget; AData : pgpointer); cdecl;
 var
 pFenPrinc : PFenetrePrincipale;
 Texte : PGChar;
 begin
 // Récuperation des données de la fenêtre principale (qui sont dans AData)
 pFenPrinc := PFenetrePrincipale(AData);
 // Récuperation du texte contenu dans le GtkComboBox
 Texte := gtk_combo_box_get_active_text(GTK_COMBO_BOX(pFenPrinc^.pListeDer));
 // Modification du texte contenu dans le GtkLabel 
 gtk_label_set_text(GTK_LABEL(pFenPrinc^.pLabel), Texte);
 g_free(Texte);
 end;
 var
 pFenPrinc : PFenetrePrincipale;
 begin
 pFenPrinc := g_malloc(SizeOf(TFenetrePrincipale));
 gtk_init(@argc, @argv);
 pFenPrinc^.pFenetre := gtk_window_new(GTK_WINDOW_TOPLEVEL);
 gtk_window_set_position(GTK_WINDOW(pFenPrinc^.pFenetre), GTK_WIN_POS_CENTER);
 gtk_window_set_default_size(GTK_WINDOW(pFenPrinc^.pFenetre), 320, 200);
 gtk_container_set_border_width(GTK_CONTAINER(pFenPrinc^.pFenetre), 4);
 gtk_window_set_title(GTK_WINDOW(pFenPrinc^.pFenetre), 'Gtk029 : Combobox');
 gtk_signal_connect(pGTKOBJECT(pFenPrinc^.pFenetre), 'destroy', GTK_SIGNAL_FUNC(@gtk_main_quit), NULL);
 pFenPrinc^.pVBox := gtk_vbox_new(TRUE, 0);
 gtk_container_add(GTK_CONTAINER(pFenPrinc^.pFenetre), pFenPrinc^.pVBox);
 // Création du GtkComboBox
 pFenPrinc^.pListeDer := gtk_combo_box_new_text;
 // Chargement de la liste déroulante
 gtk_combo_box_append_text(GTK_COMBO_BOX(pFenPrinc^.pListeDer), 'Bleu');
 gtk_combo_box_append_text(GTK_COMBO_BOX(pFenPrinc^.pListeDer), 'Rouge');
 gtk_combo_box_append_text(GTK_COMBO_BOX(pFenPrinc^.pListeDer), 'Jaune');
 gtk_box_pack_start(GTK_BOX(pFenPrinc^.pVBox), pFenPrinc^.pListeDer, TRUE, FALSE, 0);
 pFenPrinc^.pBouton := gtk_button_new_with_label('Copier');
 gtk_box_pack_start(GTK_BOX(pFenPrinc^.pVBox), pFenPrinc^.pBouton, TRUE, FALSE, 0);
 g_signal_connect(pGTKOBJECT(pFenPrinc^.pBouton), 'clicked', 
 GTK_SIGNAL_FUNC(@OnBtnClick), gpointer(pFenPrinc));
 pFenPrinc^.pLabel := gtk_label_new(NULL);
 gtk_box_pack_start(GTK_BOX(pFenPrinc^.pVBox), pFenPrinc^.pLabel, TRUE, FALSE, 0);
 gtk_widget_show_all(pFenPrinc^.pFenetre);
 gtk_main;
 g_free(pFenPrinc);
 end.
Voilà ce que donne l'exécution du programme codice_3 :
Après sélection de l'item « bleu » et clic sur le bouton :
On peut légèrement modifier l'exemple pour utiliser les fonctions codice_4 et codice_5. À l'initialisation, on sélectionne un item (le n° 2) et au clic sur le bouton, on affiche le numéro d'item sélectionné.
Extrait du programme codice_6 qui est recopié sur celui ci-dessus. Dans la fonction codice_7, on a :
 // Récuperation du numéro d'item sélectionné
 Texte := g_strdup_printf('%d', [gtk_combo_box_get_active(GTK_COMBO_BOX(pFenPrinc^.pListeDer))]);
Et dans la partie principale, après le chargement de la liste déroulante, on ajoute :
 gtk_combo_box_set_active(GTK_COMBO_BOX(pFenPrinc^.pListeDer), 1);
Utilisation complète (avec modèle).
"<à développer>"

Livre de cuisine/Tarte aux pommes
La tarte aux pommes avec flan (tarte aux pommes à l'alsacienne) ou sans flan (tarte aux pommes « bonne femme »).

Livre de cuisine/Salade de fruits
La salade de fruits est un dessert composé d'un mélange de fruit. La de s peut se déguster en toutes saisons. Il en existe différentes recettes en fonction des saisons ou des pays.
Salade de fruits classique.
Préparation.
Éplucher la pomme; la poire, la banane, les kiwis et les pèches. Découper la banane en rondelles. Découper les autres fruits en cube. Les mélanger dans un saladier. Rajouter le raisin. Mettre au réfrigérateur pendant 1 heure. Mélanger avant de servir.
Voir aussi.
Salade de fruits exotiques de Madagascar

Enseignement de l'anglais/le discours indirect

On emploie le discours indirect pour rapporter les paroles de quelqu'un. Il faut adapter les repères du discours direct.
Concordance des temps.

Pronoms, déterminants, adverbes.
Comme en français, les déterminants, adverbes et pronoms ne sont pas les mêmes au discours direct et au discours indirect.
Verbes introducteurs.
Les verbes introducteurs sont employés au prétérit.
Interrogatives.
Dans les interrogatives au discours indirect il n'y a pas d'inversion du sujet et du verbe, on n'emploie pas l'auxillaire do.
Exemple : He asked me where I had slept. "Il me demanda où j'avais dormi."I wonder if I must eat. "Je me demande si je dois manger".
Application.
Test
Retour Enseignement de l'anglais

Finnois/Contenu
Livre de cuisine/Gaspacho
Le gaspacho est une boisson rafraîchissante très répandue dans le sud de l'Espagne. Comme il est préparé avec des ingrédients frais, il contient des vitamines. Selon les régions, il se prépare de différentes manières.
Préparation.
Retour au Livre de Cuisine

Livre de cuisine/Charlotte
La charlotte est un dessert moulé, de forme cylindrique ou conique. Faite d'une croûte de biscuits à la cuillère, de tranches de pain, ou d'une génoise, garni de s ou de crème.
Elle est garni d'une crème à bavarois, mais se différencie du bavarois par le fait qu'elle possède des biscuits tout autour.

Apprendre à cuisiner/Ustensiles
Ce chapitre a pour but de présenter les différents ustensiles et appareils utilisés pour cuisiner.