ModellingEMHTopComponent

L'interface utilisateurLe code

L'action permettant d'afficher ce TopComponent:

L'action est entièrement définie par annotation

Le TopComponent:

Dans le constructeur de la classe la méthode initComponent est appelée. Elle permet uniquement d'initialiser le layout de la vue et ne fait rien d'autre. C'est pour cela que la vue Design est vide.

La création du contenu est effectué dans la méthode org.fudaa.fudaa.crue.modelling.ModellingEMHTopComponent.scenarioLoaded().

Pourquoi:

les TopComponent sont des vues qui sont toujours affichées même si un scénario n'est pas chargé.

Le contenu des TopComponent est en fait géré par événements: dès qu'un scénario est chargé, la méthode scenarioLoaded est appelée:

c'est un service qui envoie un événement à tous les TopComponents actifs.

C'est dans cette méthode que le composant d'affichage est construit:

méthode scenarioLoaded
if (emhTreePanel != null) {
      emhTreePanel.getTreeEMH().removeTreeSelectionListener(treeSelectionListener);
    }
    emhTreePanel = new EMHTreePanel(getModellingService().getSelectedProjet(),
            getModellingService().getScenarioLoaded());
    this.removeAll();
    this.add(new JScrollPane(emhTreePanel.build(getClass().getSimpleName())));
    emhTreePanel.getTreeEMH().addTreeSelectionListener(treeSelectionListener);
    super.revalidate();
    this.repaint();

Si le scénario courant est fermé par l'utilsateur, la méthode scenarioUnloaded est appelée. Cette dernière sauvegarde les paramétres d'affichage ( taille de la fenêtre, des colonnes) et supprime le composant.