ui: errorview readonly cells
no more editing the errors
This commit is contained in:
@@ -5,9 +5,11 @@
|
|||||||
#include <QFrame>
|
#include <QFrame>
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
#include <QItemSelectionModel>
|
#include <QItemSelectionModel>
|
||||||
|
#include <QLineEdit>
|
||||||
#include <QPalette>
|
#include <QPalette>
|
||||||
#include <QStandardItemModel>
|
#include <QStandardItemModel>
|
||||||
#include <QStandardItem>
|
#include <QStandardItem>
|
||||||
|
#include <QStyledItemDelegate>
|
||||||
|
|
||||||
#include "qt/utility/utilityQt.h"
|
#include "qt/utility/utilityQt.h"
|
||||||
#include "qt/element/QtTable.h"
|
#include "qt/element/QtTable.h"
|
||||||
@@ -19,6 +21,25 @@
|
|||||||
|
|
||||||
#include "qt/view/QtViewWidgetWrapper.h"
|
#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)
|
QtErrorView::QtErrorView(ViewLayout* viewLayout)
|
||||||
: ErrorView(viewLayout)
|
: ErrorView(viewLayout)
|
||||||
, m_clearFunctor(std::bind(&QtErrorView::doClear, this))
|
, m_clearFunctor(std::bind(&QtErrorView::doClear, this))
|
||||||
@@ -50,6 +71,7 @@ void QtErrorView::initView()
|
|||||||
m_table = new QtTable(this);
|
m_table = new QtTable(this);
|
||||||
m_model = new QStandardItemModel(this);
|
m_model = new QStandardItemModel(this);
|
||||||
m_table->setModel(m_model);
|
m_table->setModel(m_model);
|
||||||
|
m_table->setItemDelegate(new SelectableDelegate());
|
||||||
|
|
||||||
// Setup Table Headers
|
// Setup Table Headers
|
||||||
m_model->setColumnCount(6);
|
m_model->setColumnCount(6);
|
||||||
|
|||||||
Reference in New Issue
Block a user