ui: Errorview

Tabbed view with errorview as tab
This commit is contained in:
Andreas Stallinger
2016-10-13 12:37:10 +02:00
parent 97b151371b
commit dc064e4756
82 changed files with 1641 additions and 197 deletions
+62
View File
@@ -0,0 +1,62 @@
#include "qt/element/QtTable.h"
#include <QResizeEvent>
QtTable::QtTable(QWidget* parent)
: QTableView(parent)
, m_rowsToFill(0)
{
}
QtTable::~QtTable()
{
}
void QtTable::resizeEvent(QResizeEvent* event)
{
QTableView::resizeEvent(event);
int tableHeight = event->size().height();
if (this->model()->rowCount() == 0)
{
this->model()->insertRow(0);
}
m_rowsToFill = (float)tableHeight / this->rowHeight(0);
updateRows();
}
void QtTable::updateRows()
{
while (model()->rowCount() <= m_rowsToFill)
{
model()->insertRow(model()->rowCount());
}
while (model()->rowCount() > m_rowsToFill + 1)
{
int row = model()->rowCount() - 1;
if (model()->index(row, 0).data(Qt::DisplayRole).toString().isEmpty())
{
model()->removeRow(row);
}
else
{
break;
}
}
}
int QtTable::getFilledRowCount()
{
for (int i = 0; i < model()->rowCount(); i++)
{
if (model()->index(i, 0).data(Qt::DisplayRole).toString().isEmpty())
{
return i;
}
}
return model()->rowCount();
}