Passer au contenu principal
Imaginons, pour simplifier, qu’aucune contrainte de recherche ne soit définie dans les onglets Contraintes de recherche et Relations pour l’élément et les éléments Group parents. Dans ce cas, avant que le programme n’applique les contraintes de la section Relations avancées de pré-recherche, la zone de recherche de l’élément coïncidera avec le rectangle de la page. S’il n’y a pas d’autres contraintes dans l’onglet Avancé, le programme recherchera l’élément sur toute la page. L’application des contraintes de types 1, 2 et 4 décrites ci-dessus dans Contraintes de recherche créera une zone de recherche constituée d’un tableau de rectangles. Le programme considérera alors que la zone de recherche se compose d’un rectangle circonscrivant l’ensemble du tableau, duquel un jeu donné de rectangles (rectangles exclus) doit être exclu. L’application des contraintes de recherche de type 3 décrites ci-dessus dans Contraintes de recherche créera une plage de coordonnées autorisées pour chaque limite des hypothèses : gauche, droite, supérieure et inférieure. Chacune de ces limites est caractérisée par une plage de coordonnées sur l’axe correspondant, par exemple [x1, x2] ou [y1, y2]. Ici, x1 et x2 sont de type XCoordinate, et y1 et y2 sont de type YCoordinate. La portion de l’axe doit satisfaire la condition suivante : x1 <= x2 pour les coordonnées X, et y1 <= y2 pour les coordonnées Y. Si plusieurs contraintes sont appliquées successivement à une limite, chacune d’elles modifiera la plage des coordonnées autorisées pour cette limite. Supposons que la section Relations avancées de pré-recherche contienne les contraintes suivantes :
  • LeftBound > 5mm;
  • LeftBound < 15mm;
  • LeftBound < 10mm;
Supposons que la zone de recherche coïncide avec le rectangle de la page, c.-à-d. [PageRect.Left, PageRect.top, PageRect.Right, PageRect.Bottom], avant l’application des contraintes ci-dessus. Les plages des coordonnées des limites de l’élément seront alors les suivantes : Supposons que la zone de recherche ne soit pas spécifiée avant l’exécution de ces contraintes. Dans ce cas, pour un FlexiLayout à une page (le nombre minimal et maximal de pages autorisé dans un document est de 1), la zone de recherche coïncide avec le rectangle de la page [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]. Dans le cas d’un FlexiLayout multipage, la zone de recherche a la taille maximale de [-INF, -INF, INF, INF]. Les plages de coordonnées des limites de l’élément seront les suivantes :
LimitePlage pour un FlexiLayout à une pagePlage pour un FlexiLayout multipage
LeftBound[PageRect.Left, PageRect.Right][-INF, INF]
TopBound[PageRect.Top, PageRect.Bottom][-INF, INF]
RightBound[PageRect.Left, PageRect.Right][-INF, INF]
BottomBound[PageRect.Top, PageRect.Bottom][-INF, INF]
Lorsque la contrainte LeftBound > 5mm est exécutée, seule la limite gauche change. La plage de ses valeurs possibles devient le segment [5mm, PageRect.Right] pour les FlexiLayout à une page et le segment [5mm, INF] pour les FlexiLayout multipages. Après l’application de la contrainte LeftBound > 5mm, seule la limite gauche changera : ses coordonnées autorisées seront [5mm, PageRect.Right]. Après l’application de la contrainte LeftBound < 15mm, la plage des coordonnées autorisées de la limite gauche sera [5mm, 15mm]. Après l’application de la contrainte LeftBound < 10mm, la plage des coordonnées autorisées de la limite gauche sera [5mm, 10mm]. De la même manière, vous pouvez définir des contraintes pour les autres limites de l’élément. Les limites spécifiées de la zone de recherche à partir de ce qu’on appelle un fuzzy rectangle.