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

Vue tabulaire des liaisons (Mechanism) du brouillon courant (EX-IHM-031). More...

#include <LinkPanel.h>

Inheritance diagram for hmi::LinkPanel:

Signals

void linkSelected (std::optional< std::pair< core::GridPosition, core::GridPosition > > link)
 Émis quand la sélection change : la paire (déclencheur, cible), ou std::nullopt si aucune ligne n'est sélectionnée.
void deleteRequested (core::GridPosition targetPosition)
 Émis par le bouton « Supprimer » pour la ligne sélectionnée (position de la cible).

Public Member Functions

 LinkPanel (QWidget *parent=nullptr)
 ~LinkPanel () override
 Hors-ligne : std::unique_ptr<Ui::LinkPanel> porte un type incomplet.
void refresh (const core::LevelDraft &draft)
 Reconstruit la liste depuis draft (après toute mutation du brouillon).
void retranslateUi (const Localization &loc)
 Applique la langue active (en-têtes de colonnes, libellés de type, bouton).

Private Member Functions

void rebuildRows ()
void onSelectionChanged ()
void onDeleteClicked ()

Private Attributes

std::unique_ptr< Ui::LinkPanel > _ui
 Mise en page issue de LinkPanel.ui (LOT-68) : le C++ ne branche plus que le fonctionnel, conformément à la convention du projet.
QTableView * _table
QStandardItemModel * _model
QPushButton * _deleteButton
std::vector< LinkRow_rows
 Ligne de tableau (index) -> (type, déclencheur, cible).
const Localization_loc = nullptr

Detailed Description

Vue tabulaire des liaisons (Mechanism) du brouillon courant (EX-IHM-031).

Vue du modèle, pas un état : refresh reconstruit la liste depuis un core::LevelDraft (hmi::buildLinkRows), aucune copie de l'état des liaisons n'est conservée entre deux appels. Sélectionner une ligne émet linkSelected (surbrillance dans le viewport) ; le bouton « Supprimer » émet deleteRequested (la suppression effective passe par GameViewport::unlinkMechanism, seul propriétaire du brouillon).

Constructor & Destructor Documentation

◆ LinkPanel()

hmi::LinkPanel::LinkPanel ( QWidget * parent = nullptr)
explicit

◆ ~LinkPanel()

hmi::LinkPanel::~LinkPanel ( )
overridedefault

Hors-ligne : std::unique_ptr<Ui::LinkPanel> porte un type incomplet.

Member Function Documentation

◆ deleteRequested

void hmi::LinkPanel::deleteRequested ( core::GridPosition targetPosition)
signal

Émis par le bouton « Supprimer » pour la ligne sélectionnée (position de la cible).

◆ linkSelected

void hmi::LinkPanel::linkSelected ( std::optional< std::pair< core::GridPosition, core::GridPosition > > link)
signal

Émis quand la sélection change : la paire (déclencheur, cible), ou std::nullopt si aucune ligne n'est sélectionnée.

◆ onDeleteClicked()

void hmi::LinkPanel::onDeleteClicked ( )
private

◆ onSelectionChanged()

void hmi::LinkPanel::onSelectionChanged ( )
private

◆ rebuildRows()

void hmi::LinkPanel::rebuildRows ( )
private

◆ refresh()

void hmi::LinkPanel::refresh ( const core::LevelDraft & draft)

Reconstruit la liste depuis draft (après toute mutation du brouillon).

◆ retranslateUi()

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

Applique la langue active (en-têtes de colonnes, libellés de type, bouton).

Member Data Documentation

◆ _deleteButton

QPushButton* hmi::LinkPanel::_deleteButton
private

◆ _loc

const Localization* hmi::LinkPanel::_loc = nullptr
private

◆ _model

QStandardItemModel* hmi::LinkPanel::_model
private

◆ _rows

std::vector<LinkRow> hmi::LinkPanel::_rows
private

Ligne de tableau (index) -> (type, déclencheur, cible).

◆ _table

QTableView* hmi::LinkPanel::_table
private

◆ _ui

std::unique_ptr<Ui::LinkPanel> hmi::LinkPanel::_ui
private

Mise en page issue de LinkPanel.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/LinkPanel.h
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/HMI/Editor/LinkPanel.cpp