Bonsoir,
J'ai actuellement une application composée d'une fenêtre principale, et de plusieurs fenêtres "filles", et j'aurais besoin de faire transiter des messages de la mère vers les filles.
Pour être précis, il s'agit d'un programme de pre/post traitement de modèles éléments finis.
J'ai une classe "Maillage", qui gère toutes les données, à travers plusieurs objets, par exemple les classes "Noeuds", "Elements", "Groupes", etc.
Les fenêtres filles affichent des outils permettant d'intervenir sur ces objets.
Cependant, lorsque je fais une remise à zéro du Maillage (donc que je réinitialise tous les objets), il faut que les fenêtres filles soient mise à jour au niveau affichage, mais sur ordre de la classe "Maillage" et pas sur ordre des classes liées au fenêtres fille.
Pour l'instant, chaque fille implémente une interface spécifique.
Et chaque fois que j'ai besoin d'envoyer un message, par exemple la remise à zéro du "Maillage", je fais le tour de toutes les fenêtres affichées (via un getFrames() sur la fenêtre mère), et je regarde si chaque fenêtre implémente l'interface spécifique. Si oui, j'appelle la méthode qui lance la réinitialisation des données à afficher, puis qui lance la réinitialisation de l'affichage de la fenêtre.
Ca me semble quand même un peu compliqué tout ceci (déjà à expliquer...). Mais je ne souhaite pas gérer la mise à jour des gui à partir des classes gérant les données à afficher.
Est-ce que vous auriez d'autres méthodes?
Si jamais je n'ai pas été clair, je vais mettre le problème en lettres...
J'ai une classe A, liée à une gui principale GUI_A, et utilisant des objets B,C,D,E...
Chaque classe B,C,D,E... peut être relié à une ou plusieurs gui: GUI_B1, GUI_B2, .... GUI_E1, GUI_E2, ...
Il arrive un moment où j'ai besoin de faire passer une information de la classe A vers les gui GUI_B1, GUI_B2, GUI_C1... mais sans passer par les classes B, C, ...
Voilà.
Merci d'avance pour vos idées.
Partager