2017-01-25 06:54:21 +01:00
|
|
|
|
#include "tuplesresultwidget.h"
|
|
|
|
|
|
#include "ui_tuplesresultwidget.h"
|
|
|
|
|
|
#include "util.h"
|
|
|
|
|
|
|
2017-02-05 13:35:41 +01:00
|
|
|
|
#include <QFile>
|
|
|
|
|
|
#include <QTextStream>
|
2018-01-15 12:23:41 +01:00
|
|
|
|
#include "PgLabItemDelegate.h"
|
|
|
|
|
|
|
2017-02-05 13:35:41 +01:00
|
|
|
|
|
2017-01-25 06:54:21 +01:00
|
|
|
|
TuplesResultWidget::TuplesResultWidget(QWidget *parent) :
|
|
|
|
|
|
QWidget(parent),
|
|
|
|
|
|
ui(new Ui::TuplesResultWidget)
|
|
|
|
|
|
{
|
|
|
|
|
|
ui->setupUi(this);
|
|
|
|
|
|
ui->lblRowCount->setText(QString());
|
2018-01-15 12:23:41 +01:00
|
|
|
|
|
|
|
|
|
|
auto delegate = new PgLabItemDelegate(ui->ResultView);
|
|
|
|
|
|
ui->ResultView->setItemDelegate(delegate);
|
2017-01-25 06:54:21 +01:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
TuplesResultWidget::~TuplesResultWidget()
|
|
|
|
|
|
{
|
|
|
|
|
|
delete ui;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void TuplesResultWidget::setResult(std::shared_ptr<QueryResultModel> res, float ms)
|
|
|
|
|
|
{
|
|
|
|
|
|
resultModel = res;
|
|
|
|
|
|
ui->ResultView->setModel(resultModel.get());
|
2018-01-15 12:23:41 +01:00
|
|
|
|
|
2017-12-19 18:16:25 +01:00
|
|
|
|
ui->ResultView->resizeColumnsToContents();
|
2017-01-25 06:54:21 +01:00
|
|
|
|
|
|
|
|
|
|
QString rowcount_str = QString("rows: %1").arg(resultModel->rowCount());
|
|
|
|
|
|
ui->lblRowCount->setText(rowcount_str);
|
|
|
|
|
|
ui->lblElapsedTime->setText(msfloatToHumanReadableString(ms));
|
|
|
|
|
|
}
|
2017-02-05 13:35:41 +01:00
|
|
|
|
|
|
|
|
|
|
void TuplesResultWidget::exportData(const QString &file_name) const
|
|
|
|
|
|
{
|
|
|
|
|
|
QFile file(file_name);
|
|
|
|
|
|
if (file.open(QIODevice::WriteOnly)) {
|
|
|
|
|
|
QTextStream out(&file);
|
|
|
|
|
|
::exportTable(ui->ResultView, out);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|