Хранилища Subversion OpenInventory

Редакция

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

Редакция 256 Редакция 257
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
#include "wmithread.h"
13
13
14
14
15
15
#include <QMainWindow>
16
16
#include <QStandardItemModel>
17
17
#include <QStandardItem>
18
18
#include <QTreeWidgetItem>
19
19
#include <QTextCodec>
20
20
#include <QSqlDatabase>
21
21
22
22
#include <QtGui>
23
23
#include <QString>
24
24
#include <QtSql>
25
25
#include <QFont>
26
26
#include <QColor>
27
27
#include <QItemDelegate>
28
28
#include <QList>
29
29
#include <QPalette>
30
30
31
31
32
32
33
33
/*
34
34
#include <QSqlField>
35
35
#include <QSqlRecord>
36
36
#include <QSqlTableModel>
37
37
#include <QSqlQueryModel>
38
38
#include <QTableView>
39
39
#include <QSqlDriverPlugin>
40
40
#include <QIcon>
41
41
#include <QVariant>
42
42
#include <QProcess>
43
43
#include <QByteArray>
44
44
*/
45
45
46
46
typedef struct Class {
47
47
        QString name;
48
48
        QString ID;
49
49
50
50
} TClass;
51
51
52
52
53
53
54
54
typedef struct wmiVideoCard {
55
55
    QString name; // íàçâàíèå âèäåîêàðòû
56
56
    QString manufacturer; // ïðîèçâîäèòåëü
57
57
    QString model;
58
58
    int video_ram;
59
59
60
60
} TWmiVideoCard;
61
61
62
62
63
63
64
64
65
65
typedef struct wmiMatherBoard {
66
66
   // QString name; // íàçâàíèå âèäåîêàðòû
67
67
    QString manufacturer; // ïðîèçâîäèòåëü
68
68
    QString model;
69
69
    //int video_ram;
70
70
71
71
} TWmiMatherBoard;
72
72
73
73
74
74
typedef struct wmiProcessor {
75
75
    QString name; // íàçâàíèå ïðîöåññîðà
76
76
    QString manufacturer; // ïðîèçâîäèòåëü
77
77
    int clockSpeed;
78
78
    QString socket;
79
79
80
80
    //int video_ram;
81
81
82
82
} TWmiProcessor;
83
83
84
84
85
85
typedef struct wmiMemoryModul {
86
86
    QString bankLabel; // íîìåð áàíêè
87
87
    int capacity; // ðàçìåð
88
88
89
89
} TWmiMemoryModul;
90
90
91
91
typedef struct wmiHDD {
92
92
    QString caption; // íàèìåíîâàíèå äèñêà
93
93
    long size; // ðàçìåð
94
94
    QString manufacturer; // ïðîèçâîäèòåëü
95
95
    QString serialNumber; // ñåðèéíûé íîìåð äèñêà
96
96
    QString deviceID; // èäåíòèôèêàòîð äèñêà â ñèñòåìå
97
97
98
98
} TWmiHDD;
99
99
100
100
typedef struct hddSerialNumber {
101
101
    QString serialNumber; // ñåðèéíûé íîìåð äèñêà
102
102
    QString deviceID; // èäåíòèôèêàòîð äèñêà â ñèñòåìå
103
103
104
104
} ThddSerialNumber;
105
105
106
106
107
107
108
108
typedef struct wmiCDROM {
109
109
    QString name; // íàçâàíèå âèäåîêàðòû
110
110
    QString manufacturer; // ïðîèçâîäèòåëü
111
111
112
112
} TWmiCDROM;
113
113
114
114
115
115
typedef struct wmiNetCard {
116
116
    QString caption; // íàçâàíèå âèäåîêàðòû
117
117
    QString  MACAddress; // ïðîèçâîäèòåëü
118
118
119
119
} TWmiNetCard;
120
120
-
 
121
typedef struct wmiSoundCard {
-
 
122
    QString caption; // íàçâàíèå âèäåîêàðòû
-
 
123
 //   QString  MACAddress; // ïðîèçâîäèòåëü
121
124
-
 
125
} TWmiSoundCard;
122
126
123
127
namespace Ui {
124
128
    class MainWindow;
125
129
}
126
130
127
131
class MainWindow : public QMainWindow {
128
132
    Q_OBJECT
129
133
public:
130
134
    MainWindow(QWidget *parent = 0);
131
135
    ~MainWindow();
132
136
133
137
protected:
134
138
    void changeEvent(QEvent *e);
135
139
136
140
private:
137
141
    Ui::MainWindow *ui;
138
142
    //FileForm fileForm;
139
143
140
144
volatile bool all_reading;
141
145
142
146
    TreeDelegateForm treeForm;
143
147
144
148
        settingForm setFrm;
145
149
//ïåðåìåííûå äëÿ ñîåäèíåíèÿ ñ áàçîé
146
150
        QString baseName;
147
151
        QString hostName;
148
152
        QString userName;
149
153
        QString password;
150
154
        QString tableName;
151
155
152
156
        void readSettings();
153
157
        void writeSettings();
154
158
155
159
156
160
    QProcess wmiProcess;
157
161
    QList<QTreeWidgetItem *> root_items_list;
158
162
    QStandardItemModel *model;
159
163
    QStandardItem *item;
160
164
    QTreeWidgetItem *rootItem1, *rootItem2;
161
165
    void openBase();
162
166
    bool readModel();
163
167
164
168
    void initWmiTree();
165
169
166
170
    void setupModelData(const QStringList &lines, QTreeWidgetItem *parent, int row, QString model_id); // row - íîìåð ñòðîêè â òàáëèöå ìîäåëåé, ñîîòâåòñòâóþùèé äàííîé ìîäåëè
167
171
    QString creatModelString(QTreeWidgetItem* model);
168
172
    QString modelString; // ñòðîêà, îïèñûâàþùàÿ ìîäåëü ïðåäñòàâëåíèÿ
169
173
    void addChildsString(QTreeWidgetItem *parentItem, int level);
170
174
171
175
    QSqlDatabase sql;
172
176
    bool model_is_build; // ôëàã ãîâîðèò, ïîñòðîåíà ëè ìîäêëü (true) èëè íåò  (false)
173
177
174
178
    bool openDataBase();
175
179
    bool buildPreviewModel(QString modelName, QString rootClassID);
176
180
177
181
    bool rebuildPreviewModel(QTreeWidgetItem* root_item, QString rootClassID, int row);
178
182
179
183
    QString ClassName(QString class_id); //âîçâðàùàåò èìÿ êëàññà ïî åãî ID
180
184
    void addChildsItems(QTreeWidgetItem *perent_class_item, int row); // äîáîâëÿåì ê ýëåìåíòó äåðåâà â êà÷åñòâå äî÷åðíèõ ýëåìåíòîâ âñå êëàññû, äëÿ êîòîðûõ êëàññ ýëåìåíòà ÿâëÿåòñÿ êîíòåéíåðîì
181
185
    QStringList classChields(QString class_id);
182
186
    QMap <QString, QString> getClassList(); // ïîëó÷àåì ñïèñîê êëàññîâ
183
187
    QMap <QString, QString> getFieldsList(QString class_id); // ïîëó÷àåì ñïèñîê ïîëåé êëàññà
184
188
    void initComboBox();
185
189
    QList<QTreeWidgetItem *> rootItems; // ñïèñîê óêàçàòåëåé êîðíåâûõ óçëîâ (ìîäåëåé)
186
190
    TWmiVideoCard getWmiVideoGard(QString host, QString user_name, QString password);
187
191
    TWmiMatherBoard getWmiMatherBoard(QString host, QString user_name, QString password);
188
192
    TWmiProcessor getWmiProcessor(QString host, QString user_name, QString password);
189
193
    QList<TWmiMemoryModul> getWmiRAM(QString host, QString user_name, QString password);
190
194
    QList<TWmiHDD> getWmiHDD(QString host, QString user_name, QString password);
191
195
    QList<ThddSerialNumber> getHDDSerNum(QString host, QString user_name, QString password);
192
196
193
197
    QList<TWmiCDROM> getWmiCDROM(QString host, QString user_name, QString password);
194
198
    QList<TWmiNetCard> getWmiNetCard(QString host, QString user_name, QString password);
-
 
199
    QList<TWmiSoundCard> getWmiSoundCard(QString host, QString user_name, QString password);
195
200
-
 
201
-
 
202
-
 
203
-
 
204
-
 
205
-
 
206
    WmiThread wmiThread;
-
 
207
    /////// QSqlTableModel * sql_mogel;
-
 
208
-
 
209
    MyModel  * sql_mogel;
-
 
210
 ////   MyModel * filter_model;
-
 
211
-
 
212
    QSqlTableModel * filter_model;
-
 
213
-
 
214
    QSqlTableModel * model_for_ListModelsTable;
-
 
215
-
 
216
    void initListModelsTablle();
-
 
217
    void readModels(); // ñ÷èòûâàåì ñïèñîê ìîäåëåé èç áàçû äàííûõ è ñòðîèì äåðåâî ìîäåëåé
-
 
218
-
 
219
    int pointer_index; //èíäåêñ ïîëÿ-óêàçàòåëÿ íà ðîäèòåëüñêèé êëàññ
-
 
220
    QString parentObject_id;
-
 
221
-
 
222
-
 
223
    QMap <QString, QString> class_list_map;
-
 
224
    QMap <int, QTreeWidgetItem*> models_items; // ñïèñîê èòåìîâ (êîðíåâûõ )ìîäåëåé è ñîîòâåòñòâóþùèõ èì ñòðîê â òàáëèöå ìîäåëåé
-
 
225
    void getDatabaseData();
-
 
226
    void buildTree(QTreeWidgetItem * model_item);
-
 
227
    QString getClassInctance(QString class_id); // ïîëó÷àåì èìÿ òàáëèöû - õðàíèëèùà îáúåêòîâ êëàññà
-
 
228
    void showClassObjects(QTreeWidgetItem * parent_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà
-
 
229
    void showObjectChildrens(QString object_ID, QTreeWidgetItem * object_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà
-
 
230
    void showObjects(QTreeWidgetItem * parent_object_item, QTreeWidgetItem * model_item, QString filtr);// // îòîáðàçèì îáúåêòû êëàññîâà
-
 
231
    QString getPointerFieldName(QString parent_class_id, QString chield_class_id); // îïðåäåëÿåì èìÿ ïîëÿ, â êîòîðîì õðÿíÿòñÿ óêàçàòåëè íà îáúåêòû ðîäèòåëüñêîãî êëàññà
-
 
232
-
 
233
    QMap <QString, QString> getPointersList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé-óêàçàòåëåé, â êà÷åñòâå êëþ÷åé ïîëó÷èì èìåíà ïîëåé-óêàçàòåëåé
-
 
234
                                                                // â êà÷åñòâå çíà÷åíèé ïîëó÷èì ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ
-
 
235
-
 
236
-
 
237
    QMap <QString, QPixmap> getClassesIcons(); // ïîëó÷àåì ñïèñîê èêîíîê äëÿ êëàññîâ
-
 
238
                                                // â êà÷åñòâå êëþ÷à ïîëó÷èì ID êëàññà, à â ê