Les vues d edition d une EMH

Un TopComponent permet d'afficher et d'éditer le contenu d'une EMH. Ces TopComponents héritent de AbstractModellingEMHTopComponent:

 

Ce composant parent, AbstractModellingEMHTopComponent, permet de définir les composants graphiques communs à toutes les classes filles: le champ texte pour le nom de l'EMH et le champ texte pour le commentaire.

Il permet également et surtout de définir le comportement global de ces  TopComponents:

  • au chargement d'un scénario ( méthode AbstractModellingEMHTopComponent.scenarioLoaded()),
  • à la fermeture,
  • si le nom est modifié (validation du nom,...)
  • si le mode "edit" est activé
  • ...

 

Création de la vue

la construction des éléments d'affichage se fait via la méthode createComponents et non par la méthode standard de Netbeans initComponents car la création de l'affichage est mutualisée pour les 4 types d'EMH. La création de la vue se fait en 2 parties:

 

Ainsi pour les branches, tout est construit dans ModellingEMHBrancheTopComponent.buildNorthPanel().

Remplissage des champs

Comme expliqué dans ModellingEMHTopComponent, une vue doit être capable de réagir à l'ouverture/fermeture d'un scénario. Pour cela, des events sont envoyés au TopComponent et ces derniers implémentent en général la méthode scenarioLoaded, appelée au chargement et scenarioUnloaded à la fermeture du scénario.

Dans notre cas, la méthode scenarioLoaded est utilisée pour remplir les champs de la vue avec les valeurs de l'EMH en cours. Cette action est divisée en 2:

  1. mise à jour des champs commun soit titre et commentaire
  2. mise à jour des champs spécifiques au type d'EMH via la méthode updateOtherComponents

Pour les EMH de type branche qui sont plus complexes ( car une partie de la vue dépend du type de branche), ce remplissage appelle une autre méthode udpdateSpecificCenter qui permet de créer et gérer des composants d'affichage spécifique au type de branche en cours.