Composants, panneau de propriétés et héritage
Un point intéressant des formulaires Flash est qu'on peut dériver une classe de la classe de base mx.screens.Form, l'associer à un formulaire et récupérer ainsi les objets associés directement à ce dernier.
Lorsqu'un formulaire est associé à la classe mx.screens.Form, il propose par défaut les propriétés "autoLoad", "contentPath" et "visible", qui servent respectivement à choisir le mode de chargement du formulaire, son contenu ainsi que sa visibilité au lancement de l'application.
Malheureusement, à partir du moment ou on dérive notre propre classe de la classe mx.screens.Form :
class myClass extends mx.screens.Form
et qu'on associe celle-ci au formulaire (en passant par le panneau des propriétés, onglet "Propriétés") l'inspecteur de propriété, onglet "Paramètres", ne présente cette fois-ci plus les propriétés standard. la liste est vide.
C'est la classe mx.screens.Form qui génère l'affichage des propriétés standard. Ainsi, pour pouvoir utiliser ces propriétés dans l'inspecteur de propriétés avec une classe héritée de la classe Form, il faut simplement utiliser la balise [Inspectable] et insérer les lignes suivantes à l'intérieur de la classe dérivée :
[Inspectable (defaultValue=true variable="visible" type=Boolean name="visible")] [Inspectable (defaultValue="" variable="contentPath" type=String name="contentPath")] [Inspectable (defaultValue=true variable="autoLoad" type=Boolean name="autoLoad")]
ces trois lignes me permettent d'afficher les propriétés de la classe mère, en associant le nom de la propriété avec la propriété "variable".
Cette astuce fonctionne avec les formulaires, mais également avec n'importe quelle classe dérivée d'une classe mx. Toujours intéressant à savoir, pour pouvoir afficher les propriétés d'une classe dérivée, quelle qu'elle soit.