Bonjour,

Je cherche à surcharger le méchanisme d'autocompletion de Matlab pour les instances d'une user class.

Voici ma solution à l'heure actuelle:
1/ Mettre toutes les méthodes et les propriétés à Hidden=true
2/ Faire de même pour les classes parentes
3/ Surcharger fieldnames() pour qu'il renvoie la liste autorisée en autocomplétion

Inconvénients respectifs:
1/ On perds la doc des méthodes Hidden
2/ dynamicprops.isvalid() est sealed et ne peut être surchargée en Hidden, pour une classe héritant de dynamicprops. Plus généralement, cela induit un niveau supplémentaire dans la hiérarchie de classe
3/ On casse la cohérence entre fieldnames et struct2field, nécessaire pour certaines boucles.

Pistes de réflexion (i.e echecs cuisants)
- Surcharger methods() et properties() en plus de fieldnames(), pour éviter d'avoir à mettre Hidden=true partout. Je n'ai pas réussi à faire marcher cette approche (pourquoi diable l'autocomplétion dépend-elle de la méthode fieldnames(), mais pas des deux autres ??? )

- Automatiser le Hidden=true avec les métaclasses, mais je me heurte à des read-only attributes. Peut on en Matlab modifier une métaclasse et instancier une classe de cette nouvelle métaclasse ?

Sauriez vous contourner ces difficultés ? Avez vous d'autres idées ???

Merci d'avance.