JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
hmi::EditorKeyBindings Class Reference

Association action d'éditeur -> touche, avec persistance JSON (EX-CTRL-012, LOT-29). More...

#include <EditorKeyBindings.h>

Public Member Functions

 EditorKeyBindings ()
 Construit avec les valeurs par défaut (S/Z/Y/C/V/P/F10/F1/F2/T, cf.
Key key (EditorAction action) const noexcept
void setKey (EditorAction action, Key newKey) noexcept
 Lie action à newKey.
void resetToDefaults () noexcept
 Restaure les neuf actions à leurs touches par défaut (defaultKey).
bool save (const std::filesystem::path &path) const
 Sauvegarde dans la section "editeur" de path, en préservant une section "jeu" déjà présente (écrite par GameKeyBindings::save).

Static Public Member Functions

static Key defaultKey (EditorAction action) noexcept
static EditorKeyBindings load (const std::filesystem::path &path)
 Charge la section "editeur" de path.

Private Attributes

std::array< Key, EDITOR_ACTION_COUNT_keys {}

Detailed Description

Association action d'éditeur -> touche, avec persistance JSON (EX-CTRL-012, LOT-29).

Même mécanique que GameKeyBindings (échange sur conflit, section "editeur" du même fichier keybindings.json, fusionnée plutôt qu'écrasée à chaque sauvegarde) — classe séparée plutôt qu'une abstraction commune : deux cas concrets connus, pas de troisième anticipé.

Constructor & Destructor Documentation

◆ EditorKeyBindings()

hmi::EditorKeyBindings::EditorKeyBindings ( )

Construit avec les valeurs par défaut (S/Z/Y/C/V/P/F10/F1/F2/T, cf.

l'éditeur hmi::GameViewport).

Member Function Documentation

◆ defaultKey()

Key hmi::EditorKeyBindings::defaultKey ( EditorAction action)
staticnodiscardnoexcept
Returns
La touche par défaut de action, indépendante de l'état courant.

◆ key()

Key hmi::EditorKeyBindings::key ( EditorAction action) const
nodiscardnoexcept
Returns
La touche actuellement liée à action.

◆ load()

EditorKeyBindings hmi::EditorKeyBindings::load ( const std::filesystem::path & path)
staticnodiscard

Charge la section "editeur" de path.

Returns
Les bindings lus ; valeurs par défaut pour toute entrée absente, invalide, ou si le fichier est absent/corrompu (récupérable, jamais bloquant, EX-NFR-040).

◆ resetToDefaults()

void hmi::EditorKeyBindings::resetToDefaults ( )
noexcept

Restaure les neuf actions à leurs touches par défaut (defaultKey).

◆ save()

bool hmi::EditorKeyBindings::save ( const std::filesystem::path & path) const

Sauvegarde dans la section "editeur" de path, en préservant une section "jeu" déjà présente (écrite par GameKeyBindings::save).

Returns
Faux si le fichier n'a pas pu être écrit (dossier non créable, etc.).

◆ setKey()

void hmi::EditorKeyBindings::setKey ( EditorAction action,
Key newKey )
noexcept

Lie action à newKey.

Si newKey était déjà liée à une autre action de ce jeu de bindings, les deux échangent leurs touches (jamais deux actions sur la même touche à l'issue de l'appel).

Member Data Documentation

◆ _keys

std::array<Key, EDITOR_ACTION_COUNT> hmi::EditorKeyBindings::_keys {}
private

The documentation for this class was generated from the following files: