12.2 Evènements

Les fonctions disponibles dans l’onglet Logique du modèle d’un formulaire proposent plusieurs instructions permettant de faire des ajouts, des éditions ou bien des suppressions d’élément dans les inclusions multiples.

Pour utiliser ces fonctions, l’utilisation d’un Evènement FormsStudio est indispensable.

12.2.1        Préambule

Lorsqu’une inclusion est incluse dans un formulaire, elle n’a pas connaissance de ce formulaire et de son modèle de données. L’explication étant qu’une même inclusion peut être incluse dans plusieurs formulaires différents.

Un Evènement permet aux inclusions de communiquer avec le formulaire dans lequel elles sont incluses. Par exemple, un bouton situé dans la vue d’une inclusion peut émettre un évènement qui est alors intercepté par le formulaire. Ce dernier peut alors lancer une fonction agissant sur ses propres données (par exemple, supprimer un des éléments d’un champ d’inclusion multiple).

12.2.2        Généralités

Pour créer un Evènement FormsStudio :

  • Dans l’explorateur de module, cliquer droit sur le nom du module (ou sur un dossier).
  • Cliquer ensuite sur Nouvel évènement. L’évènement apparaît alors dans l’arborescence du module.

Chaque évènement doit être nommé en fonction de son utilité (ex : « DeleteEvent ») via sa propriété Nom.

Un évènement peut disposer de paramètres. Ces paramètres servent à faire transiter des données entre l’entité qui émet l’évènement (l’inclusion) et celle qui l’intercepte (le formulaire). Les paramètres sont typés de la même manière que les champs du modèle d’un formulaire (texte, entier, réel, etc.). Pour ajouter des paramètres :

  • Double-cliquer sur l’évènement dans l’explorateur de module. L’éditeur d’évènement apparait alors dans la zone centrale d’édition.
  • Glisser-déposer des paramètres depuis la boîte à outils dans la zone centrale.

12.2.3        Emettre un évènement

Pour émettre un évènement, il suffit d’ajouter l’instruction Emettre un évènement dans une fonction locale de l’onglet Logique du modèle. L’instruction se trouve dans le groupe Actions – Traitement de la boite à outils.

Une fois l’instruction créée, il faut éditer sa propriété Evènement pour sélectionner l’évènement créé précédemment dans l’explorateur de module. Dans la fenêtre de sélection, il suffit de double-cliquer sur l’évènement voulu pour le sélectionner (ou bien le sélectionner avec un simple clic, puis cliquer sur le bouton Valider).

Si l’évènement possède des paramètres, il faut cocher la case à droite de Paramètres dans l’instruction pour faire apparaitre la liste des paramètres. Pour éditer chacun des paramètres, il suffit de les sélectionner puis d’éditer leur propriété Valeur (ou bien double-cliquer directement sur le paramètre). La valeur d’un paramètre est une Expression. Le type de retour de cette valeur doit correspondre au type du paramètre auquel elle est assignée.

Dans l’exemple ci-dessous, l’évènement possède un paramètre nommé « index » et la valeur « 10 » lui est assignée. Le paramètre « index » est de type Nombre entier.

12.2.4        Intercepter un évènement

Pour intercepter un évènement, il faut ajouter un Gestionnaire d’évènement dans l’onglet Logique du modèle. Pour cela :

  • Sélectionner l’élément Gestionnaire d’évènement dans la boîte à outils (groupeGestionnaire d’évènement).
  • Glisser-déposer le gestionnaire d’évènement dans la zone principale d’édition au centre. Le gestionnaire d’évènement est alors ajouté à la liste dans la zone centrale, sous Gestionnaires d’évènements.

Une fois le gestionnaire créé, il est possible de modifier son nom via sa propriété Nom ou en double-cliquant dessus.

Il est nécessaire de sélectionner l’évènement à intercepter par le gestionnaire. Pour cela, éditer la propriété Evènement du gestionnaire. Dans la fenêtre de sélection, il suffit de double-cliquer sur l’évènement voulu pour le sélectionner (ou bien le sélectionner avec un simple clic, puis cliquer sur le bouton Valider).

Si l’évènement possède des paramètres, ces derniers apparaissent alors sous l’évènement dans le gestionnaire.

Il faut enfin sélectionner la fonction à appeler suite à l’interception de l’évènement. Pour cela, il faut éditer la propriété Fonction à appeler du gestionnaire d’évènement. L’édition de cette propriété se fait de la même manière que l’édition des actions utilisateurs sur les contrôles de la vue (OnClick, OnLostFocus, etc.). Toutes les fonctions présentes dans le modèle courant sont listées. Lorsqu’une fonction est sélectionnée, si elle possède des paramètres, ces derniers sont affichés et peuvent être édités via le bouton Editer.

Les paramètres à envoyer à la fonction à appeler sont des Expressions. Si l’évènement possède lui-même des paramètres, il est possible de les retrouver dans l’éditeur d’expression sous l’onglet Contexte. Ils peuvent ainsi être utilisés comme paramètre de la fonction à appeler.

Dans l’exemple ci-dessous, la fonction à appeler possède un paramètre nommé « param_index ». La valeur envoyée à ce paramètre est celle du paramètre nommé « index » déclaré dans l’évènement.

Ainsi, dans cet exemple, lorsque l’évènement « SupprimerDiagnosticEvent » est intercepté, la fonction « Delete » du formulaire est appelée. Un nombre entier nommé « index » est transmis entre l’émetteur et le récepteur de l’évènement.

Was this article helpful?

Related Articles

Poster un commentaire

Vous devez être connecté pour pouvoir poster un commentaire.