interface.cpp 2.16 KB
Newer Older
1
2
3
4
5
6
7
8
#include "interface.hpp"
#include "ui_interface.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
      , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
9
10
11
12
13
14

    // Validator pour entrer la taille de la grille et le rayon
    intValidator = new QIntValidator(1, 1000, this);
    ui->heightLineEdit->setValidator(intValidator);
    ui->widthLineEdit->setValidator(intValidator);
    ui->radiusLineEdit->setValidator(intValidator);
15
16
17
18
19
20
21
}

MainWindow::~MainWindow()
{
    delete ui;
}

22
23
/// Connections

24
25
26
27
28
29
30
31
32
void MainWindow::on_simSpeedSpinbox_valueChanged(int arg1)
{
    ui->simSpeedSlider->setValue(arg1);
}

void MainWindow::on_simSpeedSlider_valueChanged(int value)
{
    ui->simSpeedSpinbox->setValue(value);
}
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83

void MainWindow::on_openPatternButton_clicked()
{
    QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),"/home",tr("PatternFile (*.pat)"));
    if(fileName == ""){
        // L'utilisateur a annulé la recherche
    }
    // Indiquer qu'un nouveau pattern vient d'être ouvert
}

void MainWindow::on_openRuleButton_clicked()
{
    QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),"/home",tr("RuleFile (*.rule)"));
    if(fileName == ""){
        // L'utilisateur a annulé la recherche
    }
    // Indiquer qu'une nouvelle règle vient d'être ouverte. La règle est sauvegardé, donc on peut lancer la simulation
}

void MainWindow::on_neighborhoodComboBox_currentTextChanged(const QString &arg1)
{
    if(arg1 == "Von Neumann"){
        ui->cusumNeighborhoodButton->setEnabled(false);
        // Utiliser la règle de voisinage VonNeumann
    }
    if(arg1 == "Moore"){
        ui->cusumNeighborhoodButton->setEnabled(false);
        // Utiliser la règle de voisinage Moore
    }
    if(arg1 == "Custom"){
        ui->cusumNeighborhoodButton->setEnabled(true);
    }
}

void MainWindow::on_heightLineEdit_textChanged(const QString &arg1)
{
    ui->validateGridDim->setEnabled(true);
}

void MainWindow::on_widthLineEdit_textChanged(const QString &arg1)
{
    ui->validateGridDim->setEnabled(true);
}

void MainWindow::on_validateGridDim_clicked()
{
    // Appliquer la dimension à la grille
    ui->validateGridDim->setEnabled(false);
}