Programmation GTK2 en Pascal/GtkToolbar
Programmation GTK2 en Pascal |
|
Présentation
modifierLe contrôle GtkToolbar permet de gérer une barre d'outils dans une fenêtre. Cette barre d'outils permet de contenir des contrôles, le plus souvent de style boutons avec icônes.
Hiérarchie
modifierHiérarchie |
GObject └─GtkObject └─GtkWidget └─GtkContainer └─GtkToolbar |
Utilisation de base
modifierCréation
modifierLa fonction de création d'une barre d'outils est simple :
function gtk_toolbar_new : PGtkWidget;
Ajout d'élément
modifierPour ajouter des éléments dans une GtkToolbar
, il faut utiliser les fonctions suivantes :
procedure gtk_toolbar_insert(toolbar : PGtkToolbar; item : PGtkToolItem; pos : gint);
Le paramètre toolbar
est la barre d'outils, item
est un GtkToolItem
et pos
est la position d'insertion, 0 insérant au début de la barre (à gauche ou en haut), un nombre négatif insérant à la fin (à droite ou en bas).
NB : Les anciennes fonctions gtk_toolbar_append_item
, gtk_toolbar_prepend_item
et gtk_toolbar_insert_item
ne sont plus supportées et ne devraient plus être utilisées dans les nouveaux programmes.
Présentation de la barre
modifierLa barre d'outils peut être horizontale ou verticale. La fonction pour changer cette présentation est :
procedure gtk_toolbar_set_orientation(toolbar : PGtkToolbar; orientation : TGtkOrientation);
Le paramètre orientation
peut prendre les valeurs :
- GTK_ORIENTATION_HORIZONTAL
- GTK_ORIENTATION_VERTICAL
Programme exemple
modifierNous allons créer dans une fenêtre une barre d'outils qui pour l'instant ne contient rien. Elle s'étoffera dans les autres articles traitant des éléments d'une barre d'outils.
Voilà le fichier gtk042.pas
:
program gtk042; uses glib2, gtk2; var pFenetre : PGtkWidget; pVBox : PGtkWidget; pBarreOutils : PGtkWidget; pLabel : 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), 'Gtk042 : Barre d''outils'); gtk_signal_connect(pGTKOBJECT(pFenetre), 'destroy', G_CALLBACK(@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 d'outils pBarreOutils := gtk_toolbar_new; gtk_box_pack_start(GTK_BOX(pVBox), pBarreOutils, FALSE, FALSE, 0); // Création du label pLabel := gtk_label_new('Label'); gtk_box_pack_start(GTK_BOX(pVBox), pLabel, FALSE, FALSE, 0); gtk_widget_show_all(pFenetre); gtk_main; end.
Voilà ce que donne l'exécution du programme gtk042
:
Barre d'outils : GtkToolbar ~ GtkToolItem ~ GtkToolButton ~ GtkMenuToolButton ~ GtkToggleToolButton ~ GtkRadioToolButton ~ GtkSeparatorToolItem |