Skip to content
Snippets Groups Projects
Select Git revision
  • 353aaf1928e3bb4c69836560b771e5db85fda8a3
  • master default protected
  • change_modified_reward_v0
  • feature_carla_szenarios
  • develop_moreSensorsInCarla
  • feature_carlaSupport
  • LearningEnvironment
7 results

main.py

Blame
  • cell.cpp 1.75 KiB
    #include "cell.h"
    #include <QPushButton>
    #include <QDebug>
    #include <QSignalMapper>
    
    Cell::Cell(QWidget *parent) : QWidget(parent)
    {
        // Set size of the window
        // Create and position the button
        setAutoFillBackground(true);
        setStyleSheet("background-color:gray;");
        setFixedSize(100, 100);
        float w = width() / 3.0;
        float h = height() / 3.0;
        QSignalMapper *mapper = new QSignalMapper(this);
        connect(mapper, SIGNAL(mapped(int)), this, SLOT(collapse(int)));
        for (char i = 0; i < 9; i++)
        {
            m_states[i] = new QPushButton(QString::number(i + 1), this);
            m_states[i]->setGeometry(i % 3 * w, i / 3 * h, w, h);
            m_states[i]->setStyleSheet("border:none");
            connect(m_states[i], SIGNAL(clicked()), mapper, SLOT(map()));
            mapper->setMapping(m_states[i], i);
            m_blocked[i] = 0;
        }
        m_number = new QPushButton(this);
        m_number->setFixedSize(100, 100);
        m_number->setStyleSheet("font-size:44px");
        m_number->hide();
    
        connect(m_number,SIGNAL(clicked()),this,SLOT(un()));
    }
    
    void Cell::collapse(int x)
    {
        collapsed = true;
        m_number->show();
        m_number->setText(QString::number(x + 1));
        emit(update(x));
    }
    void Cell::removeOption(int x)
    {
        // states[x]->hide();
        if (m_states[x]->isEnabled())
        {
            m_states[x]->setDisabled(true);
            possibleStates--;
            index.erase(std::find(index.begin(), index.end(), x));
        }
        m_blocked[x] ++;
    }
    
    void Cell::addOption(int x)
    {
        m_blocked[x] --;
        //if (!m_states[x]->isEnabled())
        if (m_blocked[x]<1)
        {
            m_states[x]->setDisabled(false);
            possibleStates++;
            index.push_back(x);
        }
    }
    void Cell::un(void){
        collapsed = false;
        m_number->hide();
        emit(undo(m_number->text().toInt()-1));
    }