Programmation GTK2 en Pascal/Le placement des contrôles
Programmation GTK2 en Pascal |
|
Le placement des contrôles visuels avec Gtk+ peut paraître de prime abord complexe. Mais quand on a bien compris la logique du système, cela ne pose pas de problèmes particuliers.
La particularité de Gtk+
modifierDe nombreuses API de gestion d'interface graphique fonctionne en positionnant le contrôle visuel de manière très précise en indiquant les coordonnées en pixels. Gtk+ ne fonctionne pas ainsi. À la création d'un contrôle, on lui fournit un ensemble de paramètres généraux et c'est Gtk+ qui va précisément s'occuper du positionnement, de la largeur, etc.
Les avantages sont une application qui s'adapte très bien à la taille de la fenêtre et donc à son redimensionnement, à la taille de l'écran, aux thèmes Gtk+, etc.
Les conteneurs
modifierAfin de placer un contrôle visuel de base comme un bouton, ou un champ de saisie dans une fenêtre, on va utiliser des conteneurs. Des conteneurs spéciaux existent qui regroupent les contrôles de manière verticale ou bien horizontale, il s'agit des GtkVBox
et des GtkHBox
.
Voici un exemple de conteneur Ci-dessous, voici un exemple de conteneur |
L'empilement des conteneurs
modifierOn peut placer un ou plusieurs conteneurs dans un autre conteneur. C'est d'ailleurs ce qu'on fait quand on place un GtkVBox
par exemple dans une fenêtre. La fenêtre est un conteneur.
Cette combinaison va nous permettre de définir des interfaces très complexes.
Voici ci-dessus un exemple relativement simple. On peut bien entendu imbriquer plusieurs GtkBox
l'une dans l'autre.