43class EditorMainWindow;
122 [[nodiscard]] std::array<std::pair<QDockWidget*, hmi::PanelId>,
hmi::PANEL_COUNT>
126 void moveEvent(QMoveEvent* event)
override;
130 bool eventFilter(QObject* watched, QEvent* event)
override;
230 [[nodiscard]] std::filesystem::path
planeFilePath(std::size_t index)
const;
252 [[nodiscard]] QString
text(
const char* key)
const;
267 std::unique_ptr<Ui::EditorMainWindow>
_ui;
Socle de lecture audio : enveloppe fine autour de QSoundEffect (EX-REN-047).
Cible des commandes Annuler/Refaire/Copier/Coller, indépendante du contexte d'édition qui les impléme...
Espaces de travail exclusifs de l'éditeur (LOT-68, EX-IHM-073).
Détection pure des transitions d'état du jeu et de l'IHM (EX-REN-047, LOT-60).
Sondage XInput de la manette, fusionné dans un InputState (réutilisable).
Catalogue de traduction : résolution des textes d'interface par clé et par langue.
Correspondance outil actif → panneau à mettre en avant (LOT-57 TACHE-02, EX-IHM-061).
Palette de projet persistée, extraction depuis un asset et contrainte de couleur (LOT-54 TACHE-07,...
Association nom logique d'événement → fichier de son (EX-REN-047).
Sink de test : mémorise les messages reçus pour inspection.
Definition MemoryLogSink.h:21
Lecture d'échantillons courts à faible latence, avec volume global et repli muet.
Definition AudioEngine.h:36
Interface pure implémentée par le contexte d'édition actif.
Definition EditContextTarget.h:24
Construit et possède les QAction du catalogue (HMI/Interface/ActionCatalog.h) : chaque outil et chaqu...
Definition EditorActions.h:35
Widget de rendu (QRhiWidget) où la scène est dessinée, composé avec le reste de l'interface.
Definition GameViewport.h:81
Panneau de gestion des niveaux : liste filtrable + créer/renommer/dupliquer/supprimer.
Definition LevelBrowserPanel.h:38
Vue tabulaire des liaisons (Mechanism) du brouillon courant (EX-IHM-031).
Definition LinkPanel.h:46
Catalogue de traduction (i18n) : associe des clés stables à des chaînes selon la langue active,...
Definition Localization.h:29
QLabel * _statusLevel
Definition MainWindow.h:344
QAction * workspaceSelector(EditorWorkspace workspace) const
Definition MainWindow.cpp:1444
QLabel * _statusTool
Definition MainWindow.h:346
std::filesystem::path planeFilePath(std::size_t index) const
Definition MainWindow.cpp:666
void openShortcutsDialog()
Ouvre l'aperçu des raccourcis (ShortcutsDialog.ui).
Definition MainWindow.cpp:1378
std::string pixelAssetCacheKey() const
Nom logique de l'asset ouvert, relatif à Assets/ (ex.
Definition MainWindow.cpp:1754
void resizeEvent(QResizeEvent *event) override
Repris de QMainWindow.
Definition MainWindow.cpp:836
void retranslateUi()
Applique la langue active à tous les textes de l'IHM (fenêtre, menus, docks, panneaux).
Definition MainWindow.cpp:1977
GameViewport * _viewport
Surface de rendu QRhi, et widget central depuis le LOT-86.
Definition MainWindow.h:271
QString text(const char *key) const
Raccourci : texte localisé d'une clé, en QString.
Definition MainWindow.cpp:1610
LinkPanel * _links
Placement/inspection de décors (dock Décors, LOT-57 amendement) — contenait déjà tout ce qui concerne...
Definition MainWindow.h:285
QAction * _themeDarkAction
Definition MainWindow.h:322
void openPixelColorPicker()
Ouvre un sélecteur de couleur (QColorDialog) pour choisir librement la couleur courante du canevas — ...
Definition MainWindow.cpp:1786
void playInterfaceSound(GameEvent event)
Joue le son associé à event (hmi::SoundTriggers), sans effet si aucun son ne lui est associé (LOT-60 ...
Definition MainWindow.cpp:852
void buildUi()
Crée les panneaux (contenu des docks du .ui) et branche les actions de la barre de menus.
Definition MainWindow.cpp:866
bool eventFilter(QObject *watched, QEvent *event) override
Suit la taille du viewport pour les recouvrements qui s'y superposent (pause, fin de niveau) : enfant...
Definition MainWindow.cpp:844
QTimer * _statusMessageTimer
Restaure l'aide contextuelle à l'expiration d'un message transitoire (showTransientStatusMessage).
Definition MainWindow.h:356
QAction * _themeLightAction
Definition MainWindow.h:321
bool _userPickedTab
true dès que l'utilisateur a choisi un onglet ou déplacé un panneau lui-même : la mise en avant autom...
Definition MainWindow.h:329
QLabel * _statusColor
Couleur courante de l'atelier pixel art (LOT-54 TACHE-04) ; vide hors contexte d'atelier.
Definition MainWindow.h:350
QToolBar * _pixelToolBar
Barre d'outils du canevas pixel art (LOT-54 TACHE-04).
Definition MainWindow.h:314
void saveLayout()
Definition MainWindow.cpp:1596
void updatePixelColorButtonIcon(std::uint32_t color)
Met à jour le témoin de couleur de la barre d'outils du canevas (pastille de _pixelColorButton).
Definition MainWindow.cpp:1777
core::MemoryLogSink * _sessionLog
Sink mémoire des logs (nul en Release).
Definition MainWindow.h:366
std::optional< std::size_t > _paintedPlane
Rang du plan actuellement peint dans _pixelCanvas (mode création, LOT-69 TACHE-08) ; absent dès que l...
Definition MainWindow.h:305
static QString workspaceSettingsName(EditorWorkspace workspace)
Definition MainWindow.cpp:1422
TexturePanel * _textures
Habillage : jeu de skins et assignations (dock Textures, LOT-42).
Definition MainWindow.h:286
void savePlaneImage()
Écrit l'image du canevas dans le PNG du plan ouvert (Ctrl+S dans l'espace « Plans »).
Definition MainWindow.cpp:795
void switchToWorkspace(EditorWorkspace workspace)
Bascule sur workspace s'il n'est pas déjà actif, en synchronisant le sélecteur du menu sans réémettre...
Definition MainWindow.cpp:1456
Localization _loc
Catalogue de traduction (i18n), source de tous les textes.
Definition MainWindow.h:358
QAction * _actFollowActiveTool
Réglage persisté (menu Affichage).
Definition MainWindow.h:326
QAction * _actShowAllLayers
Definition MainWindow.h:335
void savePixelAsset(bool saveAs)
Enregistre l'asset ouvert.
Definition MainWindow.cpp:1909
void changePlaneDensity(std::size_t index, int pixelsPerUnit)
Change la densité d'un plan : rééchantillonne l'image puis met à jour la déclaration,...
Definition MainWindow.cpp:633
void closeEvent(QCloseEvent *event) override
Sauvegarde la disposition avant fermeture.
Definition MainWindow.cpp:1602
QLabel * _statusHover
Definition MainWindow.h:347
std::array< std::pair< QDockWidget *, hmi::PanelId >, hmi::PANEL_COUNT > workspacePanels() const
Definition MainWindow.cpp:509
void updateLivePreview()
Écrit l'image en cours sur _pixelAssetPath et invalide son entrée de TextureCache,...
Definition MainWindow.cpp:1765
void showTransientStatusMessage(const QString &message, int timeoutMs)
Affiche message pour timeoutMs dans la barre d'état, puis restaure l'aide contextuelle (refreshStatus...
Definition MainWindow.cpp:1673
void raisePanel(hmi::PanelId panel)
Met en avant panel (résolution PanelId -> QDockWidget*), sans jamais voler le focus clavier — factori...
Definition MainWindow.cpp:1703
void applyPanelFocus(hmi::EditorTool tool)
Met en avant le panneau associé à tool (hmi::panelForTool), si le réglage est actif et que l'utilisat...
Definition MainWindow.cpp:1681
hmi::AudioEngine _audio
Moteur audio (LOT-60) : ouvert au démarrage (EX-REN-047), dégrade en silence sans périphérique (EX-NF...
Definition MainWindow.h:362
PixelCanvas * _pixelCanvas
Réglages de gameplay de l'élément sélectionné et du tableau (dock Propriétés, LOT-67).
Definition MainWindow.h:290
void showEditor()
Affiche l'éditeur (viewport + docks + barre de menu).
Definition MainWindow.cpp:858
MainWindow(core::MemoryLogSink *sessionLog=nullptr)
Definition MainWindow.cpp:126
std::filesystem::path _pixelAssetPath
Chemin complet du fichier de l'asset ouvert dans l'atelier, vide si aucun ou pas encore enregistré (L...
Definition MainWindow.h:300
QMenu * _pixelMenu
Menu « Atelier » : ouvrir/créer/enregistrer (LOT-54 TACHE-05).
Definition MainWindow.h:317
void applyPixelPanelFocus(hmi::PixelTool tool)
Équivalent pour les outils du canevas pixel art (hmi::panelForPixelTool, LOT-54 TACHE-04) — même gard...
Definition MainWindow.cpp:1692
void openPixelAssetOpenDialog()
Ouvre un asset existant choisi par l'utilisateur (bibliothèque Assets/), après le garde-fou de perte ...
Definition MainWindow.cpp:1803
void moveEvent(QMoveEvent *event) override
Definition MainWindow.cpp:840
void connectPlanesPanel()
Branche le panneau « Plans » (LOT-69 TACHE-08) : il demande, le viewport applique.
Definition MainWindow.cpp:525
void syncPaletteToCanvas()
Recopie les couleurs de _pixelPalette vers _pixelCanvas (mode contraint) — à appeler après toute muta...
Definition MainWindow.cpp:1962
void applyWorkspace(EditorWorkspace workspace)
Applique l'espace de travail workspace (LOT-68, EX-IHM-073) : masque les panneaux de l'autre espace,...
Definition MainWindow.cpp:1509
QByteArray _defaultState
Disposition par défaut (pour « Réinitialiser la disposition »).
Definition MainWindow.h:323
EditorActions * _actions
Outils et commandes principales, barre d'outils (LOT-56 TACHE-04).
Definition MainWindow.h:307
PixelPalettePanel * _pixelPalettePanel
Édition de la palette de projet (dock, LOT-54 TACHE-07).
Definition MainWindow.h:294
LevelBrowserPanel * _levels
Liste/gestion des fichiers de niveaux (contenu du dock Niveaux).
Definition MainWindow.h:281
bool confirmDiscardPixelChanges()
Definition MainWindow.cpp:1743
QLabel * _statusDirty
Definition MainWindow.h:345
static QString layoutKeyFor(EditorWorkspace workspace)
Definition MainWindow.cpp:1407
QLabel * _statusZoom
Definition MainWindow.h:348
QToolBar * _toolBar
Barre d'outils de l'éditeur, alimentée par _actions.
Definition MainWindow.h:313
QToolButton * _pixelColorButton
Témoin + sélecteur de couleur courante (canevas).
Definition MainWindow.h:315
EditorWorkspace _workspace
Definition MainWindow.h:312
void openResizeDialog()
Ouvre la boîte de dialogue de redimensionnement du niveau (avec confirmation si destructeur).
Definition MainWindow.cpp:1348
std::unique_ptr< Ui::EditorMainWindow > _ui
Mise en page (MainWindow.ui : menubar + docks).
Definition MainWindow.h:267
static EditorWorkspace workspaceFromSettingsName(const QString &name)
Definition MainWindow.cpp:1434
QAction * _themeSystemAction
Definition MainWindow.h:320
void changeLanguage(const QString &code)
Change la langue active (recharge le catalogue, persiste, retraduit tout).
Definition MainWindow.cpp:2036
void createPlane()
Crée un plan : un PNG entièrement transparent aux dimensions exactes, puis l'entrée dans le brouillon...
Definition MainWindow.cpp:593
void savePixelPalette()
Enregistre _pixelPalette dans Assets/palettes.json, journalise un échec éventuel.
Definition MainWindow.cpp:1971
hmi::SoundCatalog _sounds
Catalogue de sons (LOT-60 TACHE-02), lu une fois au démarrage depuis Audio/sounds....
Definition MainWindow.h:365
EditContextTarget * _editContext
Contexte d'édition actif, cible d'Annuler/Refaire/Copier/Coller (LOT-57 TACHE-04) : _viewport (nivea...
Definition MainWindow.h:276
void refreshStatusHelp()
Recalcule et réaffiche la barre d'état (zones permanentes + aide contextuelle) depuis l'état courant ...
Definition MainWindow.cpp:1614
bool _closing
Espace de travail actif (LOT-68).
Definition MainWindow.h:311
QLabel * _statusCameraFraming
Mode de cadrage de caméra du niveau courant (EX-EDIT-028, LOT-64) ; vide hors contexte de niveau.
Definition MainWindow.h:353
void saveSessionLogs()
Enregistre les journaux de session accumulés dans un fichier horodaté.
Definition MainWindow.cpp:2049
void openPixelAssetCreateDialog()
Crée un nouvel asset à une taille choisie parmi celles admises par le contrat de sa famille (hmi::val...
Definition MainWindow.cpp:1826
void setDocksVisible(bool visible)
Montre/masque tous les panneaux dockables.
Definition MainWindow.cpp:491
PlanesPanel * _planes
Liste des plans picturaux (LOT-69, contenu du dock Plans).
Definition MainWindow.h:278
PixelHistoryPanel * _pixelHistoryPanel
Historique visuel de l'atelier (dock, LOT-54 TACHE-04).
Definition MainWindow.h:292
void closePlaneInCanvas()
Vide le canevas de son plan et retire les repères — l'atelier pixel art retrouve alors son comporteme...
Definition MainWindow.cpp:780
void refreshPlaneReferences()
Reconstruit les repères du plan ouvert depuis le brouillon courant : appelé après toute mutation qui ...
Definition MainWindow.cpp:715
QMenu * _themeMenu
Sous-menu Affichage > Thème (LOT-56 TACHE-06).
Definition MainWindow.h:319
void loadPlaneIntoCanvas(std::size_t index)
Charge le PNG du plan index dans _pixelCanvas, avec ses repères (pelure d'oignon des tuiles sous le p...
Definition MainWindow.cpp:674
PixelPalette _pixelPalette
Palette de projet, chargée/enregistrée dans Assets/palettes.json.
Definition MainWindow.h:296
std::filesystem::path planesDirectory() const
Definition MainWindow.cpp:589
void updateActiveEditContext(QWidget *focused)
Réassigne le contexte d'édition actif (_editContext) et le contexte de la barre d'état selon le widge...
Definition MainWindow.cpp:1729
void restoreLayout()
Definition MainWindow.cpp:1556
PalettePanel * _palette
Arbre de sélection du type de tuile (contenu du dock Palette).
Definition MainWindow.h:277
bool confirmDiscardPlaneChanges()
Definition MainWindow.cpp:819
bool _suppressPanelFocusTracking
true pendant un changement de visibilité provoqué par le code (mise en avant automatique,...
Definition MainWindow.h:339
std::array< QAction *, 7 > _layerVisibilityActions
Definition MainWindow.h:334
Palette de tuiles en arbre (QTreeView) : catégories → sous-groupes → tuiles.
Definition PalettePanel.h:44
Widget affichant l'image en cours d'édition et transformant les gestes de souris en appels aux opérat...
Definition PixelCanvas.h:62
Liste ordonnée des opérations nommées de l'historique du canevas pixel art actif.
Definition PixelHistoryPanel.h:36
Liste éditable de la palette de projet (hmi::PixelPalette), avec le réglage « contraindre à la palett...
Definition PixelPalettePanel.h:41
Palette de couleurs nommées du projet, lue/écrite dans Assets/palettes.json.
Definition PixelPalette.h:44
Liste ordonnée des plans d'un niveau, avec leurs réglages.
Definition PlanesPanel.h:51
Catalogue des sons : nom d'événement → fichier (relatif à Source/Elements/Audio/).
Definition SoundCatalog.h:49
Panneau d'habillage, organisé en sections extensibles (EX-EDIT-042, EX-EDIT-024).
Definition TexturePanel.h:68
Definition AssetThumbnailView.h:26
Espace de noms du moteur et de la logique de jeu.
Definition Bootstrap.h:9
Definition AudioEngine.cpp:15
EditorTool
Outil actif dans la grille de l'éditeur, changé via Tab ou la barre d'outils (hmi::EditorActions).
Definition EditorTool.h:35
GameEvent
Événement discret survenu sur un pas de simulation ou une action d'interface.
Definition GameEvents.h:28
PixelTool
Outil actif du canevas pixel art — détermine ce que produisent les gestes de souris (hmi::PixelCanvas...
Definition PixelTool.h:22
PanelId
Panneau dockable de l'éditeur.
Definition PanelFocus.h:28
constexpr std::size_t PANEL_COUNT
Nombre de panneaux, declare au plus pres de l'enumeration qu'il compte.
Definition PanelFocus.h:45
EditorWorkspace
Espace de travail actif. Ils s'excluent : aucun état intermédiaire n'existe.
Definition EditorWorkspace.h:34
@ Level
Édition de niveau.
Definition EditorWorkspace.h:35