-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvendordelegate.cpp
More file actions
107 lines (102 loc) · 3.56 KB
/
Copy pathvendordelegate.cpp
File metadata and controls
107 lines (102 loc) · 3.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include "vendordelegate.h"
vendorDelegate::vendorDelegate()
{
}
QWidget *vendorDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const
{
if(index.column() == 0){
QLineEdit *editor = new QLineEdit(parent);
QString currentText = index.model()->data(index, Qt::DisplayRole).toString();
editor->setText(currentText);
return editor;
}
if(index.column() == 1){
QLineEdit *editor = new QLineEdit(parent);
QString currentText = index.model()->data(index, Qt::DisplayRole).toString();
editor->setText(currentText);
return editor;
}
if(index.column() == 2){
QLineEdit *editor = new QLineEdit(parent);
QString currentText = index.model()->data(index, Qt::DisplayRole).toString();
editor->setText(currentText);
return editor;
}
if(index.column() == 3){
QLineEdit *editor = new QLineEdit(parent);
QString currentText = index.model()->data(index, Qt::DisplayRole).toString();
editor->setText(currentText);
return editor;
}
if(index.column() == 4){
QLineEdit *editor = new QLineEdit(parent);
QString currentText = index.model()->data(index, Qt::DisplayRole).toString();
editor->setText(currentText);
return editor;
}
if(index.column() == 5){
QListWidget *vendors = new QListWidget(parent);
return vendors;
}
QLineEdit *editor = new QLineEdit(parent);
return editor;
}
void vendorDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const
{
if(index.column() == 0){
QLineEdit *textEditor = qobject_cast<QLineEdit *>(editor);
if (textEditor) {
textEditor->setText(index.model()->data(index, Qt::EditRole).toString());
}
}
if(index.column() == 1){
QLineEdit *textEditor = qobject_cast<QLineEdit *>(editor);
if (textEditor) {
textEditor->setText(index.model()->data(index, Qt::EditRole).toString());
}
}
if(index.column() == 2){
QLineEdit *textEditor = qobject_cast<QLineEdit *>(editor);
if (textEditor) {
textEditor->setText(index.model()->data(index, Qt::EditRole).toString());
}
}
if(index.column() == 3){
QLineEdit *textEditor = qobject_cast<QLineEdit *>(editor);
if (textEditor) {
textEditor->setText(index.model()->data(index, Qt::EditRole).toString());
}
}
if(index.column() == 4){
QLineEdit *textEditor = qobject_cast<QLineEdit *>(editor);
if (textEditor) {
textEditor->setText(index.model()->data(index, Qt::EditRole).toString());
}
}
if(index.column() == 5){
QListWidget *vendors = qobject_cast<QListWidget *>(editor);
if (vendors) {
QStringList temp = index.model()->data(index, Qt::EditRole).toStringList();
vendors->insertItems(0, temp);
}
}
}
void vendorDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const
{
if(index.column() == 2){
QLineEdit *count = qobject_cast<QLineEdit *>(editor);
if(count){
model->setData(index, count->text().toInt());
}
}
if(index.column() == 5){
QListWidget *vendors = qobject_cast<QListWidget *>(editor);
if (vendors) {
QList <QListWidgetItem *> temp = vendors->selectedItems();
if(temp.empty()){
return;
}
model->setData(index, temp.at(0)->text());
}
}
}