Хранилища Subversion OpenInventory

Редакция

Редакция 129 | Редакция 159 | К новейшей редакции | Весь файл | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS

Редакция 129 Редакция 158
Строка 21... Строка 21...
21
    if ((index.column() == 3) || (index.column() == 0)) flags &= ~Qt::ItemIsEditable; // çàïðåùàåì ðåäàêòèðîâàíèå òðåòüåãî ñòîëáöà
21
    if ((index.column() == 3) || (index.column() == 0)) flags &= ~Qt::ItemIsEditable; // çàïðåùàåì ðåäàêòèðîâàíèå òðåòüåãî ñòîëáöà
22
}
22
}
23

23

24
*************************************************/
24
*************************************************/
25
25
-
 
26
 if (bolleans_list.indexOf(index.column()) != -1)
-
 
27
{
-
 
28
     flags |= Qt::ItemIsUserCheckable;         // åñëè â ñòîëáöå òèï "BOOL", äåëàåì åãî âèáèðàåìûì
-
 
29
     flags &= ~Qt::ItemIsEditable;
-
 
30
 }
-
 
31
-
 
32
 return flags; // òåêóùèé ñòîëáåö
26
33
27
34
28
return flags;
-
 
29
}
35
}
30
36
31
37
32
bool MyModel::setData(const QModelIndex &index, const QVariant &value, int role) {
38
bool MyModel::setData(const QModelIndex &index, const QVariant &value, int role) {
33
  ////  if (index.column()==3) return false; // â òðåòüåé êîëîíêå íå äàåì ïîìåíÿòü çíà÷åíèå
39
  ////  if (index.column()==3) return false; // â òðåòüåé êîëîíêå íå äàåì ïîìåíÿòü çíà÷åíèå
Строка 45... Строка 51...
45
    if (index.column()==0) {                // åñëè ìåíÿåì èìÿ êëàññà
51
    if (index.column()==0) {                // åñëè ìåíÿåì èìÿ êëàññà
46
        str_tmp = value.toString();         // òî ïîìåíÿåì è èìÿ òàáëèöû
52
        str_tmp = value.toString();         // òî ïîìåíÿåì è èìÿ òàáëèöû
47
        str_tmp.append(tr("_instance"));
53
        str_tmp.append(tr("_instance"));
48
      }
54
      }
49
*/
55
*/
50
    lResult = QSqlTableModel::setData(index, value, role);
-
 
51
56
52
57
-
 
58
    // MyModel::record(index.row());
53
59
54
 /*****************************************************8
-
 
55

60
56
    if (lResult) {
-
 
57
        QModelIndex newindex;
-
 
58
        QSqlRecord rec = record(index.row());
-
 
59

61
-
 
62
    if (bolleans_list.indexOf(index.column()) != -1) {
-
 
63
      //  QModelIndex newindex;
-
 
64
   //    QSqlRecord rec = record(index.row());
-
 
65
    //   bool chk = (value.toInt()==Qt::Checked);
-
 
66
    //               rec.setValue(index.column(),chk);
60
        rec.setValue(index.column(), value);
67
//        rec.setValue(index.column(), value);
61
        rec.setGenerated(index.column(), true);
68
 //       rec.setGenerated(index.column(), true);
62

69
-
 
70
//lResult = QSqlTableModel::setData(index, value, role);
63

71
-
 
72
  //      lResult = updateRowInTable(index.row(), rec);
-
 
73
   //    lResult = setRecord(index.row(),rec);  // âåðíåì ðåçóëüòàò îá óñòàíîâêå
64

74
-
 
75
        /*
65
        lResult = updateRowInTable(index.row(), rec);
76
        QStandardItem* item = static_cast<QStandardItem*>(index.internalPointer());
66
  ///      QSqlTableModel::setData(newindex, QVariant(str_tmp), Qt::EditRole);
77
                  Qt::CheckState state = (value.toInt() == 2) ? Qt::Checked : Qt::Unchecked;
-
 
78
                  item->setCheckState(state);
67

79

-
 
80
*/
68

81
69
    }
-
 
70
**********************************************/
-
 
71
82
-
 
83
        lResult = QSqlTableModel::setData(index, value, Qt::EditRole);
-
 
84
//        emit MyModel::dataChanged(index, index);
72
85
-
 
86
       //     MyModel::reset();
-
 
87
     //  lResult = QSqlTableModel::setData(index, value, Qt::DisplayRole);
-
 
88
       //  QSqlTableModel::setData(index, value, Qt::CheckStateRole);
-
 
89
       MyModel::submitAll();
-
 
90
  ////// //     MyModel::select();
-
 
91
       // MyModel::data(index, Qt::DisplayRole);
-
 
92
          }
-
 
93
-
 
94
else
-
 
95
    {
-
 
96
       lResult = QSqlTableModel::setData(index, value, role);
-
 
97
    }
73
98
74
99
75
    return lResult;
100
  return lResult;
76
101
77
102
78
103
79
104
80
105
Строка 82... Строка 107...
82
107
83
108
84
109
85
QVariant MyModel::data(const QModelIndex &index, int role) const {
110
QVariant MyModel::data(const QModelIndex &index, int role) const {
86
111
-
 
112
     QHash<int, bool> check;
87
     QVariant value = QSqlTableModel::data(index, role);
113
     QVariant value = QSqlTableModel::data(index, role);
88
     QList <int> keys;
114
     QList <int> keys;
89
     QStringList values;
115
     QStringList values;
90
     keys = pointers_map.keys(); // ñïèñîê ñòîëáöîâ ñ óêàçàòåëÿìè
116
     keys = pointers_map.keys(); // ñïèñîê ñòîëáöîâ ñ óêàçàòåëÿìè
91
     values = pointers_map.values(); // ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ
117
     values = pointers_map.values(); // ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ
92
118
93
switch (role) {
119
switch (role) {
94
        case Qt::DisplayRole:
120
        case Qt::DisplayRole:
95
            {
121
            {
-
 
122
                //if (check.contains(index.column()) &&  check.value(index.column()))
-
 
123
                //    return value.toInt() != 0 ? tr("Yes") : tr("No");
-
 
124
                if (bolleans_list.indexOf(index.column()) != -1)
-
 
125
                    {
-
 
126
                        return value.toInt() != 0 ? tr("Äà") : tr("Íåò"); // äëÿ êîëîíîê ñ òèïîì "BOOL"
-
 
127
                    }
96
               int index_of_list;
128
                int index_of_list;
97
               index_of_list = keys.indexOf(index.column());
129
               index_of_list = keys.indexOf(index.column());
98
130
99
               if (index_of_list == -1) return value;
131
               if (index_of_list == -1) return value;
100
               else {
132
               else {
101
                   QString parentInctance;
133
                   QString parentInctance;
Строка 128... Строка 160...
128
        }
160
        }
129
         //   if (index.column() == 1)
161
         //   if (index.column() == 1)
130
          //     return value.toString().prepend(tr("¹ "));
162
          //     return value.toString().prepend(tr("¹ "));
131
163
132
164
133
        case Qt::EditRole:  return value;
165
        case Qt::EditRole:
-
 
166
            if (bolleans_list.indexOf(index.column()) == -1)             return value; // òåêóùèé ñòîëáåö
-
 
167
-
 
168
            else {
-
 
169
               return value.toInt() != 0 ? tr("Äà") : tr("Íåò");
-
 
170
-
 
171
            }
-
 
172
            ///return value;
134
           // if (index.column() == 1)
173
           // if (index.column() == 1)
135
           //    return value.toString().prepend(tr("¹ "));
174
           //    return value.toString().prepend(tr("¹ "));
136
175
-
 
176
-
 
177
-
 
178
137
        case Qt::TextColorRole:
179
        case Qt::TextColorRole:
138
            if(index.column() == 1)
180
            if(index.column() == 1)
139
                return qVariantFromValue(QColor(Qt::blue));
181
                return qVariantFromValue(QColor(Qt::blue));
140
            else
182
            else
141
              return value;
183
              return value;
Строка 157... Строка 199...
157
                           return value;
199
                           return value;
158
                                    }
200
                                    }
159
201
160
202
161
203
162
     case Qt::CheckStateRole: return value;
204
     case Qt::CheckStateRole:
-
 
205
         {
-
 
206
-
 
207
           if (bolleans_list.indexOf(index.column()) == -1)             return value; // òåêóùèé ñòîëáåö
-
 
208
-
 
209
           else
-
 
210
           {
-
 
211
               return (QSqlQueryModel::data(index).toInt() != 0) ? Qt::Checked : Qt::Unchecked;
-
 
212
           }
-
 
213
       }
163
214
164
     case Qt::SizeHintRole:return value;
215
     case Qt::SizeHintRole:return value;
165
216
166
       }
217
       }
167
  return value;
218
  return value;