# Tool-Tips

## But

Afficher des bulles d'information lorsque la souris reste sur un objet plus d'un certain temps.

Deux types d'information:

- Statique: aide pour les boutons par exemple. Le texte est défini lors lors de la création de l'objet et ne varie pas pendant le fonctionnement de SCS.
- Dynamique: info sur un lien par exemple. Le texte dépend d'informations qui changent au long de la vie de l'objet.

Paramétrable par l'utilisateur:

- affichage ou non des bulles statiques et/ou dynamiques.
- temps avant l'apparition d'un tool-tip.

## API

### structure ToolTip

TOOLTIPchannel | Chn | canal de création des tool-tips
TOOLTIPflag | I | activation de l'affichage des tool-tips
TOOLTIPtime | I | temps de déclenchement de la bulle d'aide (en ms).
TOOLTIPfont | ObjFont | fonte pour le texte de l'info-bulle
TOOLTIPfgColors | [I I I I] | couleurs (et ombrage) du texte
TOOLTIPbgColor | I | couleur du fond
TOOLTIPbgMotif | AlphaBitmap | image pour le fond
TOOLTIPbgCoord | [I I I I] | découpage de l'image de fond

Les champs grisés sont implémentés en temps que paramètres utilisateurs.

Cette structure stocke les paramètres pour l'affichage des tool-tips. Elle devrait être instanciée 2 fois: une pour les tool-tips dynamique une autre pour les tool-tips statiques.

### fonctions

ToolTip TOOLTIP_Create (ObjFont font, [I I I I] fgColors, I bgColors, AlphaBitmap bgBitmap, [I I I I] bgCoord)

> Positionne les paramètres pour les tool-tips statiques. Voir la description de la structure pour le contenu de chaque champ.

I TOOLTIP_StaticLink (ObjContainer container, ObjNode père, ToolTip toolTip, S text)

> Associe une info-bulle statique à un objet node.

I TOOLTIP_DynamicLink (ObjContainer container, ObjNode père, ToolTip toolTip, fun [] S dtext)

> Associe une info-bulle dynamique à un objet node.

I TOOLTIP_UnLink (ObjNode père)

> Dissocie l'info-bulle d'un objet node.

### Exemple l'utilisation dans SCS2

Le modèles de tooltip disponibles dans SCS sont stockés dans la structure scsgui:

- scsgui.SCSGUIstaticToolTip à utiliser pour les tooltips statics.
- scsgui.SCSGUIdynamicToolTip à utiliser pour les tooltips dynamiques.

exmple:

> let _CONVERTcompListToObjNode errorInfo.ctrl_ErrorList -> pere in
> TOOLTIP_DynamicLink errorInfo.ctrl_Container pere scsgui.SCSGUIstaticToolTip @tooltiptext;