ui: errorview readonly cells
no more editing the errors
This commit is contained in:
@@ -5,9 +5,11 @@
|
||||
#include <QFrame>
|
||||
#include <QHeaderView>
|
||||
#include <QItemSelectionModel>
|
||||
#include <QLineEdit>
|
||||
#include <QPalette>
|
||||
#include <QStandardItemModel>
|
||||
#include <QStandardItem>
|
||||
#include <QStyledItemDelegate>
|
||||
|
||||
#include "qt/utility/utilityQt.h"
|
||||
#include "qt/element/QtTable.h"
|
||||
@@ -19,6 +21,25 @@
|
||||
|
||||
#include "qt/view/QtViewWidgetWrapper.h"
|
||||
|
||||
class SelectableDelegate : public QStyledItemDelegate
|
||||
{
|
||||
QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;
|
||||
};
|
||||
|
||||
QWidget* SelectableDelegate::createEditor(
|
||||
QWidget* parent,
|
||||
const QStyleOptionViewItem &option,
|
||||
const QModelIndex &index) const
|
||||
{
|
||||
QWidget* editor = QStyledItemDelegate::createEditor(parent, option, index);
|
||||
QLineEdit* lineEdit = dynamic_cast<QLineEdit*>(editor);
|
||||
if (lineEdit != nullptr)
|
||||
{
|
||||
lineEdit->setReadOnly(true);
|
||||
}
|
||||
return editor;
|
||||
}
|
||||
|
||||
QtErrorView::QtErrorView(ViewLayout* viewLayout)
|
||||
: ErrorView(viewLayout)
|
||||
, m_clearFunctor(std::bind(&QtErrorView::doClear, this))
|
||||
@@ -50,6 +71,7 @@ void QtErrorView::initView()
|
||||
m_table = new QtTable(this);
|
||||
m_model = new QStandardItemModel(this);
|
||||
m_table->setModel(m_model);
|
||||
m_table->setItemDelegate(new SelectableDelegate());
|
||||
|
||||
// Setup Table Headers
|
||||
m_model->setColumnCount(6);
|
||||
|
||||
Reference in New Issue
Block a user