Rev 256 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
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 |