Basic concepts
Portée des noms
Portée des noms dans le langage FlexiLayout : où les variables, les constantes et les hypothèses d’élément sont accessibles dans les sections Advanced et dans l’arborescence des éléments.
Les noms des éléments, des constantes et des variables ne peuvent être utilisés que dans certaines sections d’un programme. C’est ce qu’on appelle la « portée » du nom. La portée d’une variable détermine également sa durée de vie.
Le nom d’une variable déclarée dans la section Expression de Region, Relations avancées de pré-recherche ou Relations avancées de post-recherche est accessible dans cette section, et uniquement après son point de déclaration.
Un nom déclaré dans un bloc n’est accessible qu’à l’intérieur de ce bloc et des blocs qu’il contient, et uniquement après son point de déclaration :
{
Int a; a = 5;
}
Les hypothèses d’élément sont accessibles par le nom des éléments. Dans les sections Relations avancées de pré-recherche et Relations avancées de post-recherche, vous pouvez accéder aux hypothèses de tous les éléments situés au-dessus de l’élément courant dans l’arborescence FlexiLayout. Dans la section Relations avancées de post-recherche, vous pouvez également accéder à l’hypothèse formulée pour l’élément courant lui-même. Dans la section Expression de Region d’une description de bloc, vous pouvez accéder aux hypothèses de tous les éléments situés sur la « meilleure branche » de l’arbre des hypothèses.
Le code de la section Relations avancées de pré-recherche est exécuté séparément pour chaque hypothèse, indépendamment des hypothèses situées sur les autres branches de l’arbre des hypothèses. Cela signifie que lorsque le programme exécute le code d’une section particulière de la description d’un élément, il ne peut accéder qu’à une seule hypothèse pour chaque élément parent, à savoir l’hypothèse située sur la même branche.
Les hypothèses d’élément et leurs propriétés sont accessibles en mode lecture seule.
Les hypothèses d’un élément parent sont appelées par le nom complet de l’élément, par exemple : SearchObjects.Group1.Group2.FirstItem. Lors de l’accès à un sous-élément d’un groupe depuis un autre sous-élément, il n’est pas nécessaire de préciser le nom du groupe. Par exemple, dans les sections Advanced… de l’élément SearchObjects.Group1.Group2.SecondItem, vous pouvez appeler l’élément SearchObjects.Group1.Group2.FirstItem de l’une des façons suivantes : SearchObjects.Group1.Group2.FirstItem, Group1.Group2.FirstItem, Group2.FirstItem, FirstItem.
Le nom abrégé fera toujours référence à l’élément le plus imbriqué.
Supposons que nous ayons l’arborescence d’éléments suivante :
SearchElements
FirstItem
Group1
FirstItem
SecondItem
Si vous êtes dans SearchElements.Group1.SecondItem et utilisez le nom FirstItem, vous appellerez l’élément SearchElements.Group1.FirstItem, et non l’élément SearchElements.FirstItem.
