place

 

place - Gestionnaire de géométrie pour placement fixe


SYNTAXE

 place fenêtre option valeur ?option valeur ...?
 place configure fenêtre ?option? ?valeur option valeur ...?
 place forget fenêtre
 place info fenêtre
 place slaves fenêtre

DESCRIPTION


Le placer est un gestionnaire de géométrie pour Tk. Il fournit un placement simple fixe des fenêtres, où vous spécifiez la taille et l'emplacement exact d'une fenêtre, appelée l'esclave, à l'intérieur d'une autre fenêtre, appelée le maître. Le placer fournit également un placement "ardoise", où vous spécifiez la taille et l'emplacement de l'esclave en termes des dimensions du maître, ainsi l'esclave change de taille et d'emplacement en réponse aux changements de la taille du maître. Pour finir, le placer vous permet de mélanger ces styles de placement, par exemple, l'esclave a ses largeur et hauteur fixes mais est centré à l'intérieur du maître.

place fenêtre option valeur ?option valeur ...? Prépare le placer à gérer la géométrie d'un esclave dont le pathName est fenêtre. Les arguments restants consistent en une ou plusieurs paires option-valeur qui indiquent la manière de gérer la géométrie de fenêtre. Option doit avoir n'importe quelle des valeurs acceptées par la commande place configure.

place configure fenêtre ?option? ?valeur option valeur ...? Interroge ou modifie les options de géométrie de l'esclave désigné par fenêtre. Si aucune option n'est spécifiée, cette commande retourne une liste décrivant les options disponibles (voir ConfigWidg pour une information sur le format de cette liste). Si option est spécifié sans valeur, alors la commande retourne une liste décrivant l'option indiquée (cette liste sera identique à la correspondante sous-liste de la valeur retournée si aucune option n'est spécifiée). Si une ou plusieurs paires option-valeur sont spécifiées, alors la commande modifie l'option(s) donnée à la valeur(s) donnée; dans ce cas la commande retourne une chaîne vide. Les paires option-valeur suivantes sont supportées:

-anchor indique quel point de fenêtre positionner aux coordonnées (x,y) sélectionnées par les options -x, -y, -relx, et -rely. Le point d'ancrage est en terme de la surface externe de fenêtre incluant sa bordure, si elle existe. Ainsi si est se alors le coin inférieur gauche de la bordure de fenêtre apparaîtra aux coordonnées (x,y) dans le maître. Le point d'ancrage est par défaut de nw.

-bordermode mode Mode indique le degré auquel les bordures à l'intérieur du maître sont utilisées dans le placement de l'esclave. La valeur par défaut et la plus courante est inside. Dans ce cas le placer considère la surface du maître comme délimitées par ses bordures: un option de -x 0 correspond à une coordonnée x juste à l'intérieur de la bordure et une option de -relwidth 1.0 signifie que fenêtre remplira la surface à l'intérieur de la bordure du maître. (N.D.T. ce n'est pas très clair, donc faites des tests...) Si mode est outside alors le placer considère la surface du maître pour y inclure ses bordures; ce mode est généralement utilisé quand on place fenêtre en dehors de son maître, comme avec les options -x 0 -y 0 -anchor ne. Enfin, mode peut être spécifié comme ignore, auquel cas les bordures sont ignorées: la surface du maître est considérée comme sa surface X officielle, qui inclut toute bordure interne mais aucune bordure externe. Un bordermode de ignore n'est probablement pas très utile.

-height taille taille indique la hauteur de fenêtre en unités d'écran (c.a.d. n'importe quelle des formes acceptées par GetPixels). La hauteur sera la dimension externe de fenêtre incluant sa bordure, si elle existe. Si taille est une chaîne vide, ou si aucune option -height ou -relheight n'est spécifiée, alors la hauteur demandée en interne par la fenêtre sera utilisée.

-in maître Maître indique le nom de chemin de la fenêtre relative à laquelle fenêtre doit être placée. Maître doit être soit un parent de fenêtresoit un descendant du parent de fenêtre. De plus, maître et fenêtre doivent être des descendants de la même fenêtre top-level. Ces restrictions sont nécessaires pour garantir que fenêtre sera visible chaque fois que maître est visible. Si cette option n'est pas spécifié alors le maître est par défaut le parent de fenêtre.

-relheight taille Taille indique la hauteur de fenêtre. Dans ce cas la hauteur est spécifiée comme un nombre flottant relatif à la hauteur du maître: 0.5 signifie que fenêtre sera deux fois moins haute que le maître, 1.0 signifie que fenêtre aura le même hauteur que le maître, et ainsi de suite. Si à la fois -height et -relheight sont spécifiés pour un esclave, leurs valeurs sont ajoutées. Par exemple, -relheight 1.0 -height -2 rends l'esclave de 2 pixels plus court que le maître.

-relwidth taille Taille indique la largeur de fenêtre. Dans ce cas la largeur est spécifiée comme un nombre flottant relatif à la largeur du maître: 0.5 signifie que fenêtre sera deux fois moins large que le maître, 1.0 signifie que fenêtre aura la même largeur que le maître, et ainsi de suite. Si à la fois -width et -relwidth sont spécifiés pour un esclave, leurs valeurs sont ajoutées. Par exemple, -relwidth 1.0 -width 5 rends l'esclave de 5 pixels plus large que le maître.

-relx location Location indique la coordonnée x à l'intérieur de la fenêtre maître du point d'ancrage de fenêtre. Dans ce cas l'emplacement est spécifié en coordonnées relatives comme un nombre flottant: 0.0 correspond au bord gauche du maître et 1.0 correspond au bord droit du maître. Location doit être dans l'étendue 0.0-1.0. Si à la fois -x et -relx sont spécifiés pour un esclave alors leurs valeurs sont ajoutées. Par exemple, -relx 0.5 -x -2 positionne le coté gauche de l'esclave 2 pixels à gauche du centre de son maître.

-rely location Location indique la coordonnée y à l'intérieur de la fenêtre maître du point d'ancrage de fenêtre. Dans ce cas la valeur est spécifiée en coordonnées relatives comme un nombre flottant: 0.0 correspond au bord supérieur du maître et 1.0 correspond au bord inférieur du maître. Location n'est pas nécessairement dans l'étendue 0.0-1.0. Si à la fois -y et -rely sont spécifiés pour un esclave alors leurs valeurs sont ajoutées. Par exemple, -rely 0.5 -x 3 positionne le bord supérieur de l'esclave 3 pixels au dessous du centre de son maître.

-width taille Taille indique la largeur de fenêtre en unités d'écran (c.a.d. n'importe quelle des formes acceptées par GetPixels). La largeur sera la largeur externe de fenêtre incluant sa bordure, si elle existe. Si taille est une chaîne vide, ou si aucune option -width ou -relwidth n'est spécifiée, alors la largeur demandée en interne par la fenêtre sera utilisée.

-x location Location indique la coordonnée x à l'intérieur de la fenêtre maître du point d'ancrage de fenêtre. L'emplacement est spécifié en unités d'écran (c.a.d. n'importe quelle des formes acceptées par GetPixels) et n'est pas forcément situé à l'intérieur des limites de la fenêtre maître.

-y location Location indique la coordonnée y à l'intérieur de la fenêtre maître du point d'ancrage de fenêtre. L'emplacement est spécifié en unités d'écran (c.a.d. n'importe quelle des formes acceptées par GetPixels) et n'est pas forcément situé à l'intérieur des limites de la fenêtre maître.

Si la même valeur est spécifiée séparément avec deux options différentes, comme -x et -relx, alors la plus récente option est utilisée et la plus ancienne est ignorée.

place forget fenêtre Cause l’arrêt de la gestion de la géométrie de fenêtre par le placer. Comme effet de bord, fenêtre sera désassignée et elle disparaîtra de l'écran. Si fenêtre n'est pas actuellement prise en charge par le placer alors la commande n'a pas d'effet. cette commande retourne une chaîne vide.

place info fenêtre Retourne une liste indiquant la configuration courante de fenêtre. La liste consiste en des paires option-valeur sous exactement la même forme que celle spécifiée pour la commande place configure.

place slaves fenêtre Retourne une liste de toutes les fenêtres esclave pour lesquelles fenêtre est le maître. Si il n'y a pas d'esclaves de fenêtre alors une chaîne vide est retournée. Si la configuration d'une fenêtre a été lue avec place info, cette configuration peut être restaurée ultérieurement en utilisant place forget pour effacer les informations existantes pour la fenêtre puis en appelant place configure avec l'information sauvegardée.


REMARQUES POINTUES


Il n'est pas nécessaire que la fenêtre maître soit un parent de la fenêtre esclave. Cette fonctionnalité est utile dans au moins deux situations. Premièrement, pour des dispositions complexes de fenêtres cela signifie que vous pouvez créer une hiérarchie de sous fenêtres dont le seul usage est de vous assister dans la disposition du parent. Les ``enfants réels du parent (c.a.d. les fenêtres signifiantes pour l'interface utilisateur de l'application) peuvent être des enfants du parent déjà placés à l’intérieur des fenêtres de la hiérarchie de la gestion de la géométrie. Ceci signifie que les nom de chemins des ``enfants réels ne reflètent pas la hiérarchie de la gestion de la géométrie et les utilisateurs peuvent spécifier des options pour les enfants réels sans se préoccuper de la structure de la hiérarchie de la gestion de la géométrie.

Une seconde raison d'avoir un maître différent du parent de l'esclave est d'attacher deux enfants ensemble. Par exemple, le placer peut être utilisé pour forcer une fenêtre à toujours être positionnée centrée juste au dessous d'un de ses cousins en le spécifiant la configuration

 -in cousin -relx 0.5 -rely 1.0 -anchor n -bordermode outside

Partout où le cousin est repositionné dans le futur, l'esclave sera repositionné de même.

Contrairement aux autres gestionnaire de géométrie (comme le packer) le placer n'essaie pas de manipuler la géométrie des fenêtres maîtres ou des parents des fenêtres esclaves (c.a.d. il ne touche pas à leurs tailles demandées). Pour contrôler la tailles de ces fenêtres, utilisez des fenêtres comme les frames et les canvas qui comportent des options de configuration à cet usage.


Traduit par Michel Salvagniac 2002-2003

Copyright © 2003 - Le Wiki Tcl/Tk Francophone.


Catégorie Manuel Tcl/Tk