Хранилища Subversion OpenInventory

Редакция

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

Редакция 226 Редакция 227
1
1
#ifndef DELEGATE_H
2
2
#define DELEGATE_H
3
3
4
4
#include <QItemDelegate>
5
5
#include <QModelIndex>
6
6
#include <QObject>
7
7
#include <QSize>
8
8
#include <QSpinBox>
9
9
#include <QSqlQuery>
10
10
#include <QtSql>
11
11
#include <QtGui>
12
12
#include <QSqlDatabase>
13
13
#include <QMessageBox>
14
14
15
15
#include "iconform.h"
16
16
#include "fileform.h"
17
17
18
18
//#include <QMainWindow>
19
19
//! [0]
20
20
21
21
22
22
typedef  struct field {
23
23
24
24
      QString ID;
25
25
      QString FieldName;
26
26
      QString FieldAlias;
27
27
      QString FieldType;
28
28
      QString DefaultValue;
29
29
      QString ClassIdentifer;
30
30
      QString Comment;
31
31
32
32
  } TField; // ýòà ñòðóêòóðà îïèñûâàåò ïîëå
33
33
34
34
35
35
36
36
class SpinBoxDelegate : public QItemDelegate
37
37
{
38
38
    Q_OBJECT
39
39
40
40
public:
41
41
    SpinBoxDelegate(QObject *parent = 0);
42
42
43
43
    QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
44
44
                          const QModelIndex &index) const;
45
45
46
46
    void setEditorData(QWidget *editor, const QModelIndex &index) const;
47
47
    void setModelData(QWidget *editor, QAbstractItemModel *model,
48
48
                      const QModelIndex &index) const;
49
49
50
50
    void updateEditorGeometry(QWidget *editor,
51
51
        const QStyleOptionViewItem &option, const QModelIndex &index) const;
52
52
53
53
54
54
55
55
    void setInctance(QString newInctance);
56
56
    void getItems(); // ïîëó÷àåì ñâÿçàííûé ñïèñîê
57
57
58
58
59
59
60
60
61
61
private:
62
62
63
63
64
64
    QString inctance; // òàáëèöà-õðàíèëèùå, îòêóäà áóäåì áðàòü ñïèñîê
65
65
    QMap <QString, QString> items; // çäåñü áóäåì õðàíèòü ñâÿçàííûé ñïèñîê èìåò îáúåêòîâ è èõ èäåíòèôèêàòîðîâ ID
66
66
67
67
};
68
68
69
69
70
70
71
71
72
72
73
73
74
74
75
75
class FilterConditionDelegate : public QItemDelegate
76
76
{
77
77
    Q_OBJECT
78
78
79
79
public:
80
80
    FilterConditionDelegate(QObject *parent = 0);
81
81
82
82
    QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
83
83
                          const QModelIndex &index) const;
84
84
85
85
    void setEditorData(QWidget *editor, const QModelIndex &index) const;
86
86
    void setModelData(QWidget *editor, QAbstractItemModel *model,
87
87
                      const QModelIndex &index) const;
88
88
89
89
    void updateEditorGeometry(QWidget *editor,
90
90
        const QStyleOptionViewItem &option, const QModelIndex &index) const;
91
91
92
92
93
93
94
94
    void setClassID(QString newClassID);
95
95
//    void getItems(); // ïîëó÷àåì ñâÿçàííûé ñïèñîê
96
96
97
97
    void setItems(QStringList new_items){items = new_items;}
98
98
99
99
100
100
private:
101
101
102
102
103
103
    QString class_id; // òàáëèöà-õðàíèëèùå, îòêóäà áóäåì áðàòü ñïèñîê
104
104
//    QMap <QString, QString> items; // çäåñü áóäåì õðàíèòü ñâÿçàííûé ñïèñîê èìåò îáúåêòîâ è èõ èäåíòèôèêàòîðîâ ID
105
105
    QStringList items; // ñïèñîê
106
106
};
107
107
108
108
109
109
110
110
class FilterValueDelegate : public QItemDelegate
111
111
{
112
112
    Q_OBJECT
113
113
114
114
115
115
116
116
117
117
118
118
119
119
120
120
public:
121
121
    FilterValueDelegate(QObject *parent = 0);
122
122
123
123
    QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
124
124
                          const QModelIndex &index) const;
125
125
126
126
    void setEditorData(QWidget *editor, const QModelIndex &index) const;
127
127
    void setModelData(QWidget *editor, QAbstractItemModel *model,
128
128
                      const QModelIndex &index) const;
129
129
130
130
    void updateEditorGeometry(QWidget *editor,
131
131
        const QStyleOptionViewItem &option, const QModelIndex &index) const;
132
132
133
133
134
134
135
135
    void setClassID(QString newClassID);
136
136
//    void getItems(); // ïîëó÷àåì ñâÿçàííûé ñïèñîê
137
137
138
138
    void setItems(QStringList new_items){items = new_items;}
139
139
140
140
141
141
private:
142
142
143
143
144
144
    QString class_id; // òàáëèöà-õðàíèëèùå, îòêóäà áóäåì áðàòü ñïèñîê
145
145
//    QMap <QString, QString> items; // çäåñü áóäåì õðàíèòü ñâÿçàííûé ñïèñîê èìåò îáúåêòîâ è èõ èäåíòèôèêàòîðîâ ID
146
146
mutable QStringList items; // ñïèñîê
147
147
static  QString getClassInctanc(QString class_id);//îïðåäåëÿåì õðàíèëèùå îáúåêòîâ
148
148
static  QString getFieldType(QString class_id, QString fieldName);//îïðåäåëÿåì òèï äàííûõ ïîëÿ
149
149
static TField getField(const QModelIndex &index); // ïî èíäåêñó (â òàáëèöå ôèëüòðîâ) ïîëó÷èì èíôîðìàöèþ î ïîëå
-
 
150
static QMap<QString, QString> getItems(QString inctance); // âîçâðàùàåì ñïèñîê âñåõ çíà÷åíèé èç òàáëèöû-õðàíèëèùà
-
 
151
150
152
};
-
 
153
-
 
154
-
 
155
-
 
156
-
 
157
//! [0]
-
 
158
class FilterSpinBoxDelegate : public QItemDelegate
-
 
159
{
-
 
160
    Q_OBJECT
-
 
161
-
 
162
public:
-
 
163
    FilterSpinBoxDelegate(QObject *parent = 0);
-
 
164
-
 
165
    QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,
-
 
166
                          const QModelIndex &index) const;
-
 
167
-
 
168
    void setEditorData(QWidget *editor, const QModelIndex &index) const;
-
 
169
    void setModelData(QWidget *editor, QAbstractItemModel *model,
-
 
170
                      const QModelIndex &index) const;
-
 
171
-
 
172
    void updateEditorGeometry(QWidget *editor,
-
 
173
        const QStyleOptionViewItem &option, const QModelIndex &index) const;
-
 
174
-
 
175
-
 
176
-
 
177
    void setClassID(QString newClassID);
-
 
178
    void getItems(); // ïîëó÷àåì ñâÿçàííûé ñïèñîê
-
 
179
-
 
180
-
 
181
-
 
182
-
 
183
private:
-
 
184
-
 
185
-
 
186
    QString class_id; // òàáëèöà-õðàíèëèùå, îòêóäà áóäåì áðàòü ñïèñîê
-
 
187
    QMap <QString, QString> items; // çäåñü áóäåì õðàíèòü ñâÿçàííûé ñïèñîê èìåò îáúåêòîâ è èõ èäåíòèôèêàòîðîâ ID
-
 
188
};
-
 
189
-
 
190
-
 
191
-
 
192
-
 
193
-
 
194
-
 
195
-
 
196
-
 
197
//! [0]
-
 
198
-
 
199
class MyDEDelegate : public QItemDelegate {
-
 
200
       Q_OBJECT
-
 
201
   public:
-
 
202
       MyDEDelegate(bool calpopup = true,
-
 
203
                    QObject *parent = 0);
-
 
204
       QWidget *createEditor(
-
 
205
                   QWidget *parent,
-
 
206
                   const QStyleOptionViewItem &option,
-
 
207
                   const QModelIndex &index) const;
-
 
208
       void setEditorData(QWidget *editor,
-
 
209
                          const QModelIndex &index) const;
-
 
210
       void setModelData(QWidget *editor,
-
 
211
                         QAbstractItemModel *model,
-
 
212
                         const QModelIndex &index) const;
-
 
213
      void updateEditorGeometry(
-
 
214
              QWidget *editor,
-
 
215
              const QStyleOptionViewItem &option,
-
 
216
              const QModelIndex &index) const;
-
 
217
   private:
-
 
218
        bool m_calpopup;
-
 
219
    };
-
 
220
-
 
221
-
 
222
class CPictureDelegate : public QItemDelegate
-
 
223
{
-
 
224
    mutable QPixmap m_pxPicture;
-
 
225
 public:
-
 
226
         CPictureDelegate( QObject *parent );
-
 
227
-
 
228
         void paint(QPainter *painter, const QStyleOptionViewItem &option,
-
 
229
                                const QModelIndex &index) const;
-
 
230
-
 
231
         //QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
-
 
232
};
-
 
233
-
 
234
-
 
235
class IconDelegate : public QItemDelegate
-
 
236
{
-
 
237
    mutable QPixmap m_pxPicture;
-
 
238
private:
-
 
239
        QTableView *tblView;
-
 
240
-
 
241
public:
-
 
242
         IconDelegate ( QObject *parent );
-
 
243
-
 
244
         QWidget *createEditor(
-
 
245
                     QWidget *parent,
-
 
246
                     const QStyleOptionViewItem &option,
-
 
247
                     const QModelIndex &index) const;
-
 
248
-
 
249
         void setEditorData(QWidget *editor,
-
 
250
                            const QModelIndex &index) const;
-
 
251
-
 
252
         void setModelData(QWidget *editor,
-
 
253
                           QAbstractItemModel *model,
-
 
254
                           const QModelIndex &index) const;
-
 
255
-
 
256
-
 
257
         void updateEditorGeometry(
-
 
258
                 QWidget *editor,
-
 
259
                 const QStyleOptionViewItem &option,
-
 
260
                 const QModelIndex &index) const;
-
 
261
-
 
262
         void paint(QPainter *painter, const QStyleOptionViewItem &option,
-
 
263
                                const QModelIndex &index) const;
-
 
264
-
 
265
        void setTableView(QTableView* table);
-
 
266
-
 
267
-
 
268
         //QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
-
 
269
};
-
 
270
-
 
271
class FileDelegate : public QItemDelegate
-
 
272
{
-
 
273
    mutable QByteArray m_Data;
-
 
274
private:
-
 
275
        // QTableView *tblView;
-
 
276
-
 
277
public:
-
 
278
         FileDelegate ( QObject *parent );
-
 
279
-
 
280
         QWidget *createEditor(
-
 
281
                     QWidget *parent,
-
 
282
                     const QStyleOptionViewItem &option,
-
 
283
                     const QModelIndex &index) const;
-
 
284
-
 
285
         void setEditorData(QWidget *editor,
-
 
286
                            const QModelIndex &index) const;
-
 
287
-
 
288
         void setModelData(QWidget *editor,
-
 
289
                           QAbstractItemModel *model,
-
 
290
                           const QModelIndex &index) const;
-
 
291
-
 
292
-
 
293
         void updateEditorGeometry(
-
 
294
                 QWidget *editor,
-
 
295
                 const QStyleOptionViewItem &option,
-
 
296
                 const QModelIndex &index) const;
-
 
297
-
 
298
/*
-
 
299
         void paint(QPainter *painter, const QStyleOptionViewItem &option,
-
 
300
                                const QModelIndex &index) const;
-
 
301
*/
-
 
302
-
 
303
-
 
304
-
 
305
//         void setTableView(QTableView* table);
-
 
306
-
 
307
-
 
308
         //QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
-
 
309
};
-
 
310
-
 
311
class TimeEditDelegate : public QItemDelegate
-
 
312
 {
-
 
313
     Q_OBJECT
-
 
314
-
 
315
 public:
-
 
316
     TimeEditDelegate(const QString timeFormat = "dd.MM.yyyy hh:mm:ss",QObject *parent = 0) : QItemDelegate(parent) {this->timeformat = timeFormat;};
-
 
317
     void paint(QPainter *painter, const QStyleOptionViewItem &option,
-
 
318
               const QModelIndex &index) const;
-
 
319
-
 
320
 private:
-
 
321
     QString timeformat;
-
 
322
 };
-
 
323
-
 
324
-
 
325
#endif // DELEGATE_H
-
 
326