# Programmation GTK2 en Pascal/GtkHScale

* Programmation GTK2 en Pascal
* Introduction
* Pré-requis
* Logiciels nécessaires
* Installation sous Linux
* Installation sous Windows
* Installation sous Mac/OS
* Une application minimale
* Les bases
* La notion d'objet
* La gestion des évènements
* Le placement des contrôles
* Les contrôles (widgets) Gtk
* Les fenêtres
* Les conteneurs
* Les visuels
* Les boutons
* La saisie de données
* Les listes déroulantes
* Les menus
* Les décorations
* La barre d'outils
* Les sélections
* Les zones de texte
* Les listes et arbres
* La Glib : objets et fonctions
* Dessiner avec le Gdk
* Conclusion
* Bibliographie

## Présentation

Le contrôle GtkHScale est un curseur horizontal qui permet de sélectionner une valeur numérique.

### Hiérarchie

* Hiérarchie
* GObject
* └─GtkObject
* └─GtkWidget
* └─GtkRange
* └─GtkScale
* └─GtkHScale

## Utilisation de base
### Création

La création d'un curseur se fait grâce à la fonction :
Le paramètre adjustment est l'ajustement que le curseur doit représenter. Le même ajustement peut être attribué à plusieurs curseurs sur la même fenêtre. Le déplacement de l'un entrainera le déplacement des autres.
La création d'un ajustement qui est un type PGtkObject se fait grâce à la fonction :
Le paramètre value représente la valeur actuelle de l'ajustement, les paramètres lower et upper sont les valeurs mini et maxi, donc les valeurs quand le curseur sera respectivement à gauche et à droite. Le paramètre step_increment est la valeur qui est utilisée pour incrémenter ou décrémenter la valeur de l'ajustement quand on bouge le curseur d'une position. Les autres paramètres doivent être utilisés pour les ascenseurs.
On peut en fait créer un curseur plus rapidement en utilisant la fonction :
Il n'y a pas d'ajustement à fournir, juste les valeurs min et max, ainsi que le pas, step.

### Affichage de la valeur

Par défaut, la valeur est affichée près du curseur. On peut changer cela avec la fonction :
Le paramètre scale est le curseur et si on met FALSE dans draw_value, la valeur ne sera pas affichée. TRUE l'affiche.
On peut également déterminer le nombre de chiffres après la virgule on désire afficher avec la fonction :
Le paramètre digits permet d'indiquer le nombre de chiffres désirés.
Une dernière fonction permet de décider de l'emplacement de l'affichage de la valeur, par défaut celui-ci étant au dessus du curseur :
Le paramètre pos peut prendre les valeurs :
* GTK_POS_LEFT, pour la valeur placée à gauche du curseur ;
* GTK_POS_RIGHT, pour la valeur à droite ;
* GTK_POS_TOP, pour la valeur au dessus ;
* GTK_POS_BOTTOM, pour la valeur en dessous.

### Position du curseur

C'est l'objet GtkRange dont GtkHScale hérite les propriétés qui gère la position du curseur. Pour positionner le curseur, on a donc la fonction :
Le paramètre value donne la valeur.
Pour récupérer la position du curseur, on utilisera :
À noter qu'à chaque déplacement, un signal « value_changed » est émis.

## Programme exemple

Dans une fenêtre, on va placer une jauge horizontale pouvant aller de 0 à 100 avec comme valeur initiale 50 et l'ffichage de la valeur en dessous. On aura un bouton et un label, le bouton permettant d'afficher la valeur dans le label.
Voilà le fichier gtk026.pas :
Voilà ce que donne l'exécution du programme gtk026 :
Puis après avoir déplacé le curseur et cliqué sur le bouton :
* Saisie de données :
* GtkEntry ~
* GtkHScale ~
* GtkVScale ~
* GtkSpinButton