Facilité d'utilisation des objets Adjustment

Il est possible, grosso modo, de diviser les éléments graphiques à plage de réglage en, d'une part, ceux dont la structure d'ajustement utilise et nécessite des valeurs précises, et ceux, d'autre part, qui considèrent ces valeurs comme des nombres arbitraires.

Le groupe qui traite ces valeurs comme des nombres arbitraires est celui des éléments graphiques Range (les éléments Scrollbars, Scales, Progressbar et SpinButton). Ces éléments graphiques sont typiquement ceux qui sont « ajustés » directement par l'utilisateur avec la souris ou le clavier. Ils considèrent les valeurs de lower et upper comme étant les bornes de la plage des valeurs dans laquelle l'utilisateur peut définir value. Par défaut, l'utilisateur ne peut modifier que la grandeur value de l'ajustement.

L'autre groupe comprend les éléments graphiques Viewport et ScrolledWindow. Tous ceux-ci utilisent des valeurs en pixels dans leur structure adjustment. Ils sont, en règle générale, « ajustés » indirectement à l'aide de barres de défilement. Comme tous les éléments graphiques utilisant des ajustements peuvent, soit créer leurs propres structures adjustement, soit utiliser celle qui leur est fournie, nous souhaiterons, en règle générale, laisser à cette catégorie particulière d'éléments graphiques le soin de créer elle-même leurs propres structures d'ajustement.

Si vous partagez une structure d'ajustement entre un élément Scrollbar et un élément TextView, la manipulation de la barre de défilement ajustera comme par magie l'élément TextView. Vous pouvez définir cela comme suit :

// crée ses propres ajustements
Gtk::TextView textview;
// utilise également l'ajustement nouvellement créé pour la barre de défilement
Gtk::VScrollbar vscrollbar (*(textview.get_vadjustment()));