Хранилища Subversion OpenInventory

Редакция

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

Редакция 233 Редакция 237
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
#include <QPalette>
28
28
29
29
30
30
31
31
/*
32
32
#include <QSqlField>
33
33
#include <QSqlRecord>
34
34
#include <QSqlTableModel>
35
35
#include <QSqlQueryModel>
36
36
#include <QTableView>
37
37
#include <QSqlDriverPlugin>
38
38
#include <QIcon>
39
39
#include <QVariant>
40
40
#include <QProcess>
41
41
#include <QByteArray>
42
42
*/
43
43
44
44
typedef struct Class {
45
45
        QString name;
46
46
        QString ID;
47
47
48
48
} TClass;
49
49
50
50
51
51
52
52
53
53
namespace Ui {
54
54
    class MainWindow;
55
55
}
56
56
57
57
class MainWindow : public QMainWindow {
58
58
    Q_OBJECT
59
59
public:
60
60
    MainWindow(QWidget *parent = 0);
61
61
    ~MainWindow();
62
62
63
63
protected:
64
64
    void changeEvent(QEvent *e);
65
65
66
66
private:
67
67
    Ui::MainWindow *ui;
68
68
    //FileForm fileForm;
69
69
    TreeDelegateForm treeForm;
70
70
71
71
        settingForm setFrm;
72
72
//ïåðåìåííûå äëÿ ñîåäèíåíèÿ ñ áàçîé
73
73
        QString baseName;
74
74
        QString hostName;
75
75
        QString userName;
76
76
        QString password;
77
77
        QString tableName;
78
78
79
79
        void readSettings();
80
80
        void writeSettings();
81
81
82
82
83
-
 
-
 
83
    QProcess wmiProcess;
84
84
    QList<QTreeWidgetItem *> root_items_list;
-
 
85
    QStandardItemModel *model;
-
 
86
    QStandardItem *item;
-
 
87
    QTreeWidgetItem *rootItem1, *rootItem2;
-
 
88
    void openBase();
-
 
89
    bool readModel();
-
 
90
    void setupModelData(const QStringList &lines, QTreeWidgetItem *parent, int row, QString model_id); // row - íîìåð ñòðîêè â òàáëèöå ìîäåëåé, ñîîòâåòñòâóþùèé äàííîé ìîäåëè
-
 
91
    QString creatModelString(QTreeWidgetItem* model);
-
 
92
    QString modelString; // ñòðîêà, îïèñûâàþùàÿ ìîäåëü ïðåäñòàâëåíèÿ
-
 
93
    void addChildsString(QTreeWidgetItem *parentItem, int level);
-
 
94
-
 
95
    QSqlDatabase sql;
-
 
96
    bool model_is_build; // ôëàã ãîâîðèò, ïîñòðîåíà ëè ìîäêëü (true) èëè íåò  (false)
-
 
97
-
 
98
    bool openDataBase();
-
 
99
    bool buildPreviewModel(QString modelName, QString rootClassID);
-
 
100
-
 
101
    bool rebuildPreviewModel(QTreeWidgetItem* root_item, QString rootClassID, int row);
-
 
102
-
 
103
    QString ClassName(QString class_id); //âîçâðàùàåò èìÿ êëàññà ïî åãî ID
-
 
104
    void addChildsItems(QTreeWidgetItem *perent_class_item, int row); // äîáîâëÿåì ê ýëåìåíòó äåðåâà â êà÷åñòâå äî÷åðíèõ ýëåìåíòîâ âñå êëàññû, äëÿ êîòîðûõ êëàññ ýëåìåíòà ÿâëÿåòñÿ êîíòåéíåðîì
-
 
105
    QStringList classChields(QString class_id);
-
 
106
    QMap <QString, QString> getClassList(); // ïîëó÷àåì ñïèñîê êëàññîâ
-
 
107
    QMap <QString, QString> getFieldsList(QString class_id); // ïîëó÷àåì ñïèñîê ïîëåé êëàññà
-
 
108
    void initComboBox();
-
 
109
    QList<QTreeWidgetItem *> rootItems; // ñïèñîê óêàçàòåëåé êîðíåâûõ óçëîâ (ìîäåëåé)
-
 
110
-
 
111
    /////// QSqlTableModel * sql_mogel;
-
 
112
-
 
113
    MyModel  * sql_mogel;
-
 
114
 ////   MyModel * filter_model;
-
 
115
-
 
116
    QSqlTableModel * filter_model;
-
 
117
-
 
118
    QSqlTableModel * model_for_ListModelsTable;
-
 
119
-
 
120
    void initListModelsTablle();
-
 
121
    void readModels(); // ñ÷èòûâàåì ñïèñîê ìîäåëåé èç áàçû äàííûõ è ñòðîèì äåðåâî ìîäåëåé
-
 
122
-
 
123
    int pointer_index; //èíäåêñ ïîëÿ-óêàçàòåëÿ íà ðîäèòåëüñêèé êëàññ
-
 
124
    QString parentObject_id;
-
 
125
-
 
126
-
 
127
    QMap <QString, QString> class_list_map;
-
 
128
    QMap <int, QTreeWidgetItem*> models_items; // ñïèñîê èòåìîâ (êîðíåâûõ )ìîäåëåé è ñîîòâåòñòâóþùèõ èì ñòðîê â òàáëèöå ìîäåëåé
-
 
129
    void getDatabaseData();
-
 
130
    void buildTree(QTreeWidgetItem * model_item);
-
 
131
    QString getClassInctance(QString class_id); // ïîëó÷àåì èìÿ òàáëèöû - õðàíèëèùà îáúåêòîâ êëàññà
-
 
132
    void showClassObjects(QTreeWidgetItem * parent_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà
-
 
133
    void showObjectChildrens(QString object_ID, QTreeWidgetItem * object_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà
-
 
134
    void showObjects(QTreeWidgetItem * parent_object_item, QTreeWidgetItem * model_item, QString filtr);// // îòîáðàçèì îáúåêòû êëàññîâà
-
 
135
    QString getPointerFieldName(QString parent_class_id, QString chield_class_id); // îïðåäåëÿåì èìÿ ïîëÿ, â êîòîðîì õðÿíÿòñÿ óêàçàòåëè íà îáúåêòû ðîäèòåëüñêîãî êëàññà
-
 
136
-
 
137
    QMap <QString, QString> getPointersList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé-óêàçàòåëåé, â êà÷åñòâå êëþ÷åé ïîëó÷èì èìåíà ïîëåé-óêàçàòåëåé
-
 
138
                                                                // â êà÷åñòâå çíà÷åíèé ïîëó÷èì ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ
-
 
139
-
 
140
-
 
141
    QMap <QString, QPixmap> getClassesIcons(); // ïîëó÷àåì ñïèñîê èêîíîê äëÿ êëàññîâ
-
 
142
                                                // â êà÷åñòâå êëþ÷à ïîëó÷èì ID êëàññà, à â êà÷åñòâå çíà÷åíèé - èçîáðàæåíèÿ èêîíîê
-
 
143
-
 
144
-
 
145
    QMap <QString, QPixmap> getObjectsIcon(QString inctance); // ïîëó÷àåì ñïèñîê èêîíîê äëÿ îáúåêòîâ
-
 
146
    // â êà÷åñòâå êëþ÷à ïîëó÷èì ID îáúåêòà, à â êà÷åñòâå çíà÷åíèé - èçîáðàæåíèÿ èêîíîê
-
 
147
-
 
148
-
 
149
    QStringList getDataFieldList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "Äàòà"
-
 
150
-
 
151
-
 
152
-
 
153
    QStringList getBoolFieldList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "bool"
-
 
154
-
 
155
-
 
156
    QStringList getFileFieldList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé, â êîòîðûõ õðàíÿòüñÿ ôàéëû"
-
 
157
-
 
158
-
 
159
    QString getFiltrString(QString model_id, QString class_id); // ïîëó÷àåì ñòðîêó-ôèëüòð äëÿ äàííîãî êëàññà äàííîé ìîäåëè
-
 
160
-
 
161
-
 
162
    QList<TField> getFieldList(QString class_id);// ïîëó÷àåì ñïèñîê ïîëåé êëàññà
-
 
163
-
 
164
-
 
165
    int getIconFieldIndex(QString inctance); // ïîëó÷àåì íîìåð ñòîëáöà ñ èêîíêàìè
-
 
166
-
 
167
-
 
168
    void buildReport(bool advanced); // ñîçäàåì îò÷åò è ýêñïîðòèðóåì â OpenOffice, ïåðåìåííàÿ advanced óêàçûâàåò áóäåò ëè îò÷åò ðàñøèðåííûì
-
 
169
    // QTreeWidgetItem * model_item
-
 
170
-
 
171
    void getReport(QTreeWidgetItem * model_item, bool advanced); // ñîçäàåò îò÷åò äëÿ êîíêðåòíîé ìîäåëè ïåðåìåííàÿ advanced óêàçûâàåò áóäåò ëè îò÷åò ðàñøèðåííûì
-
 
172
-
 
173
    void printChild(QTreeWidgetItem * model_item, QString filtr, bool advanced, int pos);//â ðàïîðò äîáàâëÿåì äî÷åðíèå êëàññû
-
 
174
-
 
175
    void newPage(int page_number);//â ðàïîðò âñòàâëÿåì íîâóþ ñòðàíèöó
-
 
176
    void newPage();//â ðàïîðò âñòàâëÿåì íîâóþ ñòðàíèöó
-
 
177
-
 
178
    SpinBoxDelegate spinDelegate;
-
 
179
    QItemDelegate standart_delegate;
-
 
180
    CPictureDelegate * picture_delegate;
-
 
181
    IconDelegate * iconDelegate;
-
 
182
    FileDelegate * fileDelegate; // äåëåãàò äëÿ òàáëèöû ñ ôèëüòðàìè, áóäåò îòîáðàæàòü ñïèñîê ïîëåé êëàññà
-
 
183
    FilterSpinBoxDelegate filterSpinDelegate;
-
 
184
    FilterConditionDelegate filterConditionDelegate, filterConditionDelegate_1, filterConditionDelegate_2;
-
 
185
    FilterValueDelegate filterValueDelegate; // äåëåãàò äëÿ òàáëèöû ñ ôèëüòðàìè, áóäåò îòîáðàæàòü ñïèñîê çíà÷åíèé îáúåêòîâ êëàññà
-
 
186
-
 
187
    bool comboBox_slot_enable; // äëÿ áëîêèðîâêè ñëîòà, êîãäà ìåíÿåì item_index èç ïðîãðàììû, à íå âðó÷íóþ
-
 
188
    QList <int> boolFieldsIndexes_global; // ñïèñîê íîìåðîâ ñòîëáöîâ ñ òèïîì "BOOL"
-
 
189
-
 
190
    QMap <QString, QPixmap> classesIcons;
-
 
191
-
 
192
    QTextDocument * doc;
-
 
193
    QTextCursor * cursor;
-
 
194
-
 
195
-
 
196
-
 
197
private slots:
-
 
198
    void on_comboBox_currentIndexChanged( int index );
-
 
199
    void on_treeWidget_itemChanged ( QTreeWidgetItem * item, int column );
-
 
200
    void on_treeWidget_itemClicked ( QTreeWidgetItem * item, int column );
-
 
201
    void on_treeWidget_2_itemClicked ( QTreeWidgetItem * item, int column );
-
 
202
    void on_pushButton_clicked(); // íàæàòèå êíîïêè "Äîáàâèòü îáúåêò"
-
 
203
    void on_pushButton_2_clicked();// íàæàòèå êíîïêè "Óäàëèòü âûäåëåííûå îáúåêòû"
-
 
204
    void on_pushButton_3_clicked();// íàæàòèå êíîïêè "Ïðèìåíèòü"
-
 
205
    void on_pushButton_4_clicked();// íàæàòèå êíîïêè "Ñáðîñèòü èçìåíåíèÿ"
-
 
206
    void on_pushButton_5_clicked();// íàæàòèå êíîïêè "Äîáàâèòü ìîäåëü "
-
 
207
    void on_pushButton_6_clicked();// íàæàòèå êíîïêè "Óäàëèòü ìîäåëü "
-
 
208
    void on_pushButton_7_clicked();// íàæàòèå êíîïêè "Ïðèìåíèòü" (íà âêëàäêå ìîäåëåé)
-
 
209
    void on_pushButton_8_clicked();// íàæàòèå êíîïêè "Îòìåíèòü" (íà âêëàäêå ìîäåëåé)
-
 
210
    void on_pushButton_9_clicked();// íàæàòèå êíîïêè "Äîáàâèòü ôèëüòð" (íà âêëàäêå ôèëüòðîâ)
-
 
211
    void on_pushButton_10_clicked();// íàæàòèå êíîïêè "Óäàëèòü ôèëüòð" (íà âêëàäêå ôèëüòðîâ)
-
 
212
    void on_pushButton_11_clicked();// íàæàòèå êíîïêè "Ïðèìåíèòü" (íà âêëàäêå ôèëüòðîâ)
-
 
213
    void on_pushButton_12_clicked();// íàæàòèå êíîïêè "Ñáðîñèòü èçìåíåíèÿ" (íà âêëàäêå ôèëüòðîâ)
-
 
214
    void on_pushButton_13_clicked();// íàæàòèå êíîïêè "Ñôîðìèðîâàòü êðàòêèé îò÷åò" (íà âêëàäêå îò÷åòîâ)
-
 
215
    void on_pushButton_14_clicked();// íàæàòèå êíîïêè "Ñôîðìèðîâàòü ïîëíûé îò÷åò" (íà âêëàäêå îò÷åòîâ)
-
 
216
    void on_pushButton_15_clicked();// íàæàòèå êíîïêè "Ïå÷àòü" (íà âêëàäêå îò÷åòîâ)
-
 
217
    void on_pushButton_16_clicked();// íàæàòèå êíîïêè "Ïå÷àòü â PDF" (íà âêëàäêå îò÷åòîâ)
-
 
218
    void on_pushButton_17_clicked();// íàæàòèå êíîïêè "Ýêñïîðò â OpenOffice" (íà âêëàäêå îò÷åòîâ)
-
 
219
-
 
220
    void on_sql_mogel_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ); // èçìåíèëè ñâîéñòâà îáúåêòà èëè äîáàâèëè íîâûé îáúåêò
-
 
221
    void on_model_for_ListModelsTable_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ); // èçìåíèëè ñâîéñòâà îáúåêòà èëè äîáàâèëè íîâûé îáúåêò
-
 
222
    void on_filter_model_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ); // èçìåíèëè ñâîéñòâà ôèëüòðà èëè äîáàâèëè íîâûé ôèëüòð
-
 
223
    void applySetting();
-
 
224
    void getSetting(); // îòêðîåì îêíî íàñòðîåê
-
 
225
};
-
 
226
-
 
227
-
 
228
-
 
229
-
 
230
#endif // MAINWINDOW_H
-
 
231