Хранилища Subversion OpenInventory

Редакция

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

Редакция 217 Редакция 219
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
-
 
114
    QSqlTableModel * filtr_model;
-
 
115
113
116
    QSqlTableModel * model_for_ListModelsTable;
114
117
115
118
    void initListModelsTablle();
116
119
    void readModels(); // ñ÷èòûâàåì ñïèñîê ìîäåëåé èç áàçû äàííûõ è ñòðîèì äåðåâî ìîäåëåé
117
120
118
121
    int pointer_index; //èíäåêñ ïîëÿ-óêàçàòåëÿ íà ðîäèòåëüñêèé êëàññ
119
122
    QString parentObject_id;
120
123
121
124
122
125
    QMap <QString, QString> class_list_map;
123
126
    QMap <int, QTreeWidgetItem*> models_items; // ñïèñîê èòåìîâ (êîðíåâûõ )ìîäåëåé è ñîîòâåòñòâóþùèõ èì ñòðîê â òàáëèöå ìîäåëåé
124
127
    void getDatabaseData();
125
128
    void buildTree(QTreeWidgetItem * model_item);
126
129
    QString getClassInctance(QString class_id); // ïîëó÷àåì èìÿ òàáëèöû - õðàíèëèùà îáúåêòîâ êëàññà
127
130
    void showClassObjects(QTreeWidgetItem * parent_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà
128
131
    void showObjectChildrens(QString object_ID, QTreeWidgetItem * object_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà
129
132
    void showObjects(QTreeWidgetItem * parent_object_item, QTreeWidgetItem * model_item, QString filtr);// // îòîáðàçèì îáúåêòû êëàññîâà
130
133
    QString getPointerFieldName(QString parent_class_id, QString chield_class_id); // îïðåäåëÿåì èìÿ ïîëÿ, â êîòîðîì õðÿíÿòñÿ óêàçàòåëè íà îáúåêòû ðîäèòåëüñêîãî êëàññà
131
134
132
135
    QMap <QString, QString> getPointersList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé-óêàçàòåëåé, â êà÷åñòâå êëþ÷åé ïîëó÷èì èìåíà ïîëåé-óêàçàòåëåé
133
136
                                                                // â êà÷åñòâå çíà÷åíèé ïîëó÷èì ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ
134
137
135
138
136
139
    QMap <QString, QPixmap> getClassesIcons(); // ïîëó÷àåì ñïèñîê èêîíîê äëÿ êëàññîâ
137
140
                                                // â êà÷åñòâå êëþ÷à ïîëó÷èì ID êëàññà, à â êà÷åñòâå çíà÷åíèé - èçîáðàæåíèÿ èêîíîê
138
141
139
142
140
143
    QMap <QString, QPixmap> getObjectsIcon(QString inctance)
141
144
142
145
143
146
144
147
145
148
146
149
147
150
148
151
149
152
150
153
151
154
152
155
153
156
154
157
155
158
156
159
157
160
158
161
159
162
160
163
-
 
164
161
165
-
 
166
162
167