Passer au contenu principal
Les contraintes de la zone de recherche sont définies dans les onglets Contraintes de recherche et Relations de la boîte de dialogue Propriétés, ainsi que dans la section Relations avancées de prérecherche. Avant l’application des contraintes, la zone de recherche coïncide avec le rectangle de la page. Le programme applique d’abord les contraintes définies dans les onglets Contraintes de recherche et Relations. Ensuite, il applique les contraintes supplémentaires définies dans la section Relations avancées de prérecherche. Les types de contraintes suivants peuvent être définis dans la section Relations avancées de prérecherche :
  1. La zone de recherche peut être limitée à un rectangle (variable Rect), à une région (c’est-à-dire un tableau continu de rectangles — variable Region) ou à un tableau de rectangles qui, dans le cas général, n’a pas besoin d’être continu (variable RectArray). Ce type de contrainte est défini à l’aide de la fonction RestrictSearchArea et en spécifiant un paramètre du type correspondant. Toute expression renvoyant des valeurs du type requis peut être spécifiée comme paramètre.
  2. La zone de recherche peut être limitée à un demi-plan situé à gauche, à droite, au-dessus ou au-dessous d’un point donné. De telles contraintes sont définies à l’aide des fonctions Leftof, Rightof, Above et Below.
  3. Il peut parfois être utile de définir des contraintes pour une limite d’élément. Par exemple, il peut être connu à l’avance que la limite gauche d’un élément se trouve toujours dans la partie gauche de l’image, tandis que la limite droite peut s’étendre indéfiniment vers la droite. Le langage FlexiLayout vous permet de définir ce type de contraintes lors du calcul de la zone de recherche, réduisant ainsi la plage des hypothèses possibles pour un élément. De telles contraintes sont définies à l’aide des fonctions LeftBound, RightBound, topBound et BottomBound, ainsi que des opérateurs ”>” et ”<”. Les fonctions LeftBound et RightBound sont utilisées pour accéder aux limites gauche et droite de la zone de recherche, et les fonctions topBound et BottomBound servent à accéder respectivement aux limites supérieure et inférieure.
  4. Vous pouvez définir des contraintes de recherche en excluant de la zone de recherche un rectangle, un tableau de rectangles, une hypothèse, etc. Cela peut être fait à l’aide des fonctions Exclude, ExcludeRect et ExcludeSet.
Vous pouvez spécifier un nombre quelconque de contraintes de recherche des types ci-dessus dans la section Relations avancées de prérecherche. Chaque contrainte créera une région sur l’image. Toutes les régions créées par les contraintes seront combinées par intersection. En outre, la zone de recherche calculée pour l’élément sera combinée par intersection avec la zone de recherche de l’élément Group dont cet élément est membre.