« Programmation GTK2 en Pascal/GtkToolbar » : différence entre les versions

Contenu supprimé Contenu ajouté
Didier (discussion | contributions)
Premier jet
(Aucune différence)

Version du 30 mars 2005 à 19:24

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