Chapitre 5
Les fenêtres

Il s’agit de présenter ici quelques méthodes supplémentaires concernant les fenêtres.

Donner un nom à la fenêtre

$window->set_title( $title );

$title contient le nom de la fenêtre.

Déclarer le widget par défaut et choix d’un widget

Chaque fenêtre peut avoir un widget qui a “le focus”, c’est-à-dire que tous les évènements clavier seront redirigés vers ce widget. En général, le widget qui a le focus est entouré d’un mince cadre noir. On peut changer le widget qui a le focus en appuyant sur la touche tab.

$window->set_focus( $widget );

Les widgets qui ont le focus peuvent être activés en pressant sur la barre d’espace.

Le widget par défaut pour une fenêtre peut être déclaré par :

$window->set_default( $widget );

Le widget par défaut peut être activé par la touche entrée.

Déclarer l’attitude de la fenêtre

L’attitude de la fenêtre détermine comment elle s’accomode des requêtes de redimensionnement.

$window->set_policy( $allow_shrink, $allow_grow, $auto_shrink );

L’argument  $allow_shrink est une valeur vraie ou fausse déterminant si l’utilisateur peut réduire une fenêtre en deçà de la taille requise.

L’argument  allow_grow est une valeur vraie ou fausse qui détermine si l’utilisateur peut agrandir le fenêtre au delà de la taille requise.

L’argument  $auto_shrink est une valeur vraie ou fausse spécifiant la fenêtre revient automatiquement à la taille précédent le changement si c’est une demande plus grande.

# la fenêtre est redimensionnable par l'utilisateur  
$window->set_policy( FALSE, TRUE, FALSE );  
 
# la taille de la fenêtre est contrôlée par le programme  
$window->set_policy( FALSE, FALSE, TRUE );

Faire des fenêtres modales

Une fenêtre modale attire l’attention sur elle-même et reste au premier plan de telle sorte que l’utilisateur ne peut utiliser aucune autre fenêtre jusqu’à sa disparition. Les seuls évènements que l’application tolère sont ceux qui concernent la fenêtre modale. Les fenêtres sans mode ne gèlent pas le reste de l’application. Les fenêtres modales servent habituellement de boites de dialogues. Pour déclarer une fenêtre modale :

$window->set_modal( $modal );

$modal est une valeur vraie ou fausse.

Taille et position de la fenêtre

Vous pouvez déclarer la taille par défaut :

$window->set_default_size( $width, $height );
ou $width est la largeur et $height la hauteur de la fenêtre en pixels.

La position de la fenêtre peut être définie par :

$window->set_position( $position );

Les différentes possibilités pour l’argument $position sont :