-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheuleriancircuitwidget.cpp
More file actions
55 lines (44 loc) · 1.26 KB
/
euleriancircuitwidget.cpp
File metadata and controls
55 lines (44 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
#include "euleriancircuitwidget.h"
#include "ui_euleriancircuitwidget.h"
EulerianCircuitWidget::EulerianCircuitWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::EulerianCircuitWidget)
{
ui->setupUi(this);
circuitExist=false;
}
EulerianCircuitWidget::~EulerianCircuitWidget()
{
delete ui;
}
void EulerianCircuitWidget::on_checkAndDraw_clicked()
{
on_checkIfEulerian_clicked();
if(circuitExist){
Engine::getInstance()->setPath(circuit);
}
}
void EulerianCircuitWidget::on_checkIfEulerian_clicked()
{
Graph * myGraph=Engine::getInstance()->getGraph();
circuit=EulerianCircuit::getEulerianCircuit(myGraph);
if(circuit.size()>1){
circuitExist=true;
QString result="Cykl eulera to: ";
for(int index=0;index<circuit.size();index++){
result=result+" "+QString::number(circuit[index]);
}
ui->feedbackLabel->setText(result);
}
else{
circuitExist=false;
ui->feedbackLabel->setText(QString("Nie wykryto cyklu Eulera"));
}
}
void EulerianCircuitWidget::on_generatorApply_clicked()
{
int vertexCount=ui->generatorVertexNumber->value();
if(vertexCount>2){
Engine::getInstance()->setGraph(EulerianCircuit::getEulerianGraph(vertexCount));
}
}