Хранилища Subversion OpenInventory

Редакция

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

Редакция 241 Редакция 242
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
#include <QMainWindow>
15
15
#include <QStandardItemModel>
16
16
#include <QStandardItem>
17
17
#include <QTreeWidgetItem>
18
18
#include <QTextCodec>
19
19
#include <QSqlDatabase>
20
20
21
21
#include <QtGui>
22
22
#include <QString>
23
23
#include <QtSql>
24
24
#include <QFont>
25
25
#include <QColor>
26
26
#include <QItemDelegate>
27
27
#include <QList>
28
28
#include <QPalette>
29
29
30
30
31
31
32
32
/*
33
33
#include <QSqlField>
34
34
#include <QSqlRecord>
35
35
#include <QSqlTableModel>
36
36
#include <QSqlQueryModel>
37
37
#include <QTableView>
38
38
#include <QSqlDriverPlugin>
39
39
#include <QIcon>
40
40
#include <QVariant>
41
41
#include <QProcess>
42
42
#include <QByteArray>
43
43
*/
44
44
45
45
typedef struct Class {
46
46
        QString name;
47
47
        QString ID;
48
48
49
49
} TClass;
50
50
51
51
52
52
53
53
typedef struct wmiVideoCard {
54
54
    QString name; // íàçâàíèå âèäåîêàðòû
55
55
    QString manufacturer; // ïðîèçâîäèòåëü
56
56
    QString model;
57
57
58
58
} TWmiVideoCard;
59
59
60
60
61
61
62
62
63
63
64
64
65
65
namespace Ui {
66
66
    class MainWindow;
67
67
}
68
68
69
69
class MainWindow : public QMainWindow {
70
70
    Q_OBJECT
71
71
public:
72
72
    MainWindow(QWidget *parent = 0);
73
73
    ~MainWindow();
74
74
75
75
protected:
76
76
    void changeEvent(QEvent *e);
77
77
78
78
private:
79
79
    Ui::MainWindow *ui;
80
80
    //FileForm fileForm;
81
81
82
82
volatile bool all_reading;
83
83
84
84
    TreeDelegateForm treeForm;
85
85
86
86
        settingForm setFrm;
87
87
//ïåðåìåííûå äëÿ ñîåäèíåíèÿ ñ áàçîé
88
88
        QString baseName;
89
89
        QString hostName;
90
90
        QString userName;
91
91
        QString password;
92
92
        QString tableName;
93
93
94
94
        void readSettings();
95
95
        void writeSettings();
96
96
97
97
98
98
    QProcess wmiProcess;
99
99
    QList<QTreeWidgetItem *> root_items_list;
100
100
    QStandardItemModel *model;
101
101
    QStandardItem *item;
102
102
    QTreeWidgetItem *rootItem1, *rootItem2;
103
103
    void openBase();
104
104
    bool readModel();
105
105
    void setupModelData(const QStringList &lines, QTreeWidgetItem *parent, int row, QString model_id); // row - íîìåð ñòðîêè â òàáëèöå ìîäåëåé, ñîîòâåòñòâóþùèé äàííîé ìîäåëè
106
106
    QString creatModelString(QTreeWidgetItem* model);
107
107
    QString modelString; // ñòðîêà, îïèñûâàþùàÿ ìîäåëü ïðåäñòàâëåíèÿ
108
108
    void addChildsString(QTreeWidgetItem *parentItem, int level);
109
109
110
110
    QSqlDatabase sql;
111
111
    bool model_is_build; // ôëàã ãîâîðèò, ïîñòðîåíà ëè ìîäêëü (true) èëè íåò  (false)
112
112
113
113
    bool openDataBase();
114
114
    bool buildPreviewModel(QString modelName, QString rootClassID);
115
115
116
116
    bool rebuildPreviewModel(QTreeWidgetItem* root_item, QString rootClassID, int row);
117
117
118
118
    QString ClassName(QString class_id); //âîçâðàùàåò èìÿ êëàññà ïî åãî ID
119
119
    void addChildsItems(QTreeWidgetItem *perent_class_item, int row); // äîáîâëÿåì ê ýëåìåíòó äåðåâà â êà÷åñòâå äî÷åðíèõ ýëåìåíòîâ âñå êëàññû, äëÿ êîòîðûõ êëàññ ýëåìåíòà ÿâëÿåòñÿ êîíòåéíåðîì
120
120
    QStringList classChields(QString class_id);
121
121
    QMap <QString, QString> getClassList(); // ïîëó÷àåì ñïèñîê êëàññîâ
122
122
    QMap <QString, QString> getFieldsList(QString class_id); // ïîëó÷àåì ñïèñîê ïîëåé êëàññà
123
123
    void initComboBox();
124
124
    QList<QTreeWidgetItem *> rootItems; // ñïèñîê óêàçàòåëåé êîðíåâûõ óçëîâ (ìîäåëåé)
125
125
    TWmiVideoCard getWmiVideoGard(QString host, QString user_name, QString password);
126
126
127
127
128
128
129
129
130
130
131
131
    WmiThread wmiThread;
132
132
    /////// QSqlTableModel * sql_mogel;
-
 
133
-
 
134
    MyModel  * sql_mogel;
-
 
135
 ////   MyModel * filter_model;
-
 
136
-
 
137
    QSqlTableModel * filter_model;
-
 
138
-
 
139
    QSqlTableModel * model_for_ListModelsTable;
-
 
140
-
 
141
    void initListModelsTablle();
-
 
142
    void readModels(); // ñ÷èòûâàåì ñïèñîê ìîäåëåé èç áàçû äàííûõ è ñòðîèì äåðåâî ìîäåëåé
-
 
143
-
 
144
    int pointer_index; //èíäåêñ ïîëÿ-óêàçàòåëÿ íà ðîäèòåëüñêèé êëàññ
-
 
145
    QString parentObject_id;
-
 
146
-
 
147
-
 
148
    QMap <QString, QString> class_list_map;
-
 
149
    QMap <int, QTreeWidgetItem*> models_items; // ñïèñîê èòåìîâ (êîðíåâûõ )ìîäåëåé è ñîîòâåòñòâóþùèõ èì ñòðîê â òàáëèöå ìîäåëåé
-
 
150
    void getDatabaseData();
-
 
151
    void buildTree(QTreeWidgetItem * model_item);
-
 
152
    QString getClassInctance(QString class_id); // ïîëó÷àåì èìÿ òàáëèöû - õðàíèëèùà îáúåêòîâ êëàññà
-
 
153
    void showClassObjects(QTreeWidgetItem * parent_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà
-
 
154
    void showObjectChildrens(QString object_ID, QTreeWidgetItem * object_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà
-
 
155
    void showObjects(QTreeWidgetItem * parent_object_item, QTreeWidgetItem * model_item, QString filtr);// // îòîáðàçèì îáúåêòû êëàññîâà
-
 
156
    QString getPointerFieldName(QString parent_class_id, QString chield_class_id); // îïðåäåëÿåì èìÿ ïîëÿ, â êîòîðîì õðÿíÿòñÿ óêàçàòåëè íà îáúåêòû ðîäèòåëüñêîãî êëàññà
-
 
157
-
 
158
    QMap <QString, QString> getPointersList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé-óêàçàòåëåé, â êà÷åñòâå êëþ÷åé ïîëó÷èì èìåíà ïîëåé-óê