|
Sweet Home 3D Forum » List all forums » » Forum: Forum en français » » » Thread: quelques besoins d'aide » » » » Post: Re: quelques besoins d'aide |
Print at Dec 22, 2025, 8:48:29 AM |
| Posted by Puybaret at May 11, 2010, 1:45:25 PM |
|
Re: quelques besoins d'aide Dans le constructeur d'une sous-classe de PluginAction, je viens d'essayer de remplacer à la volée une instance de HomePieceOfFurniture par une instance d'une sous-classe public MyPieceOfFurniture appartenant au plug-in. Ca donne ça: getHome().addFurnitureListener(new CollectionListener<HomePieceOfFurniture>() {Ca marche sur le moment, mais comme je le pressentais, le fichier sh3d qui contient des instances de MyPieceOfFurniture ne peut plus être lu après par Sweet Home 3D, parce que la classe MyPieceOfFurniture n'appartient pas au classpath de Sweet Home 3D. Cette classe n'est accessible que du plug-in et la lecture d'un fichier SH3D ne se fait pas dans le plug-in. Si tu veux toujours continuer tes développements sous la forme d'un plug-in, je te conseille d'utiliser plutôt les méthodes setVisualProperty et getVisualProperty de la classe Home. Une "property value" peut être n'importe quelle instance d'une classe accessible dans Sweet Home 3D ; par exemple, un instance de HashMap dans laquelle tu stockes les valeurs supplémentaires dont tu as besoin pour chaque meuble (tu peux utiliser une instance de HomePieceOfFurniture comme clé de ta map). Ca n'est pas super génial, mais ça marche sans problème et je m'en sers dans le plug-in de rendu avancé pour stocker les valeurs saisies par l'utilisateur dans la boîte de dialogue. ---------------------------------------- Emmanuel Puybaret, Sweet Home 3D creator |
|
|
Current timezone is GMT Dec 22, 2025, 8:48:29 AM |