JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
PixelPalettePanel.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Valentin Eloy
2// SPDX-License-Identifier: GPL-3.0-or-later
3
4#pragma once
5
6#include <QWidget>
7#include <cstddef>
8#include <cstdint>
9#include <memory>
10
12
13class QCheckBox;
14class QListWidget;
15class QPushButton;
16
21
22namespace Ui {
23class PixelPalettePanel;
24}
25
26namespace hmi {
27
28class Localization;
29
41class PixelPalettePanel : public QWidget {
42 Q_OBJECT
43
44public:
45 explicit PixelPalettePanel(QWidget* parent = nullptr);
46
49
51 void refresh(const PixelPalette& palette);
53 void retranslateUi(const Localization& loc);
54
57 void setConstrainEnabled(bool enabled);
58 [[nodiscard]] bool constrainEnabled() const;
59
60signals:
64 void removeRequested(std::size_t index);
66 void renameRequested(std::size_t index);
68 void moveRequested(std::size_t index, bool up);
72 void constrainToggled(bool enabled);
74 void colorActivated(std::uint32_t color);
75
76private:
77 void onRemoveClicked();
78 void onRenameClicked();
79 void onMoveUpClicked();
80 void onMoveDownClicked();
81 void onItemActivated(int row);
83
86 std::unique_ptr<Ui::PixelPalettePanel> _ui;
87 QListWidget* _list;
88 QPushButton* _addButton;
89 QPushButton* _removeButton;
90 QPushButton* _renameButton;
91 QPushButton* _moveUpButton;
92 QPushButton* _moveDownButton;
93 QPushButton* _extractButton;
94 QCheckBox* _constrainCheck;
95 const Localization* _loc = nullptr;
96 std::vector<PixelPaletteEntry> _entries;
97};
98
99} // namespace hmi
Palette de projet persistée, extraction depuis un asset et contrainte de couleur (LOT-54 TACHE-07,...
Catalogue de traduction (i18n) : associe des clés stables à des chaînes selon la langue active,...
Definition Localization.h:29
void addRequested()
L'utilisateur veut ajouter la couleur courante du canevas à la palette.
QPushButton * _extractButton
Definition PixelPalettePanel.h:93
void onRemoveClicked()
Definition PixelPalettePanel.cpp:101
std::vector< PixelPaletteEntry > _entries
Dernier contenu affiché (retranslateUi le relit).
Definition PixelPalettePanel.h:96
void moveRequested(std::size_t index, bool up)
Déplacer l'entrée index d'un cran (up : vers le haut, sinon vers le bas).
bool constrainEnabled() const
Definition PixelPalettePanel.cpp:97
QPushButton * _moveDownButton
Definition PixelPalettePanel.h:92
PixelPalettePanel(QWidget *parent=nullptr)
Definition PixelPalettePanel.cpp:41
QCheckBox * _constrainCheck
Definition PixelPalettePanel.h:94
void colorActivated(std::uint32_t color)
Double-clic sur une pastille : adopter cette couleur comme couleur courante du canevas.
QPushButton * _removeButton
Definition PixelPalettePanel.h:89
void onMoveDownClicked()
Definition PixelPalettePanel.cpp:125
~PixelPalettePanel() override
Hors-ligne : std::unique_ptr<Ui::PixelPalettePanel> porte un type incomplet.
QListWidget * _list
Definition PixelPalettePanel.h:87
void retranslateUi(const Localization &loc)
Applique la langue active.
Definition PixelPalettePanel.cpp:81
void onRenameClicked()
Definition PixelPalettePanel.cpp:109
void onItemActivated(int row)
Definition PixelPalettePanel.cpp:133
void constrainToggled(bool enabled)
Le réglage « contraindre à la palette » a changé (choix explicite de l'utilisateur).
QPushButton * _renameButton
Definition PixelPalettePanel.h:90
void refresh(const PixelPalette &palette)
Reconstruit la liste depuis palette (après toute mutation).
Definition PixelPalettePanel.cpp:70
QPushButton * _moveUpButton
Definition PixelPalettePanel.h:91
void renameRequested(std::size_t index)
Renommer l'entrée index (le nouveau nom est demandé par l'appelant, MainWindow).
void setConstrainEnabled(bool enabled)
Coche/décoche le réglage « contraindre à la palette » sans émettre constrainToggled (resynchronisatio...
Definition PixelPalettePanel.cpp:92
void extractRequested()
Extraire la palette de l'asset actuellement ouvert dans le canevas.
std::unique_ptr< Ui::PixelPalettePanel > _ui
Mise en page issue de PixelPalettePanel.ui (LOT-68) : le C++ ne branche plus que le fonctionnel,...
Definition PixelPalettePanel.h:86
QPushButton * _addButton
Definition PixelPalettePanel.h:88
void updateButtonsEnabled()
Definition PixelPalettePanel.cpp:140
void removeRequested(std::size_t index)
Retirer l'entrée index.
void onMoveUpClicked()
Definition PixelPalettePanel.cpp:117
const Localization * _loc
Definition PixelPalettePanel.h:95
Palette de couleurs nommées du projet, lue/écrite dans Assets/palettes.json.
Definition PixelPalette.h:44
Definition AssetThumbnailView.h:26
Definition AudioEngine.cpp:15