bob94700
Messages postés69Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention 7 avril 2007
-
24 avril 2006 à 09:13
bob94700
Messages postés69Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention 7 avril 2007
-
6 mai 2006 à 14:33
salut,
Je cherche à completer la classe TreeNode : en ajoutant notamment une propriété supplémentaire.
La dériver ne me parait pas le plus simple, car je crains qu'il faille redéfinir trop de choses compte tenu du Treeview parent, des évènements, des collections de noeuds ...
Alors je me demandais s'il y a un moyen ou une idée pou ajouter une nouvelle propriété à un noeud ? J'ai pensé au principe des ToolTip, mais je ne sais pas si ça va marcher un dynamique dans un programme ...
Si qqn a une idée (je vais essayer le principe des ToolTip de mon côté)...
bob94700
Messages postés69Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention 7 avril 20074 24 avril 2006 à 18:41
eh bien je peux hériter TreeNode, et y ajouter ma propriété. Mais tout le Treeview est lui défini avec TreeNode. Il faut donc que je redéfinisse tout ce qui touche à TreeNode pour le remplacer par ma classe héritée, non ? Et compte tenu de l'imbrication de TreeNode dans TreeView, dans lui même, ça me parait un peut lourd de passer par un héritage juste pour ça ...
bob94700
Messages postés69Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention 7 avril 20074 6 mai 2006 à 14:33
Bonjour,
Désolé de ne pas répondre plus tôt. La solution que vous proposez devrait marcher :
l'idée est de dériver uniquement TreeNode et de laisser à l'utilisateur le soin d'ajouter le TreeNode dérivé lors de ses manip.
Je cherchais quelque chose qui me permette aussi d'empécher l'insertion d'un TreeNode "de base", c'est pourquoi la simple dérivation de TreeNode me paraissait insuffisant (d'autant que le down cast n'est possible que si l'élément est à l'origine un objet de ma classe dérivé).
Mais je tourne en rond avec ça (par exemple, on peut pas dériver TreeNodeCollection), sauf à redéfinir trop de choses ...
Ce qui aurait été bien, c'est que j'ai un évènement du genre NodeAdded(), pour intercepter l'ajout de noeuds et les passer systématiquement en noeuds dérivés ... mais bon ...
Je crois que je vais opter pour cette solution qui me parait effectivement la plus simple à ce détail près.
D'ailleurs, pour les besoins "internes" rien ne m'empèchera de remlplacer les treeNode de base en TreeNode dérivés au fil des besoins ...
Merci pour vos réponses.