#include "tuplesresultwidget.h" #include "ui_tuplesresultwidget.h" #include "ResultTableModelUtil.h" #include "util.h" #include "crud/CrudModel.h" #include "crud/DataGridWidget.h" #include "OpenDatabase.h" #include #include #include #include TuplesResultWidget::TuplesResultWidget(QWidget *parent) : QWidget(parent), ui(new Ui::TuplesResultWidget) { ui->setupUi(this); ui->lblRowCount->setText(QString()); m_grid = new DataGridWidget(this); ui->verticalLayout->insertWidget(0, m_grid); m_grid->view()->setAlternatingRowColors(true); m_grid->view()->setWordWrap(false); m_grid->view()->verticalHeader()->setDefaultSectionSize(21); m_grid->view()->verticalHeader()->setMinimumSectionSize(16); } TuplesResultWidget::~TuplesResultWidget() { delete ui; } void TuplesResultWidget::setResult(std::shared_ptr db, std::shared_ptr res, float ms) { m_result = res; m_model = new CrudModel(m_grid); m_model->setResult(db, res); m_grid->setSourceModel(m_model); m_grid->view()->resizeColumnsToContents(); QString rowcount_str = QString("rows: %1").arg(m_model->rowCount()); ui->lblRowCount->setText(rowcount_str); ui->lblElapsedTime->setText(msfloatToHumanReadableString(ms)); } void TuplesResultWidget::exportData(const QString &file_name) const { QFile file(file_name); if (file.open(QIODevice::WriteOnly)) { QTextStream out(&file); ::exportTable(m_grid->view(), out); } }