Palette de tuiles en arbre (QTreeView) : catégories → sous-groupes → tuiles.
More...
#include <PalettePanel.h>
|
| bool | event (QEvent *event) override |
| | Régénère les vignettes lors d'un changement d'écran (QEvent::ScreenChangeInternal) : l'échelle d'affichage a pu changer (LOT-56 TACHE-05).
|
Palette de tuiles en arbre (QTreeView) : catégories → sous-groupes → tuiles.
Alimentée par la taxonomie pure (hmi::tileTaxonomy), elle remplace l'accordéon « maison » (retiré au LOT-38) par un contrôle Qt natif (EX-EDIT-018, EX-IHM-010). Sélectionner une feuille met à jour le type de tuile actif (selectedTile) et émet tileSelected — consommé par l'outil de peinture (LOT-35 TACHE-03). Les en-têtes (catégories, sous-groupes) ne sont pas sélectionnables comme tuile.
◆ PalettePanel()
| hmi::PalettePanel::PalettePanel |
( |
QWidget * | parent = nullptr | ) |
|
|
explicit |
◆ ~PalettePanel()
| hmi::PalettePanel::~PalettePanel |
( |
| ) |
|
|
overridedefault |
Hors-ligne : std::unique_ptr<Ui::PalettePanel> porte un type incomplet.
◆ buildModel()
| void hmi::PalettePanel::buildModel |
( |
| ) |
|
|
private |
◆ clearThumbnailCache()
| void hmi::PalettePanel::clearThumbnailCache |
( |
| ) |
|
Vide le cache d'images décodées (rechargement à chaud, LOT-43 TACHE-03).
Sans effet visible tant que refreshThumbnails n'est pas rappelé ensuite : un fichier modifié hors de l'application reste caché tant que le décodage n'est pas rejoué.
◆ event()
| bool hmi::PalettePanel::event |
( |
QEvent * | event | ) |
|
|
overrideprotected |
Régénère les vignettes lors d'un changement d'écran (QEvent::ScreenChangeInternal) : l'échelle d'affichage a pu changer (LOT-56 TACHE-05).
◆ onCurrentChanged()
| void hmi::PalettePanel::onCurrentChanged |
( |
const QModelIndex & | current | ) |
|
|
private |
◆ refreshThumbnails()
| void hmi::PalettePanel::refreshThumbnails |
( |
RenderMode | mode, |
|
|
const std::string & | setName ) |
Rafraîchit les vignettes de la palette (EX-EDIT-027).
À appeler quand le mode de rendu bascule, quand le jeu de skins change, ou quand une assignation est modifiée : les trois événements qui rendent les vignettes obsolètes.
- Parameters
-
| mode | Mode de rendu courant. |
| setName | Jeu de skins courant ; vide pour le jeu par défaut du catalogue. |
◆ retranslateUi()
| void hmi::PalettePanel::retranslateUi |
( |
const Localization & | loc | ) |
|
Applique la langue active (reconstruit l'arbre avec les libellés traduits).
◆ selectedTile()
- Returns
- Le type de tuile actuellement sélectionné (Solid par défaut).
◆ setSkinSource()
| void hmi::PalettePanel::setSkinSource |
( |
std::filesystem::path | skinsDirectory, |
|
|
const SkinCatalog * | catalog ) |
Désigne de quoi afficher des vignettes fidèles au canevas (LOT-42).
- Parameters
-
| skinsDirectory | Dossier des fichiers de skins, décodés côté CPU pour les vignettes. |
| catalog | Catalogue des skins, non possédé. |
◆ thumbnailFor()
Vignette d'un type dans le mode courant, décodée au premier besoin puis mise en cache.
◆ tileSelected
Émis quand l'utilisateur sélectionne une tuile (feuille) dans l'arbre.
◆ _catalog
| const SkinCatalog* hmi::PalettePanel::_catalog = nullptr |
|
private |
◆ _decoded
| std::unordered_map<std::string, QPixmap> hmi::PalettePanel::_decoded |
|
private |
Fichier de skin → image décodée.
La palette affiche une trentaine d'entrées : décoder à chaque redessin, ou pendant le défilement, coûterait bien plus que de les garder.
◆ _loc
Catalogue courant (nul avant première retraduction).
◆ _mode
◆ _model
| QStandardItemModel* hmi::PalettePanel::_model |
|
private |
◆ _selected
◆ _skinsDirectory
| std::filesystem::path hmi::PalettePanel::_skinsDirectory |
|
private |
◆ _skinSet
| std::string hmi::PalettePanel::_skinSet |
|
private |
◆ _tree
| QTreeView* hmi::PalettePanel::_tree |
|
private |
◆ _ui
| std::unique_ptr<Ui::PalettePanel> hmi::PalettePanel::_ui |
|
private |
Mise en page issue de PalettePanel.ui (LOT-68) : le C++ ne branche plus que le fonctionnel, conformément à la convention du projet.
The documentation for this class was generated from the following files:
- /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/HMI/Editor/PalettePanel.h
- /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/HMI/Editor/PalettePanel.cpp