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

Construit et possède les QAction du catalogue (HMI/Interface/ActionCatalog.h) : chaque outil et chaque commande principale n'existe qu'une fois, placée simultanément dans la barre d'outils, un menu et un menu contextuel sans duplication. More...

#include <EditorActions.h>

Inheritance diagram for hmi::EditorActions:

Public Member Functions

 EditorActions (const DesignTokens &tokens, QObject *parent=nullptr)
QAction * action (IconId id) const
QAction * toolAction (EditorTool tool) const
QActionGroup * toolGroup () const noexcept
QAction * pixelToolAction (PixelTool tool) const
QActionGroup * pixelToolGroup () const noexcept
void populateToolBar (QToolBar &toolBar) const
 Ajoute les actions d'outils de niveau et les commandes principales à toolBar, dans l'ordre du catalogue, avec un séparateur entre les deux — sans les outils de canevas pixel art (populatePixelToolBar, barre d'outils distincte).
void populatePixelToolBar (QToolBar &toolBar) const
 Ajoute les quatre actions d'outil de canevas pixel art à toolBar (LOT-54 TACHE-04) — barre d'outils dédiée du canevas, distincte de celle des outils de niveau.
void retranslateUi (const Localization &loc)
 Applique la langue active : libellé de chaque action, et infobulle incluant son raccourci (jamais saisi séparément).
void setActiveTool (EditorTool tool) const
 Coche l'action de l'outil actif sans émettre triggered : resynchronisation depuis la touche dédiée de GameViewport (remappable, EditorAction::TextureAssignTool).
void setActivePixelTool (PixelTool tool) const
 Coche l'action de l'outil de canevas pixel art actif sans émettre triggered — même garde que setActiveTool (LOT-54 TACHE-04).
void setEditingCommandsEnabled (bool enabled) const
 Active/désactive les six commandes qui n'ont de sens qu'en édition (Enregistrer, Essayer, Annuler, Refaire, Grille, Recadrer).
void refreshIcons (const DesignTokens &tokens)
 Reconstruit les icônes depuis un nouveau jeu de jetons (bascule de thème, LOT-56 TACHE-06) : sans quoi elles resteraient aux anciennes couleurs après le changement.
void applyShortcuts (const EditorKeyBindings &bindings, const Localization &loc)
 Fait refléter bindings sur le raccourci effectif de chaque commande concernée (hmi::keyBindingIconCatalog, LOT-57 TACHE-04).

Private Attributes

std::array< QAction *, EDITOR_ACTION_CATALOG_COUNT_actions {}
QActionGroup * _toolGroup
QActionGroup * _pixelToolGroup
 Groupe exclusif des outils de canevas, distinct de _toolGroup.

Detailed Description

Construit et possède les QAction du catalogue (HMI/Interface/ActionCatalog.h) : chaque outil et chaque commande principale n'existe qu'une fois, placée simultanément dans la barre d'outils, un menu et un menu contextuel sans duplication.

Les icônes sont dessinées par code (hmi::themeIcon) et recolorées depuis les jetons ; refreshIcons les régénère lors d'un changement de thème (LOT-56 TACHE-06).

Constructor & Destructor Documentation

◆ EditorActions()

hmi::EditorActions::EditorActions ( const DesignTokens & tokens,
QObject * parent = nullptr )
explicit
Parameters
tokensJetons du châssis d'édition, pour la première génération des icônes.
parentParent Qt (propriétaire des QAction construits), optionnel.

Member Function Documentation

◆ action()

QAction * hmi::EditorActions::action ( IconId id) const
nodiscard
Returns
L'action portant id.

◆ applyShortcuts()

void hmi::EditorActions::applyShortcuts ( const EditorKeyBindings & bindings,
const Localization & loc )

Fait refléter bindings sur le raccourci effectif de chaque commande concernée (hmi::keyBindingIconCatalog, LOT-57 TACHE-04).

ActionCatalog reste sans dépendance Qt (valeurs par défaut littérales) ; c'est ici, côté Qt, que le raccourci réellement actif d'un QAction est synchronisé avec les touches remappables — sans quoi un remappage dans les Options ne changerait rien à l'action. Refait aussi les infobulles (retranslateUi), pour que « libellé + raccourci » reste vrai.

Parameters
bindingsTouches d'éditeur courantes.
locCatalogue de traduction courant, pour les infobulles.

◆ pixelToolAction()

QAction * hmi::EditorActions::pixelToolAction ( PixelTool tool) const
nodiscard
Returns
L'action de l'outil de canevas pixel art tool (LOT-54 TACHE-04).

◆ pixelToolGroup()

QActionGroup * hmi::EditorActions::pixelToolGroup ( ) const
inlinenodiscardnoexcept
Returns
Le groupe exclusif des quatre actions d'outil de canevas pixel art, distinct de toolGroup() (LOT-54 TACHE-04).

◆ populatePixelToolBar()

void hmi::EditorActions::populatePixelToolBar ( QToolBar & toolBar) const

Ajoute les quatre actions d'outil de canevas pixel art à toolBar (LOT-54 TACHE-04) — barre d'outils dédiée du canevas, distincte de celle des outils de niveau.

◆ populateToolBar()

void hmi::EditorActions::populateToolBar ( QToolBar & toolBar) const

Ajoute les actions d'outils de niveau et les commandes principales à toolBar, dans l'ordre du catalogue, avec un séparateur entre les deux — sans les outils de canevas pixel art (populatePixelToolBar, barre d'outils distincte).

◆ refreshIcons()

void hmi::EditorActions::refreshIcons ( const DesignTokens & tokens)

Reconstruit les icônes depuis un nouveau jeu de jetons (bascule de thème, LOT-56 TACHE-06) : sans quoi elles resteraient aux anciennes couleurs après le changement.

◆ retranslateUi()

void hmi::EditorActions::retranslateUi ( const Localization & loc)

Applique la langue active : libellé de chaque action, et infobulle incluant son raccourci (jamais saisi séparément).

◆ setActivePixelTool()

void hmi::EditorActions::setActivePixelTool ( PixelTool tool) const

Coche l'action de l'outil de canevas pixel art actif sans émettre triggered — même garde que setActiveTool (LOT-54 TACHE-04).

◆ setActiveTool()

void hmi::EditorActions::setActiveTool ( EditorTool tool) const

Coche l'action de l'outil actif sans émettre triggered : resynchronisation depuis la touche dédiée de GameViewport (remappable, EditorAction::TextureAssignTool).

◆ setEditingCommandsEnabled()

void hmi::EditorActions::setEditingCommandsEnabled ( bool enabled) const

Active/désactive les six commandes qui n'ont de sens qu'en édition (Enregistrer, Essayer, Annuler, Refaire, Grille, Recadrer).

Le mode de rendu reste toujours actif : il s'applique aussi en essai et en jeu réel (EX-REN-046).

◆ toolAction()

QAction * hmi::EditorActions::toolAction ( EditorTool tool) const
nodiscard
Returns
L'action de l'outil tool (raccourci vers action(editorActionForTool(tool))).

◆ toolGroup()

QActionGroup * hmi::EditorActions::toolGroup ( ) const
inlinenodiscardnoexcept
Returns
Le groupe exclusif des six actions d'outil de niveau.

Member Data Documentation

◆ _actions

std::array<QAction*, EDITOR_ACTION_CATALOG_COUNT> hmi::EditorActions::_actions {}
private

◆ _pixelToolGroup

QActionGroup* hmi::EditorActions::_pixelToolGroup
private

Groupe exclusif des outils de canevas, distinct de _toolGroup.

◆ _toolGroup

QActionGroup* hmi::EditorActions::_toolGroup
private

The documentation for this class was generated from the following files:
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/HMI/Interface/EditorActions.h
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/HMI/Interface/EditorActions.cpp