Présentation.
Le contrôle GtkSeparatorMenuItem permet de tracer une ligne qui va séparer les différents éléments d'un menu.
Utilisation de base.
Création.
Il n'y a qu'une seule fonction pour ce contrôle, c'est sa fonction de création :
 function gtk_separator_menu_item_new : PGtkWidget;
Ajout.
Pour ajouter ce contrôle dans un menu, il faut procéder comme avec tous les autres items, c'est-à-dire utiliser la fonction codice_1.
Programme exemple.
Nous allons créer un menu dans celui du style de l'exemple codice_2 contenant un codice_3.
Voilà le fichier codice_4 :
 program gtk037;
 uses glib2, gtk2;
 var
 pFenetre : PGtkWidget;
 pVBox : PGtkWidget;
 pBarreMenu : PGtkWidget;
 pMenuItemFichier : PGtkWidget;
 pMenuFichier : PGtkWidget;
 pMenuItemOuvrir : PGtkWidget;
 pMenuItemFermer : PGtkWidget;
 pMenuItemQuitter : PGtkWidget;
 pMenuSeparateur : PGtkWidget;
 begin
 gtk_init(@argc, @argv);
 pFenetre := gtk_window_new(GTK_WINDOW_TOPLEVEL);
 gtk_window_set_position(GTK_WINDOW(pFenetre), GTK_WIN_POS_CENTER);
 gtk_window_set_default_size(GTK_WINDOW(pFenetre), 320, 200);
 gtk_window_set_title(GTK_WINDOW(pFenetre), 'Gtk037 : Menu avec séparateur');
 gtk_signal_connect(pGTKOBJECT(pFenetre), 'destroy', GTK_SIGNAL_FUNC(@gtk_main_quit), NULL);
 // Création de la GtkVBox
 pVBox := gtk_vbox_new(FALSE, 5);
 gtk_container_add(GTK_CONTAINER(pFenetre), pVBox);
 // Création de la barre de menu
 pBarreMenu := gtk_menu_bar_new;
 gtk_box_pack_start(GTK_BOX(pVBox), pBarreMenu, FALSE, FALSE, 0);
 // Création de l'item Fichier et rattachement à la barre de menu
 pMenuItemFichier := gtk_menu_item_new_with_label('Fichier');
 gtk_menu_shell_append(GTK_MENU_SHELL(pBarreMenu), pMenuItemFichier);
 // Création du menu Fichier et rattachement à l'item Fichier
 pMenuFichier := gtk_menu_new;
 gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItemFichier), pMenuFichier);
 // Création de l'item Ouvrir et rattachement au menu Fichier
 pMenuItemOuvrir := gtk_image_menu_item_new_from_stock(GTK_STOCK_OPEN, NULL);
 gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFichier), pMenuItemOuvrir);
 // Création de l'item Fermer et rattachement au menu Fichier
 pMenuItemFermer := gtk_image_menu_item_new_from_stock(GTK_STOCK_CLOSE, NULL);
 gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFichier), pMenuItemFermer);
 // Création du séparateur
 pMenuSeparateur := gtk_separator_menu_item_new;
 gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFichier), pMenuSeparateur);
 // Création de l'item Quitter et rattachement au menu Fichier
 pMenuItemQuitter := gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, NULL);
 gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFichier), pMenuItemQuitter);
 g_signal_connect(pGTKOBJECT(pMenuItemQuitter), 'activate', G_CALLBACK(@gtk_main_quit), NULL);
 gtk_widget_show_all(pFenetre);
 gtk_main;
 end.
Voilà ce que donne l'exécution du programme codice_4 après avoir cliqué sur le menu « Fichier » :

Programmation GTK2 en Pascal/GtkTearoffMenuItem

Présentation.
Le contrôle GtkTearoffMenuItem permet de créer une copie d'un menu dans une fenêtre.
Utilisation de base.
Création.
La fonction de création est la suivante :
 function gtk_tearoff_menu_item_new : PGtkWidget;
Détacher le menu.
Pour détacher le menu dans lequel se trouve l'élément codice_1, il suffit de cliquer sur celui-ci. Un second clic sur l'élément (que cela soit dans le menu ou dans la fenêtre) supprimera la fenêtre créée.
Programme exemple.
Voilà le fichier codice_2 :
 program gtk038;
 uses glib2, gtk2;
 var
 pFenetre : PGtkWidget;
 pVBox : PGtkWidget;
 pBarreMenu : PGtkWidget;
 pMenuItemFichier : PGtkWidget;
 pMenuFichier : PGtkWidget;
 pMenuDetachable : PGtkWidget;
 pMenuItemOuvrir : PGtkWidget;
 pMenuItemFermer : PGtkWidget;
 pMenuItemQuitter : PGtkWidget;
 pMenuSeparateur : PGtkWidget;
 begin
 gtk_init(@argc, @argv);
 pFenetre := gtk_window_new(GTK_WINDOW_TOPLEVEL);
 gtk_window_set_position(GTK_WINDOW(pFenetre), GTK_WIN_POS_CENTER);
 gtk_window_set_default_size(GTK_WINDOW(pFenetre), 320, 200);
 gtk_window_set_title(GTK_WINDOW(pFenetre), 'Gtk038 : Menu détachable');
 gtk_signal_connect(pGTKOBJECT(pFenetre), 'destroy', GTK_SIGNAL_FUNC(@gtk_main_quit), NULL);
 // Création de la GtkVBox
 pVBox := gtk_vbox_new(FALSE, 5);
 gtk_container_add(GTK_CONTAINER(pFenetre), pVBox);
 // Création de la barre de menu
 pBarreMenu := gtk_menu_bar_new;
 gtk_box_pack_start(GTK_BOX(pVBox), pBarreMenu, FALSE, FALSE, 0);
 // Création de l'item Fichier et rattachement à la barre de menu
 pMenuItemFichier := gtk_menu_item_new_with_label('Fichier');
 gtk_menu_shell_append(GTK_MENU_SHELL(pBarreMenu), pMenuItemFichier);
 // Création du menu Fichier et rattachement à l'item Fichier
 pMenuFichier := gtk_menu_new;
 gtk_menu_item_set_submenu(GTK_MENU_ITEM(pMenuItemFichier), pMenuFichier);
 // Création de l'élément détachable
 pMenuDetachable := gtk_tearoff_menu_item_new;
 gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFichier), pMenuDetachable);
 // Création de l'item Ouvrir et rattachement au menu Fichier
 pMenuItemOuvrir := gtk_image_menu_item_new_from_stock(GTK_STOCK_OPEN, NULL);
 gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFichier), pMenuItemOuvrir);
 // Création de l'item Fermer et rattachement au menu Fichier
 pMenuItemFermer := gtk_image_menu_item_new_from_stock(GTK_STOCK_CLOSE, NULL);
 gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFichier), pMenuItemFermer);
 // Création du séparateur
 pMenuSeparateur := gtk_separator_menu_item_new;
 gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFichier), pMenuSeparateur);
 // Création de l'item Quitter et rattachement au menu Fichier
 pMenuItemQuitter := gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, NULL);
 gtk_menu_shell_append(GTK_MENU_SHELL(pMenuFichier), pMenuItemQuitter);
 g_signal_connect(pGTKOBJECT(pMenuItemQuitter), 'activate', G_CALLBACK(@gtk_main_quit), NULL);
 gtk_widget_show_all(pFenetre);
 gtk_main;
 end.
Voilà ce que donne l'exécution du programme codice_2 après le lancement après avoir cliqué sur le menu « Fichier » et placer le curseur de la souris au dessus de l'élément « détachable » (la ligne de pointillée) :
Puis après avoir cliqué sur l'élément « détachable » :

Programmation GTK2 en Pascal/GtkItem
Présentation.
GtkItem est une classe abstraite qui sert de base aux contrôles codice_1, codice_2 et codice_3.
Elle n'est pas utilisée directement.

Enseignement de l'anglais/The city, la ville

a town : "une ville"the suburbs : "la banlieue"the city center, downtown (US): "le centre-ville"the mayor : "le maire"the town hall : "l'hôtel de ville"a district : "un quartier"
a house : "une maison".
a flat (GB), an apartment : "un appartement"a factory : "une usine"
a street : "une rue".
a boulevard : "un boulevard"an avenue : "une avenue"a blind alley : "une impasse"a one-way street : "une rue à sens unique"an alley (ou a lane) : "une ruelle"a public garden : "un jardin public"a skyscraper : "un gratte-ciel" a building : "un immeuble"a pavement (GB) / a sidewalk (US) : "un trottoir"
traffic : "la circulation".
the traffic lights : "les feux de circulation"a roundabout, a traffic circle (US) : "un rond-point"a traffic jam : "un embouteillage"
a highway : une autoroute
the post office : "le bureau de poste".
the police station : "le poste de police"a hospital : "un hôpital"a zoo : "un zoo"a park : "un parc"a square : "une place (carrée)"the Tube (in London): "le métro"the subway (US) : "le métro"
Retour Enseignement de l'anglais

Enseignement de l'anglais/The health, la santé