Skip to content
Snippets Groups Projects
Select Git revision
  • b166a7309e49368fc14c846f67b7a11e79a1f2d8
  • master default protected
2 results

lettermodel.cpp

  • grillemanager.cpp 1.21 KiB
    #include "grillemanager.h"
    
    GrilleManager::GrilleManager(const QString &mot, QObject *parent)
        : QObject(parent), m_mot(mot) {
        // Initialisation de la grille (si tu veux le faire immédiatement dans le constructeur)
        createGrid(6, m_mot.length());  // Exemple : 6 essais, longueur du mot
    }
    
    void GrilleManager::createGrid(int rows, int columns) {
        m_cases.clear();  // Vide la grille avant de la remplir
    
        // Remplir la grille avec des cases
        for (int i = 0; i < rows * columns; ++i) {
            VraieCase *vraieCase = new VraieCase(this);
    
            // Si on est à la première case, on met la première lettre du mot, sinon on met '_'
            if (i < m_mot.length()) {
                vraieCase->setLetter(m_mot[i]);  // Conversion automatique depuis QString
            } else {
                vraieCase->setLetter(QString("_"));  // Conversion du char '_' en QString
            }
    
            vraieCase->setEtat(0);  // Tu peux définir l'état comme tu veux
            m_cases.append(vraieCase);
        }
    
        emit casesChanged();  // Émettre le signal pour indiquer que la grille a changé
    }
    
    QQmlListProperty<VraieCase> GrilleManager::getCases() {
        return QQmlListProperty<VraieCase>(this, &m_cases);  // Passer un pointeur à la liste
    }