| Programmation GTK2 en Pascal |
|
Présentation
Le 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
| Hiérarchie |
GObject
└─GtkObject
└─GtkWidget
└─GtkContainer
└─GtkToolbar |
Utilisation de base
Création
La fonction de création d'une barre d'outils est simple :
function gtk_toolbar_new : PGtkWidget;
Ajout d'élément
Pour 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
La 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
Nous 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 |