Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "mainwindow.h"
- #include "ui_mainwindow.h"
- #include <QPushButton>
- #include <QHBoxLayout>
- #include <QFile>
- #include <QTextStream>
- #include <QtSql/QSqlDatabase>
- #include <QtSql/QSqlQuery>
- #include <train_handler.h>
- #include <QSqlError>
- #include <QException>
- #include <train.h>
- #include <windows.h>
- #include <dialog.h>
- #include <QProgressBar>
- MainWindow::MainWindow(QWidget *parent) :
- QMainWindow(parent),
- ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- ui->tableWidget->setColumnWidth(0, 120);
- ui->tableWidget->setColumnWidth(1, 120);
- ui->tableWidget->setColumnWidth(2, 160);
- ui->tableWidget->setColumnWidth(3, 160);
- ui->tableWidget->setColumnWidth(4, 170);
- ui->tableWidget->setColumnWidth(5, 200);
- ui->tableWidget->setColumnWidth(6, 200);
- ui->progressBar->setValue(0);
- //db.open();
- /* db_ = QSqlDatabase::addDatabase("QSQLITE");
- db_.setDatabaseName("C:\\SQLiteDatabaseBrowserPortable\\Data\\cities.db");
- db_.open();
- if(db_.isOpen())
- {
- ui->lineEdit->setText("oPEN ");
- }
- else
- {
- db_.open();
- ui->lineEdit->setText("notoPENed ");
- }
- if(db_.isOpen())
- {
- ui->lineEdit->setText("oPENwssss " );
- }
- else
- {
- db_.open();
- // ui->lineEdit->setText("oPENed " + e.train_name);
- }
- QSqlQuery R;
- QString s = "eeee";
- if(R.exec("create table "+s+" "
- "(id integer primary key, "
- "name varchar(9))"
- )) //таблиця міст через які йде поїзд
- ui->lineEdit->setText("Created");*/
- }
- void MainWindow::RemoveTrain()
- {
- }
- void MainWindow::Edit()
- {
- }
- void MainWindow::details()
- {
- }
- MainWindow::~MainWindow()
- {
- delete ui;
- }
- bool MainWindow::Add(vector<cities> &s,QString& name,vector<train>&train_)
- {
- ui->tableWidget->insertRow(ui->tableWidget->rowCount());//вставка нового маршруту
- for(int i = 0; i<ui->tableWidget->columnCount(); i++)
- {
- if(i==0)//опція видалення маршруту
- {
- QWidget* pWidget = new QWidget(this);
- QPushButton* btn_edit = new QPushButton();
- btn_edit->setText("Remove");
- connect(btn_edit, &QPushButton::clicked, this, &MainWindow::RemoveTrain);
- QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
- pLayout->addWidget(btn_edit);
- pLayout->setAlignment(Qt::AlignCenter);
- pLayout->setContentsMargins(0, 0, 0, 0);
- pWidget->setLayout(pLayout);
- ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, pWidget);
- continue;
- }
- if(i == 1)//опція редагування маршруту
- {
- QWidget* pWidget = new QWidget(this);
- QPushButton* btn_edit = new QPushButton();
- btn_edit->setText("Edit");
- connect(btn_edit, &QPushButton::clicked, this, &MainWindow::Edit);
- QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
- pLayout->addWidget(btn_edit);
- pLayout->setAlignment(Qt::AlignCenter);
- pLayout->setContentsMargins(0, 0, 0, 0);
- pWidget->setLayout(pLayout);
- ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, pWidget);
- continue;
- }
- if(i==2)// показати деталі
- {
- QWidget* pWidget = new QWidget(this);
- QPushButton* btn_edit = new QPushButton();
- btn_edit->setText("Show details");
- connect(btn_edit, &QPushButton::clicked, this, &MainWindow::details);
- QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
- pLayout->addWidget(btn_edit);
- pLayout->setAlignment(Qt::AlignCenter);
- pLayout->setContentsMargins(0, 0, 0, 0);
- pWidget->setLayout(pLayout);
- ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, pWidget);
- continue;
- }
- if(i == 3)//імя стартового міста
- {
- QTableWidgetItem*item = new QTableWidgetItem(s[0].city_);
- item->setFlags(item->flags() ^ Qt::ItemIsEditable);
- item->setTextAlignment(Qt::AlignCenter);
- ui->tableWidget->setItem(ui->tableWidget->rowCount()-1, i, item);
- ui->tableWidget->item(ui->tableWidget->rowCount()-1,3)->setToolTip(ui->tableWidget->item(ui->tableWidget->rowCount()-1,3)->text());
- }
- if(i==4)//імя кінцевого міста
- {
- QTableWidgetItem*item = new QTableWidgetItem(s[s.size()-1].city_);
- item->setFlags(item->flags() ^ Qt::ItemIsEditable);
- item->setTextAlignment(Qt::AlignCenter);
- ui->tableWidget->setItem(ui->tableWidget->rowCount()-1, i, item);
- ui->tableWidget->item(ui->tableWidget->rowCount()-1,4)->setToolTip(ui->tableWidget->item(ui->tableWidget->rowCount()-1,4)->text());
- }
- if(i==5)//імена проміжних міст
- {
- QString between = "";
- for(int i = 1; i< s.size()-1;i++)
- {
- if(i != s.size()-2)
- between += s[i].city_ + " - ";
- else
- between += s[i].city_ ;
- }
- QTableWidgetItem*item = new QTableWidgetItem(between);
- item->setFlags(item->flags() ^ Qt::ItemIsEditable);
- ui->tableWidget->setItem(ui->tableWidget->rowCount()-1, i, item);
- ui->tableWidget->item(ui->tableWidget->rowCount()-1,5)->setToolTip(ui->tableWidget->item(ui->tableWidget->rowCount()-1,5)->text());
- //CreateTrain(name,train_);
- }
- if(i == 6)//загрузка полоса
- {
- QWidget* pWidget = new QWidget(this);
- QProgressBar* btn_edit = new QProgressBar();
- // btn_edit->setText("Show details");
- btn_edit->setValue(0);
- btn_edit->setMinimum(0);
- // connect(btn_edit, &QPushButton::clicked, this, &MainWindow::details);
- QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
- pLayout->addWidget(btn_edit);
- pLayout->setAlignment(Qt::AlignCenter);
- pLayout->setContentsMargins(0, 0, 0, 0);
- pWidget->setLayout(pLayout);
- ui->tableWidget->setCellWidget(ui->tableWidget->rowCount()-1, i, pWidget);
- continue;
- }
- }
- // Sleep(10000);
- // ui->lineEdit->setText("eeeee");
- CreateTrain(name,train_[0]);
- return true;
- }
- void MainWindow::CreateTrain(QString& name,train&train_)
- {
- // db = QSqlDatabase::addDatabase("QSQLITE");
- // db.setDatabaseName("C:\\SQLiteDatabaseBrowserPortable\\Data\\cities.db");
- QSqlQuery r;
- if(db.isOpen())
- {
- QProgressBar *l = ui->tableWidget->cellWidget(ui->tableWidget->rowCount()-1,6)->findChild<QProgressBar*>();
- l->setMinimum(0);
- l->setMaximum(train_.passangers.size());
- l->setValue(0);
- for(int i = 0; i< train_.passangers.size();i++)
- {
- //ui->progressBar->setValue(i+1);
- l->setValue(i+1);
- // ui->progressBar->setValue(i);
- r.clear();
- r.prepare("INSERT INTO "+name+" (depart_city,arrival_city,firstname,lastname,bot,vagon,place,privileges,distance,ticket_price)"
- "VALUES (:depart_city,:arrival_city,:first_name,:lastname,:bot,:vagon,:place,:privileges,:distance,:ticket_price)");
- Sleep(3);
- r.bindValue(":depart_city",train_.passangers[i].left_city);
- r.bindValue(":arrival_city",train_.passangers[i].arrival_city);
- r.bindValue(":first_name",train_.passangers[i].name);
- r.bindValue(":lastname",train_.passangers[i].surname);
- r.bindValue(":bot","bot");
- r.bindValue(":vagon",train_.passangers[i].wagon);
- r.bindValue(":place",train_.passangers[i].place);
- r.bindValue(":privileges","NO");
- r.bindValue(":distance",train_.passangers[i].way_distance);
- r.bindValue(":ticket_price",train_.passangers[i].ticket_cost);
- Sleep(3);
- r.exec();
- Sleep(3);
- }
- db.close();
- }
- }
- void MainWindow::on_actionAdd_train_triggered()
- {
- QString s = "";
- Dialog e;
- vector<train>t;
- if(e.exec())
- {
- if(e.train_name == "")
- return;
- else
- s = e.train_name+"_people";
- t.push_back(e.a[0]);
- }
- if(!db.isOpen())
- {
- db = QSqlDatabase::addDatabase("QSQLITE");
- db.setDatabaseName("C:\\SQLiteDatabaseBrowserPortable\\Data\\cities.db");
- db.open();
- ui->textBrowser_2->append("OPen");
- }
- else
- ui->textBrowser_2->append("yes");
- Add(e.Cities,s,t);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement