Tabla de contenidos
GTK tiene varios controles que pueden ser ajustados visualmente por el usuario usando el ratón o el teclado, tales como los controles de rango, descritos en la sección Controles de Rango. También hay unos cuantos controles que visualizan una parte ajustable de un área de datos mayor, tales como el control de texto y el control de vista.
Obviamente, una aplicación necesita ser capaz de reaccionar ante los cambios que el usuario realiza en los controles de rango. Una forma de hacer esto sería que cada control emitiera su propio tipo de señal cuando su ajuste cambiara y, o bien pasar el nuevo valor al manejador de señal, o requerir que se mire dentro de la estructura de datos del control para ver el nuevo valor. Pero puede que también se quiera conectar los ajustes de varios controles juntos, para que ajustando uno se ajusten los otros. El ejemplo más obvio de esto es conectar una barra de desplazamiento a una vista o a un área de texto desplazable. Si cada control tuviera su propia manera de manipular el valor del ajuste, entonces el programador tendría que escribir sus propios manejadores de señales para traducir entre la salida de la señal de un control y la entrada del método de ajuste de otro control.
GTK soluciona este problema mediante el objeto
Adjustment, que no es un control sino una manera de que
los controles almacenen y pasen la información de ajuste de una forma abstracta
y flexible. El uso más obvio de Adjustment es almacenar
los parámetros de configuración y los valores de los controles de rango, tales como
las barras de desplazamiento y los controles de escala. Sin embargo, como
la clase Adjustments deriva de
Object, también tiene unas características especiales
más alla de ser estructuras de datos normales. La más importante es que pueden
emitir señales, como los controles, y estas señales no sólo pueden ser usadas
para permitir a tus programas reaccionar a la entrada de usuario en controles
ajustables, sino que pueden propagar valores de ajuste de una forma
transparente entre controles ajustables.
Se verá como encajan los ajustes en todo el sistema cuando se vean los controles que los incorporan: Barras de Progreso, Vistas, Ventanas de Desplazamiento, y otros.
Muchos de los controles que usan ajustes lo hacen automáticamente, pero más tarde se mostrarán casos en los que puede ser necesario crearlos. Es posible crear un ajuste usando:
adjustment = gtk.Adjustment(value=0,lower=0,upper=0,step_incr=0,page_incr=0,page_size=0)
El argumento value es el valor inicial que
se quiere dar al ajuste, y normalmente corresponde a la posición superior o la
posición más a la izquierda de un control ajustable. El argumento
lower especifica el valor más bajo que puede tomar el
ajuste adjustment. El argumento step_incr
especifica el incremento más
pequeño de los dos incrementos por los que el usuario puede cambiar el valor,
mientras que el argumento page_incr es el más grande de los
dos. El argumento page_size normalmente se corresponde de
alguna manera con el área visible de un control desplazable. El argumento
upper se usa para representar la coordenada inferior o la
más a la derecha de un control incluido en otro control desplazable. Por tanto no es siempre
el número más grande que el valor puede tomar, ya que el
page_size de tales controles normalmente es distinto de
cero.