Хранилища Subversion OpenInventory

Редакция

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

Редакция Автор № строки Строка
88 pingvin 1
#ifndef MAINWINDOW_H
2
#define MAINWINDOW_H
3
 
93 pingvin 4
 
5
//#include "mysql.h"
109 pingvin 6
 
127 pingvin 7
#include "mymodel.h"
132 pingvin 8
#include "settingform.h"
124 pingvin 9
#include "delegate.h"
200 pingvin 10
// #include "fileform.h"
209 pingvin 11
#include "treedelegateform.h"
241 pingvin 12
#include "wmithread.h"
124 pingvin 13
 
243 pingvin 14
 
88 pingvin 15
#include <QMainWindow>
16
#include <QStandardItemModel>
17
#include <QStandardItem>
18
#include <QTreeWidgetItem>
19
#include <QTextCodec>
89 pingvin 20
#include <QSqlDatabase>
88 pingvin 21
 
89 pingvin 22
#include <QtGui>
93 pingvin 23
#include <QString>
24
#include <QtSql>
113 pingvin 25
#include <QFont>
114 pingvin 26
#include <QColor>
130 pingvin 27
#include <QItemDelegate>
147 pingvin 28
#include <QList>
222 pingvin 29
#include <QPalette>
89 pingvin 30
 
93 pingvin 31
 
222 pingvin 32
 
93 pingvin 33
/*
34
#include <QSqlField>
35
#include <QSqlRecord>
36
#include <QSqlTableModel>
37
#include <QSqlQueryModel>
38
#include <QTableView>
39
#include <QSqlDriverPlugin>
40
#include <QIcon>
41
#include <QVariant>
42
#include <QProcess>
43
#include <QByteArray>
44
*/
45
 
99 pingvin 46
typedef struct Class {
47
        QString name;
48
        QString ID;
93 pingvin 49
 
99 pingvin 50
} TClass;
93 pingvin 51
 
52
 
53
 
241 pingvin 54
typedef struct wmiVideoCard {
55
    QString name; //  
56
    QString manufacturer; // 
57
    QString model;
248 pingvin 58
    int video_ram;
93 pingvin 59
 
241 pingvin 60
} TWmiVideoCard;
61
 
62
 
63
 
64
 
251 pingvin 65
typedef struct wmiMatherBoard {
66
   // QString name; //  
67
    QString manufacturer; // 
68
    QString model;
69
    //int video_ram;
241 pingvin 70
 
251 pingvin 71
} TWmiMatherBoard;
241 pingvin 72
 
251 pingvin 73
 
74
typedef struct wmiProcessor {
75
    QString name; //  
76
    QString manufacturer; // 
77
    int clockSpeed;
78
    QString socket;
79
 
80
    //int video_ram;
81
 
82
} TWmiProcessor;
83
 
84
 
254 pingvin 85
typedef struct wmiMemoryModul {
86
    QString bankLabel; //  
87
    int capacity; // 
251 pingvin 88
 
254 pingvin 89
} TWmiMemoryModul;
251 pingvin 90
 
255 pingvin 91
typedef struct wmiHDD {
92
    QString caption; //  
93
    long size; // 
94
    QString manufacturer; // 
95
    QString serialNumber; //   
96
    QString deviceID; //    
254 pingvin 97
 
255 pingvin 98
} TWmiHDD;
254 pingvin 99
 
255 pingvin 100
typedef struct hddSerialNumber {
101
    QString serialNumber; //   
102
    QString deviceID; //    
254 pingvin 103
 
255 pingvin 104
} ThddSerialNumber;
105
 
106
 
107
 
256 pingvin 108
typedef struct wmiCDROM {
109
    QString name; //  
110
    QString manufacturer; // 
255 pingvin 111
 
256 pingvin 112
} TWmiCDROM;
113
 
114
 
115
typedef struct wmiNetCard {
116
    QString caption; //  
117
    QString  MACAddress; // 
118
 
119
} TWmiNetCard;
120
 
257 pingvin 121
typedef struct wmiSoundCard {
122
    QString caption; //  
123
 //   QString  MACAddress; // 
256 pingvin 124
 
257 pingvin 125
} TWmiSoundCard;
256 pingvin 126
 
88 pingvin 127
namespace Ui {
128
    class MainWindow;
129
}
130
 
131
class MainWindow : public QMainWindow {
132
    Q_OBJECT
133
public:
134
    MainWindow(QWidget *parent = 0);
135
    ~MainWindow();
136
 
137
protected:
138
    void changeEvent(QEvent *e);
139
 
140
private:
141
    Ui::MainWindow *ui;
200 pingvin 142
    //FileForm fileForm;
241 pingvin 143
 
144
volatile bool all_reading;
145
 
209 pingvin 146
    TreeDelegateForm treeForm;
88 pingvin 147
 
132 pingvin 148
        settingForm setFrm;
149
//    
150
        QString baseName;
151
        QString hostName;
152
        QString userName;
153
        QString password;
154
        QString tableName;
155
 
156
        void readSettings();
157
        void writeSettings();
158
 
159
 
237 pingvin 160
    QProcess wmiProcess;
106 pingvin 161
    QList<QTreeWidgetItem *> root_items_list;
88 pingvin 162
    QStandardItemModel *model;
163
    QStandardItem *item;
164
    QTreeWidgetItem *rootItem1, *rootItem2;
89 pingvin 165
    void openBase();
166
    bool readModel();
250 pingvin 167
 
168
    void initWmiTree();
169
 
215 pingvin 170
    void setupModelData(const QStringList &lines, QTreeWidgetItem *parent, int row, QString model_id); // row -     ,   
146 pingvin 171
    QString creatModelString(QTreeWidgetItem* model);
91 pingvin 172
    QString modelString; // ,   
173
    void addChildsString(QTreeWidgetItem *parentItem, int level);
93 pingvin 174
 
175
    QSqlDatabase sql;
118 pingvin 176
    bool model_is_build; //  ,    (true)    (false)
93 pingvin 177
 
178
    bool openDataBase();
97 pingvin 179
    bool buildPreviewModel(QString modelName, QString rootClassID);
107 pingvin 180
 
147 pingvin 181
    bool rebuildPreviewModel(QTreeWidgetItem* root_item, QString rootClassID, int row);
107 pingvin 182
 
95 pingvin 183
    QString ClassName(QString class_id); //     ID
147 pingvin 184
    void addChildsItems(QTreeWidgetItem *perent_class_item, int row); //          ,      
99 pingvin 185
    QStringList classChields(QString class_id);
102 pingvin 186
    QMap <QString, QString> getClassList(); //   
125 pingvin 187
    QMap <QString, QString> getFieldsList(QString class_id); //    
104 pingvin 188
    void initComboBox();
189
    QList<QTreeWidgetItem *> rootItems; //     ()
241 pingvin 190
    TWmiVideoCard getWmiVideoGard(QString host, QString user_name, QString password);
251 pingvin 191
    TWmiMatherBoard getWmiMatherBoard(QString host, QString user_name, QString password);
192
    TWmiProcessor getWmiProcessor(QString host, QString user_name, QString password);
254 pingvin 193
    QList<TWmiMemoryModul> getWmiRAM(QString host, QString user_name, QString password);
255 pingvin 194
    QList<TWmiHDD> getWmiHDD(QString host, QString user_name, QString password);
195
    QList<ThddSerialNumber> getHDDSerNum(QString host, QString user_name, QString password);
127 pingvin 196
 
256 pingvin 197
    QList<TWmiCDROM> getWmiCDROM(QString host, QString user_name, QString password);
198
    QList<TWmiNetCard> getWmiNetCard(QString host, QString user_name, QString password);
257 pingvin 199
    QList<TWmiSoundCard> getWmiSoundCard(QString host, QString user_name, QString password);
241 pingvin 200
 
256 pingvin 201
 
202
 
203
 
204
 
205
 
242 pingvin 206
    WmiThread wmiThread;
127 pingvin 207
    /////// QSqlTableModel * sql_mogel;
208
 
209
    MyModel  * sql_mogel;
223 pingvin 210
 ////   MyModel * filter_model;
219 pingvin 211
 
221 pingvin 212
    QSqlTableModel * filter_model;
219 pingvin 213
 
142 pingvin 214
    QSqlTableModel * model_for_ListModelsTable;
127 pingvin 215
 
142 pingvin 216
    void initListModelsTablle();
144 pingvin 217
    void readModels(); //          
142 pingvin 218
 
118 pingvin 219
    int pointer_index; // -   
220
    QString parentObject_id;
109 pingvin 221
 
115 pingvin 222
 
106 pingvin 223
    QMap <QString, QString> class_list_map;
147 pingvin 224
    QMap <int, QTreeWidgetItem*> models_items; //   ( )       
109 pingvin 225
    void getDatabaseData();
226
    void buildTree(QTreeWidgetItem * model_item);
227
    QString getClassInctance(QString class_id); //    -   
110 pingvin 228
    void showClassObjects(QTreeWidgetItem * parent_item, QTreeWidgetItem * model_item); //   
229
    void showObjectChildrens(QString object_ID, QTreeWidgetItem * object_item, QTreeWidgetItem * model_item); //   
112 pingvin 230
    void showObjects(QTreeWidgetItem * parent_object_item, QTreeWidgetItem * model_item, QString filtr);// //   
231
    QString getPointerFieldName(QString parent_class_id, QString chield_class_id); //   ,        
93 pingvin 232
 
128 pingvin 233
    QMap <QString, QString> getPointersList(QString class_id); //    -,      -
234
                                                                //      -   
147 pingvin 235
 
236
 
174 pingvin 237
    QMap <QString, QPixmap> getClassesIcons(); //     
238
                                                //     ID ,     -  
239
 
195 pingvin 240
 
241
    QMap <QString, QPixmap> getObjectsIcon(QString inctance); //     
242
    //     ID ,     -  
243
 
244
 
158 pingvin 245
    QStringList getDataFieldList(QString class_id); //     c  ""
147 pingvin 246
 
158 pingvin 247
 
248
 
249
    QStringList getBoolFieldList(QString class_id); //     c  "bool"
250
 
251
 
200 pingvin 252
    QStringList getFileFieldList(QString class_id); //    ,    "
188 pingvin 253
 
200 pingvin 254
 
222 pingvin 255
    QString getFiltrString(QString model_id, QString class_id); //  -     
200 pingvin 256
 
222 pingvin 257
 
230 pingvin 258
    QList<TField> getFieldList(QString class_id);//    
259
 
260
 
188 pingvin 261
    int getIconFieldIndex(QString inctance); //     
262
 
228 pingvin 263
 
264
    void buildReport(bool advanced); //      OpenOffice,  advanced     
265
    // QTreeWidgetItem * model_item
266
 
267
    void getReport(QTreeWidgetItem * model_item, bool advanced); //       advanced     
268
 
269
    void printChild(QTreeWidgetItem * model_item, QString filtr, bool advanced, int pos);//    
270
 
229 pingvin 271
    void newPage(int page_number);//    
272
    void newPage();//    
228 pingvin 273
 
126 pingvin 274
    SpinBoxDelegate spinDelegate;
130 pingvin 275
    QItemDelegate standart_delegate;
138 pingvin 276
    CPictureDelegate * picture_delegate;
189 pingvin 277
    IconDelegate * iconDelegate;
224 pingvin 278
    FileDelegate * fileDelegate; //     ,     
219 pingvin 279
    FilterSpinBoxDelegate filterSpinDelegate;
280
    FilterConditionDelegate filterConditionDelegate, filterConditionDelegate_1, filterConditionDelegate_2;
224 pingvin 281
    FilterValueDelegate filterValueDelegate; //     ,      
282
 
152 pingvin 283
    bool comboBox_slot_enable; //   ,   item_index  ,   
159 pingvin 284
    QList <int> boolFieldsIndexes_global; //      "BOOL"
115 pingvin 285
 
174 pingvin 286
    QMap <QString, QPixmap> classesIcons;
132 pingvin 287
 
233 pingvin 288
    QTextDocument * doc;
228 pingvin 289
    QTextCursor * cursor;
132 pingvin 290
 
291
 
292
 
106 pingvin 293
private slots:
294
    void on_comboBox_currentIndexChanged( int index );
295
    void on_treeWidget_itemChanged ( QTreeWidgetItem * item, int column );
296
    void on_treeWidget_itemClicked ( QTreeWidgetItem * item, int column );
115 pingvin 297
    void on_treeWidget_2_itemClicked ( QTreeWidgetItem * item, int column );
119 pingvin 298
    void on_pushButton_clicked(); //   " "
299
    void on_pushButton_2_clicked();//   "  "
300
    void on_pushButton_3_clicked();//   ""
301
    void on_pushButton_4_clicked();//   " "
144 pingvin 302
    void on_pushButton_5_clicked();//   "  "
303
    void on_pushButton_6_clicked();//   "  "
146 pingvin 304
    void on_pushButton_7_clicked();//   "" (  )
305
    void on_pushButton_8_clicked();//   "" (  )
217 pingvin 306
    void on_pushButton_9_clicked();//   " " (  )
307
    void on_pushButton_10_clicked();//   " " (  )
308
    void on_pushButton_11_clicked();//   "" (  )
309
    void on_pushButton_12_clicked();//   " " (  )
233 pingvin 310
    void on_pushButton_13_clicked();//   "  " (  )
311
    void on_pushButton_14_clicked();//   "  " (  )
312
    void on_pushButton_15_clicked();//   "" (  )
313
    void on_pushButton_16_clicked();//   "  PDF" (  )
314
    void on_pushButton_17_clicked();//   "  OpenOffice" (  )
238 pingvin 315
    void on_pushButton_18_clicked();//   "  OpenOffice" (  )
217 pingvin 316
 
238 pingvin 317
 
119 pingvin 318
    void on_sql_mogel_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ); //       
146 pingvin 319
    void on_model_for_ListModelsTable_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ); //       
221 pingvin 320
    void on_filter_model_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ); //       
132 pingvin 321
    void applySetting();
322
    void getSetting(); //   
238 pingvin 323
    void readStandartProcessOutput();
324
    void readStandartProcessError();
325
 
326
 
327
 
328
 
88 pingvin 329
};
330
 
105 pingvin 331
 
332
 
333
 
88 pingvin 334
#endif // MAINWINDOW_H