JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
ActionCatalog.h File Reference

Catalogue des actions de l'éditeur : outils et commandes principales (LOT-56 TACHE-04, EX-IHM-055). More...

#include <array>
#include <optional>
#include "HMI/Editor/EditorTool.h"
#include "HMI/Editor/PixelTool.h"
#include "HMI/Input/EditorKeyBindings.h"
#include "HMI/Interface/IconGeometry.h"

Go to the source code of this file.

Classes

struct  hmi::EditorActionSpec
 Description d'une action, indépendante de Qt : de quoi construire un QAction complet (icône, libellé, raccourci, caractère cochable) sans dupliquer sa définition ailleurs. More...
struct  hmi::KeyBindingIconEntry
 Correspondance entre une action d'éditeur remappable (hmi::EditorAction, EditorKeyBindings.h) et l'identifiant d'action du catalogue qui la rend effective (LOT-57 TACHE-04, EX-IHM-062). More...

Namespaces

namespace  hmi

Enumerations

enum class  hmi::EditorActionGroup { hmi::None , hmi::LevelTools , hmi::PixelTools , hmi::PixelCommands }
 Groupe d'exclusivité d'une action : les outils d'édition forment un groupe exclusif (un seul actif à la fois) ; les commandes n'appartiennent à aucun groupe. More...
enum class  hmi::ActionSurface { hmi::ToolBarAndMenu , hmi::MenuOnly }
 Surface d'une action (LOT-68, EX-IHM-074). More...

Functions

const std::array< EditorActionSpec, EDITOR_ACTION_CATALOG_COUNT > & hmi::editorActionCatalog ()
const EditorActionSpechmi::editorActionSpec (IconId id)
std::optional< EditorToolhmi::editorActionTool (IconId id)
IconId hmi::editorActionForTool (EditorTool tool)
std::optional< PixelToolhmi::editorActionPixelTool (IconId id)
IconId hmi::editorActionForPixelTool (PixelTool tool)
const std::array< KeyBindingIconEntry, KEY_BINDING_ICON_COUNT > & hmi::keyBindingIconCatalog ()
IconId hmi::iconForKeyBindingAction (EditorAction action)
std::optional< EditorActionhmi::keyBindingActionForIcon (IconId id)

Variables

constexpr int hmi::EDITOR_ACTION_CATALOG_COUNT = 30
 Nombre total d'actions du catalogue (six outils de niveau, cinq outils de canevas pixel art, onze commandes principales, quatre commandes de fichier de l'atelier, quatre commandes de région de l'atelier).
constexpr int hmi::TOOLBAR_COMMAND_BUDGET = 5
 Nombre d'actions hors sélection d'outil admises dans une barre d'outils (LOT-68).
constexpr int hmi::KEY_BINDING_ICON_COUNT = 9
 Nombre d'actions d'éditeur remappables ayant une commande effective (EDITOR_ACTION_COUNT moins TextureAssignTool).

Detailed Description

Catalogue des actions de l'éditeur : outils et commandes principales (LOT-56 TACHE-04, EX-IHM-055).

Logique pure (aucune dépendance Qt/GPU), testable hors instance d'application (EX-NFR-010) — compilée à la fois dans JustAnotherDnDGame et directement dans UnitTests. La construction Qt des QAction (HMI/Interface/EditorActions.h) est produite depuis ce catalogue, pour qu'aucune commande n'ait deux définitions (menu, barre d'outils, raccourci).