interface.cpp 2.14 KB
Newer Older
1
2
3
#include "interface.hpp"
#include "ui_interface.h"

4
5
#include "structuresavingdialog.hpp"

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

    connect(ui->action_save_struct, &QAction::triggered, this, &MainWindow::afficher_interface_sauvegarde_structure);
13
14
15
16
17
18
19
}

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

20
21
/// Connections

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

void MainWindow::on_simSpeedSlider_valueChanged(int value)
{
    ui->simSpeedSpinbox->setValue(value);
}
31
32
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

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);
    }
}

65
void MainWindow::on_widthSpinBox_valueChanged(int arg1)
66
67
68
69
{
    ui->validateGridDim->setEnabled(true);
}

70
void MainWindow::on_heightSpinBox_valueChanged(int arg1)
71
72
73
74
{
    ui->validateGridDim->setEnabled(true);
}

75
76
77
78
79
80
void MainWindow::afficher_interface_sauvegarde_structure(bool)
{
    StructureSavingDialog dialog(this);
    dialog.exec();
}

81

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