|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Machine à états des écrans de la fenêtre principale (LOT-59 TACHE-01, EX-GP-041). More...
#include <optional>Go to the source code of this file.
Classes | |
| struct | hmi::ScreenDressing |
| Habillage de fenêtre associé à un écran : ce que chaque showXxx() répétait à la main (bascule du QStackedWidget, docks, barre de menu, barres d'outils, navigation manette). More... | |
| struct | hmi::ScreenState |
| État complet de la machine. More... | |
Namespaces | |
| namespace | hmi |
Enumerations | |
| enum class | hmi::ScreenId { hmi::Menu , hmi::Editor , hmi::Game , hmi::Options , hmi::Pause , hmi::Credits , hmi::RpgScreen } |
| Écran actuellement affiché par la fenêtre principale. More... | |
| enum class | hmi::ScreenEvent { hmi::OpenMenu , hmi::OpenEditor , hmi::OpenGame , hmi::OpenOptions , hmi::CloseOptions , hmi::OpenPause , hmi::ResumePause , hmi::QuitPauseToMenu , hmi::OpenCredits , hmi::CloseCredits , hmi::OpenRpgScreen , hmi::CloseRpgScreen } |
| Événement pouvant déclencher une transition d'écran. More... | |
Functions | |
| ScreenDressing | hmi::dressingFor (ScreenId screen) noexcept |
| std::optional< ScreenState > | hmi::resolveTransition (const ScreenState ¤t, ScreenEvent event) noexcept |
| Résout une transition d'écran à partir de l'état courant et d'un événement. | |
Machine à états des écrans de la fenêtre principale (LOT-59 TACHE-01, EX-GP-041).
Logique pure (aucune dépendance Qt), testable hors instance d'application (EX-NFR-010) — même patron que HMI/Editor/PanelFocus.h/HMI/Interface/ActionCatalog.h. MainWindow ne fait que suivre cette table : les showXxx() deviennent des consommatrices de dressingFor(), et toute navigation passe par resolveTransition() plutôt que d'appeler une autre méthode directement – une transition non déclarée ici est refusée, jamais silencieusement acceptée.