Хранилища Subversion OpenInventory

Редакция

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

Редакция 215 Редакция 217
1
1
#ifndef MAINWINDOW_H
2
2
#define MAINWINDOW_H
3
3
4
4
5
5
//#include "mysql.h"
6
6
7
7
#include "mymodel.h"
8
8
#include "settingform.h"
9
9
#include "delegate.h"
10
10
// #include "fileform.h"
11
11
#include "treedelegateform.h"
12
12
13
13
#include <QMainWindow>
14
14
#include <QStandardItemModel>
15
15
#include <QStandardItem>
16
16
#include <QTreeWidgetItem>
17
17
#include <QTextCodec>
18
18
#include <QSqlDatabase>
19
19
20
20
#include <QtGui>
21
21
#include <QString>
22
22
#include <QtSql>
23
23
#include <QFont>
24
24
#include <QColor>
25
25
#include <QItemDelegate>
26
26
#include <QList>
27
27
28
28
29
29
/*
30
30
#include <QSqlField>
31
31
#include <QSqlRecord>
32
32
#include <QSqlTableModel>
33
33
#include <QSqlQueryModel>
34
34
#include <QTableView>
35
35
#include <QSqlDriverPlugin>
36
36
#include <QIcon>
37
37
#include <QVariant>
38
38
#include <QProcess>
39
39
#include <QByteArray>
40
40
*/
41
41
42
42
typedef struct Class {
43
43
        QString name;
44
44
        QString ID;
45
45
46
46
} TClass;
47
47
48
48
49
49
50
50
51
51
namespace Ui {
52
52
    class MainWindow;
53
53
}
54
54
55
55
class MainWindow : public QMainWindow {
56
56
    Q_OBJECT
57
57
public:
58
58
    MainWindow(QWidget *parent = 0);
59
59
    ~MainWindow();
60
60
61
61
protected:
62
62
    void changeEvent(QEvent *e);
63
63
64
64
private:
65
65
    Ui::MainWindow *ui;
66
66
    //FileForm fileForm;
67
67
    TreeDelegateForm treeForm;
68
68
69
69
        settingForm setFrm;
70
70
//ïåðåìåííûå äëÿ ñîåäèíåíèÿ ñ áàçîé
71
71
        QString baseName;
72
72
        QString hostName;
73
73
        QString userName;
74
74
        QString password;
75
75
        QString tableName;
76
76
77
77
        void readSettings();
78
78
        void writeSettings();
79
79
80
80
81
81
82
82
    QList<QTreeWidgetItem *> root_items_list;
83
83
    QStandardItemModel *model;
84
84
    QStandardItem *item;
85
85
    QTreeWidgetItem *rootItem1, *rootItem2;
86
86
    void openBase();
87
87
    bool readModel();
88
88
    void setupModelData(const QStringList &lines, QTreeWidgetItem *parent, int row, QString model_id); // row - íîìåð ñòðîêè â òàáëèöå ìîäåëåé, ñîîòâåòñòâóþùèé äàííîé ìîäåëè
89
89
    QString creatModelString(QTreeWidgetItem* model);
90
90
    QString modelString; // ñòðîêà, îïèñûâàþùàÿ ìîäåëü ïðåäñòàâëåíèÿ
91
91
    void addChildsString(QTreeWidgetItem *parentItem, int level);
92
92
93
93
    QSqlDatabase sql;
94
94
    bool model_is_build; // ôëàã ãîâîðèò, ïîñòðîåíà ëè ìîäêëü (true) èëè íåò  (false)
95
95
96
96
    bool openDataBase();
97
97
    bool buildPreviewModel(QString modelName, QString rootClassID);
98
98
99
99
    bool rebuildPreviewModel(QTreeWidgetItem* root_item, QString rootClassID, int row);
100
100
101
101
    QString ClassName(QString class_id); //âîçâðàùàåò èìÿ êëàññà ïî åãî ID
102
102
    void addChildsItems(QTreeWidgetItem *perent_class_item, int row); // äîáîâëÿåì ê ýëåìåíòó äåðåâà â êà÷åñòâå äî÷åðíèõ ýëåìåíòîâ âñå êëàññû, äëÿ êîòîðûõ êëàññ ýëåìåíòà ÿâëÿåòñÿ êîíòåéíåðîì
103
103
    QStringList classChields(QString class_id);
104
104
    QMap <QString, QString> getClassList(); // ïîëó÷àåì ñïèñîê êëàññîâ
105
105
    QMap <QString, QString> getFieldsList(QString class_id); // ïîëó÷àåì ñïèñîê ïîëåé êëàññà
106
106
    void initComboBox();
107
107
    QList<QTreeWidgetItem *> rootItems; // ñïèñîê óêàçàòåëåé êîðíåâûõ óçëîâ (ìîäåëåé)
108
108
109
109
    /////// QSqlTableModel * sql_mogel;
110
110
111
111
    MyModel  * sql_mogel;
112
112
    MyModel * filtr_model;
113
113
    QSqlTableModel * model_for_ListModelsTable;
114
114
115
115
    void initListModelsTablle();
116
116
    void readModels(); // ñ÷èòûâàåì ñïèñîê ìîäåëåé èç áàçû äàííûõ è ñòðîèì äåðåâî ìîäåëåé
117
117
118
118
    int pointer_index; //èíäåêñ ïîëÿ-óêàçàòåëÿ íà ðîäèòåëüñêèé êëàññ
119
119
    QString parentObject_id;
120
120
121
121
122
122
    QMap <QString, QString> class_list_map;
123
123
    QMap <int, QTreeWidgetItem*> models_items; // ñïèñîê èòåìîâ (êîðíåâûõ )ìîäåëåé è ñîîòâåòñòâóþùèõ èì ñòðîê â òàáëèöå ìîäåëåé
124
124
    void getDatabaseData();
125
125
    void buildTree(QTreeWidgetItem * model_item);
126
126
    QString getClassInctance(QString class_id); // ïîëó÷àåì èìÿ òàáëèöû - õðàíèëèùà îáúåêòîâ êëàññà
127
127
    void showClassObjects(QTreeWidgetItem * parent_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà
128
128
    void showObjectChildrens(QString object_ID, QTreeWidgetItem * object_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà
129
129
    void showObjects(QTreeWidgetItem * parent_object_item, QTreeWidgetItem * model_item, QString filtr);// // îòîáðàçèì îáúåêòû êëàññîâà
130
130
    QString getPointerFieldName(QString parent_class_id, QString chield_class_id); // îïðåäåëÿåì èìÿ ïîëÿ, â êîòîðîì õðÿíÿòñÿ óêàçàòåëè íà îáúåêòû ðîäèòåëüñêîãî êëàññà
131
131
132
132
    QMap <QString, QString> getPointersList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé-óêàçàòåëåé, â êà÷åñòâå êëþ÷åé ïîëó÷èì èìåíà ïîëåé-óêàçàòåëåé
133
133
                                                                // â êà÷åñòâå çíà÷åíèé ïîëó÷èì ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ
134
134
135
135
136
136
    QMap <QString, QPixmap> getClassesIcons(); // ïîëó÷àåì ñïèñîê èêîíîê äëÿ êëàññîâ
137
137
                                                // â êà÷åñòâå êëþ÷à ïîëó÷èì ID êëàññà, à â êà÷åñòâå çíà÷åíèé - èçîáðàæåíèÿ èêîíîê
138
138
139
139
140
140
    QMap <QString, QPixmap> getObjectsIcon(QString inctance); // ïîëó
141
141
142
142
143
143
144
144
145
145
146
146
147
147
148
148
149
149
150
150
151
151
152
152
153
153
154
154
155
155
156
156
157
157
158
158
159
159
160
160
161
161
162
162
163
163
164
164
165
165
166
166
167
167
168
168
169
169
170
170
171
171
172
172
173
173
174
174
175
175
176
176
177
177
178
178
179
179
180
180
181
181
182
182
183
183
184
184
-
 
185
-
 
186
-
 
187
-
 
188
185
189