-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmainwindow.cpp
55 lines (46 loc) · 2.2 KB
/
mainwindow.cpp
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 "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
adapterConnector = new AdapterConnector(this);
ui->setupUi(this);
connectionSettingsWindow = new ConnectionSettingsWindow(this, adapterConnector);
// connecting menuBar buttons
connect(ui->menuBarConnectionPropertiesButton, SIGNAL(triggered()), this, SLOT(showConnectionSettingsWindow()));
connect(ui->menuBarExitButton, SIGNAL(triggered()), this, SLOT(close()));
connect(ui->menuBarConnectButton, SIGNAL(triggered()), this, SLOT(openAdapterConnection()));
connect(ui->menuBarDisconnectButton, SIGNAL(triggered()), this, SLOT(closeAdapterConnection()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::showConnectionSettingsWindow() {
connectionSettingsWindow->show();
}
void MainWindow::openAdapterConnection() {
ui->menuBarConnectButton->setEnabled(false);
int status = adapterConnector->openConnection();
if (status != CAN::NoError) {
QString errorMsg;
switch (status) {
case CAN::NoAdapterConn : errorMsg = "Не удалось установить соединение с адаптером."; break;
case CAN::NoCANConn : errorMsg = "Не удалось установить соединение с CAN-шиной."; break;
case CAN::NoCorrectAdapter : errorMsg = "Не удалось распознать адаптер, подключенный к заданному порту."; break;
}
QMainWindow::statusBar()->showMessage("Ошибка соединения.", 5000);
QMessageBox::warning(this, "Ошибка", errorMsg);
ui->menuBarConnectButton->setEnabled(true);
} else {
QMainWindow::statusBar()->showMessage("Соединение успешно установлено.", 5000);
ui->menuBarDisconnectButton->setEnabled(true);
}
}
void MainWindow::closeAdapterConnection() {
ui->menuBarDisconnectButton->setEnabled(false);
adapterConnector->closeConnection();
QMainWindow::statusBar()->showMessage("Соединение успешно закрыто.", 5000);
ui->menuBarConnectButton->setEnabled(true);
}