Редакция 195 | Редакция 200 | К новейшей редакции | Только различия | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS
Редакция 195 | Редакция 196 | ||
---|---|---|---|
1 | #ifndef MAINWINDOW_H
|
1 | #ifndef MAINWINDOW_H
|
2 | #define MAINWINDOW_H
|
2 | #define MAINWINDOW_H
|
3 | 3 | ||
4 | 4 | ||
5 | //#include "mysql.h"
|
5 | //#include "mysql.h"
|
6 | 6 | ||
7 | #include "mymodel.h"
|
7 | #include "mymodel.h"
|
8 | #include "settingform.h"
|
8 | #include "settingform.h"
|
9 | #include "delegate.h"
|
9 | #include "delegate.h"
|
- | 10 | #include "fileform.h"
|
|
10 | 11 | ||
11 | #include <QMainWindow>
|
12 | #include <QMainWindow>
|
12 | #include <QStandardItemModel>
|
13 | #include <QStandardItemModel>
|
13 | #include <QStandardItem>
|
14 | #include <QStandardItem>
|
14 | #include <QTreeWidgetItem>
|
15 | #include <QTreeWidgetItem>
|
15 | #include <QTextCodec>
|
16 | #include <QTextCodec>
|
16 | #include <QSqlDatabase>
|
17 | #include <QSqlDatabase>
|
17 | 18 | ||
18 | #include <QtGui>
|
19 | #include <QtGui>
|
19 | #include <QString>
|
20 | #include <QString>
|
20 | #include <QtSql>
|
21 | #include <QtSql>
|
21 | #include <QFont>
|
22 | #include <QFont>
|
22 | #include <QColor>
|
23 | #include <QColor>
|
23 | #include <QItemDelegate>
|
24 | #include <QItemDelegate>
|
24 | #include <QList>
|
25 | #include <QList>
|
25 | 26 | ||
26 | 27 | ||
27 | /*
|
28 | /*
|
28 | #include <QSqlField>
|
29 | #include <QSqlField>
|
29 | #include <QSqlRecord>
|
30 | #include <QSqlRecord>
|
30 | #include <QSqlTableModel>
|
31 | #include <QSqlTableModel>
|
31 | #include <QSqlQueryModel>
|
32 | #include <QSqlQueryModel>
|
32 | #include <QTableView>
|
33 | #include <QTableView>
|
33 | #include <QSqlDriverPlugin>
|
34 | #include <QSqlDriverPlugin>
|
34 | #include <QIcon>
|
35 | #include <QIcon>
|
35 | #include <QVariant>
|
36 | #include <QVariant>
|
36 | #include <QProcess>
|
37 | #include <QProcess>
|
37 | #include <QByteArray>
|
38 | #include <QByteArray>
|
38 | */
|
39 | */
|
39 | 40 | ||
40 | typedef struct Class { |
41 | typedef struct Class { |
41 | QString name;
|
42 | QString name;
|
42 | QString ID;
|
43 | QString ID;
|
43 | 44 | ||
44 | } TClass; |
45 | } TClass; |
45 | 46 | ||
46 | 47 | ||
47 | 48 | ||
48 | 49 | ||
49 | namespace Ui { |
50 | namespace Ui { |
50 | class MainWindow; |
51 | class MainWindow; |
51 | }
|
52 | }
|
52 | 53 | ||
53 | class MainWindow : public QMainWindow { |
54 | class MainWindow : public QMainWindow { |
54 | Q_OBJECT |
55 | Q_OBJECT |
55 | public: |
56 | public: |
56 | MainWindow(QWidget *parent = 0); |
57 | MainWindow(QWidget *parent = 0); |
57 | ~MainWindow(); |
58 | ~MainWindow(); |
58 | 59 | ||
59 | protected: |
60 | protected: |
60 | void changeEvent(QEvent *e); |
61 | void changeEvent(QEvent *e); |
61 | 62 | ||
62 | private: |
63 | private: |
63 | Ui::MainWindow *ui; |
64 | Ui::MainWindow *ui; |
- | 65 | FileForm fileForm;
|
|
64 | 66 | ||
65 | settingForm setFrm;
|
67 | settingForm setFrm;
|
66 | //ïåðåìåííûå äëÿ ñîåäèíåíèÿ ñ áàçîé
|
68 | //ïåðåìåííûå äëÿ ñîåäèíåíèÿ ñ áàçîé
|
67 | QString baseName;
|
69 | QString baseName;
|
68 | QString hostName;
|
70 | QString hostName;
|
69 | QString userName;
|
71 | QString userName;
|
70 | QString password;
|
72 | QString password;
|
71 | QString tableName;
|
73 | QString tableName;
|
72 | 74 | ||
73 | void readSettings(); |
75 | void readSettings(); |
74 | void writeSettings(); |
76 | void writeSettings(); |
75 | 77 | ||
76 | 78 | ||
77 | 79 | ||
78 | QList<QTreeWidgetItem *> root_items_list; |
80 | QList<QTreeWidgetItem *> root_items_list; |
79 | QStandardItemModel *model; |
81 | QStandardItemModel *model; |
80 | QStandardItem *item; |
82 | QStandardItem *item; |
81 | QTreeWidgetItem *rootItem1, *rootItem2; |
83 | QTreeWidgetItem *rootItem1, *rootItem2; |
82 | void openBase(); |
84 | void openBase(); |
83 | bool readModel(); |
85 | bool readModel(); |
84 | void setupModelData(const QStringList &lines, QTreeWidgetItem *parent, int row); // row - íîìåð ñòðîêè â òàáëèöå ìîäåëåé, ñîîòâåòñòâóþùèé äàííîé ìîäåëè |
86 | void setupModelData(const QStringList &lines, QTreeWidgetItem *parent, int row); // row - íîìåð ñòðîêè â òàáëèöå ìîäåëåé, ñîîòâåòñòâóþùèé äàííîé ìîäåëè |
85 | QString creatModelString(QTreeWidgetItem* model); |
87 | QString creatModelString(QTreeWidgetItem* model); |
86 | QString modelString; // ñòðîêà, îïèñûâàþùàÿ ìîäåëü ïðåäñòàâëåíèÿ |
88 | QString modelString; // ñòðîêà, îïèñûâàþùàÿ ìîäåëü ïðåäñòàâëåíèÿ |
87 | void addChildsString(QTreeWidgetItem *parentItem, int level); |
89 | void addChildsString(QTreeWidgetItem *parentItem, int level); |
88 | 90 | ||
89 | QSqlDatabase sql;
|
91 | QSqlDatabase sql;
|
90 | bool model_is_build; // ôëàã ãîâîðèò, ïîñòðîåíà ëè ìîäêëü (true) èëè íåò (false) |
92 | bool model_is_build; // ôëàã ãîâîðèò, ïîñòðîåíà ëè ìîäêëü (true) èëè íåò (false) |
91 | 93 | ||
92 | bool openDataBase(); |
94 | bool openDataBase(); |
93 | bool buildPreviewModel(QString modelName, QString rootClassID); |
95 | bool buildPreviewModel(QString modelName, QString rootClassID); |
94 | 96 | ||
95 | bool rebuildPreviewModel(QTreeWidgetItem* root_item, QString rootClassID, int row); |
97 | bool rebuildPreviewModel(QTreeWidgetItem* root_item, QString rootClassID, int row); |
96 | 98 | ||
97 | QString ClassName(QString class_id); //âîçâðàùàåò èìÿ êëàññà ïî åãî ID |
99 | QString ClassName(QString class_id); //âîçâðàùàåò èìÿ êëàññà ïî åãî ID |
98 | void addChildsItems(QTreeWidgetItem *perent_class_item, int row); // äîáîâëÿåì ê ýëåìåíòó äåðåâà â êà÷åñòâå äî÷åðíèõ ýëåìåíòîâ âñå êëàññû, äëÿ êîòîðûõ êëàññ ýëåìåíòà ÿâëÿåòñÿ êîíòåéíåðîì |
100 | void addChildsItems(QTreeWidgetItem *perent_class_item, int row); // äîáîâëÿåì ê ýëåìåíòó äåðåâà â êà÷åñòâå äî÷åðíèõ ýëåìåíòîâ âñå êëàññû, äëÿ êîòîðûõ êëàññ ýëåìåíòà ÿâëÿåòñÿ êîíòåéíåðîì |
99 | QStringList classChields(QString class_id); |
101 | QStringList classChields(QString class_id); |
100 | QMap <QString, QString> getClassList(); // ïîëó÷àåì ñïèñîê êëàññîâ |
102 | QMap <QString, QString> getClassList(); // ïîëó÷àåì ñïèñîê êëàññîâ |
101 | QMap <QString, QString> getFieldsList(QString class_id); // ïîëó÷àåì ñïèñîê ïîëåé êëàññà |
103 | QMap <QString, QString> getFieldsList(QString class_id); // ïîëó÷àåì ñïèñîê ïîëåé êëàññà |
102 | void initComboBox(); |
104 | void initComboBox(); |
103 | QList<QTreeWidgetItem *> rootItems; // ñïèñîê óêàçàòåëåé êîðíåâûõ óçëîâ (ìîäåëåé) |
105 | QList<QTreeWidgetItem *> rootItems; // ñïèñîê óêàçàòåëåé êîðíåâûõ óçëîâ (ìîäåëåé) |
104 | 106 | ||
105 | /////// QSqlTableModel * sql_mogel;
|
107 | /////// QSqlTableModel * sql_mogel;
|
106 | 108 | ||
107 | MyModel * sql_mogel; |
109 | MyModel * sql_mogel; |
108 | QSqlTableModel * model_for_ListModelsTable; |
110 | QSqlTableModel * model_for_ListModelsTable; |
109 | 111 | ||
110 | void initListModelsTablle(); |
112 | void initListModelsTablle(); |
111 | void readModels(); // ñ÷èòûâàåì ñïèñîê ìîäåëåé èç áàçû äàííûõ è ñòðîèì äåðåâî ìîäåëåé |
113 | void readModels(); // ñ÷èòûâàåì ñïèñîê ìîäåëåé èç áàçû äàííûõ è ñòðîèì äåðåâî ìîäåëåé |
112 | 114 | ||
113 | int pointer_index; //èíäåêñ ïîëÿ-óêàçàòåëÿ íà ðîäèòåëüñêèé êëàññ |
115 | int pointer_index; //èíäåêñ ïîëÿ-óêàçàòåëÿ íà ðîäèòåëüñêèé êëàññ |
114 | QString parentObject_id;
|
116 | QString parentObject_id;
|
115 | 117 | ||
116 | 118 | ||
117 | QMap <QString, QString> class_list_map; |
119 | QMap <QString, QString> class_list_map; |
118 | QMap <int, QTreeWidgetItem*> models_items; // ñïèñîê èòåìîâ (êîðíåâûõ )ìîäåëåé è ñîîòâåòñòâóþùèõ èì ñòðîê â òàáëèöå ìîäåëåé |
120 | QMap <int, QTreeWidgetItem*> models_items; // ñïèñîê èòåìîâ (êîðíåâûõ )ìîäåëåé è ñîîòâåòñòâóþùèõ èì ñòðîê â òàáëèöå ìîäåëåé |
119 | void getDatabaseData(); |
121 | void getDatabaseData(); |
120 | void buildTree(QTreeWidgetItem * model_item); |
122 | void buildTree(QTreeWidgetItem * model_item); |
121 | QString getClassInctance(QString class_id); // ïîëó÷àåì èìÿ òàáëèöû - õðàíèëèùà îáúåêòîâ êëàññà |
123 | QString getClassInctance(QString class_id); // ïîëó÷àåì èìÿ òàáëèöû - õðàíèëèùà îáúåêòîâ êëàññà |
122 | void showClassObjects(QTreeWidgetItem * parent_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà |
124 | void showClassObjects(QTreeWidgetItem * parent_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà |
123 | void showObjectChildrens(QString object_ID, QTreeWidgetItem * object_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà |
125 | void showObjectChildrens(QString object_ID, QTreeWidgetItem * object_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà |
124 | void showObjects(QTreeWidgetItem * parent_object_item, QTreeWidgetItem * model_item, QString filtr);// // îòîáðàçèì îáúåêòû êëàññîâà |
126 | void showObjects(QTreeWidgetItem * parent_object_item, QTreeWidgetItem * model_item, QString filtr);// // îòîáðàçèì îáúåêòû êëàññîâà |
125 | QString getPointerFieldName(QString parent_class_id, QString chield_class_id); // îïðåäåëÿåì èìÿ ïîëÿ, â êîòîðîì õðÿíÿòñÿ óêàçàòåëè íà îáúåêòû ðîäèòåëüñêîãî êëàññà |
127 | QString getPointerFieldName(QString parent_class_id, QString chield_class_id); // îïðåäåëÿåì èìÿ ïîëÿ, â êîòîðîì õðÿíÿòñÿ óêàçàòåëè íà îáúåêòû ðîäèòåëüñêîãî êëàññà |
126 | 128 | ||
127 | QMap <QString, QString> getPointersList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé-óêàçàòåëåé, â êà÷åñòâå êëþ÷åé ïîëó÷èì èìåíà ïîëåé-óêàçàòåëåé |
129 | QMap <QString, QString> getPointersList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé-óêàçàòåëåé, â êà÷åñòâå êëþ÷åé ïîëó÷èì èìåíà ïîëåé-óêàçàòåëåé |
128 | // â êà÷åñòâå çíà÷åíèé ïîëó÷èì ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ
|
130 | // â êà÷åñòâå çíà÷åíèé ïîëó÷èì ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ
|
129 | 131 | ||
130 | 132 | ||
131 | QMap <QString, QPixmap> getClassesIcons(); // ïîëó÷àåì ñïèñîê èêîíîê äëÿ êëàññîâ |
133 | QMap <QString, QPixmap> getClassesIcons(); // ïîëó÷àåì ñïèñîê èêîíîê äëÿ êëàññîâ |
132 | // â êà÷åñòâå êëþ÷à ïîëó÷èì ID êëàññà, à â êà÷åñòâå çíà÷åíèé - èçîáðàæåíèÿ èêîíîê
|
134 | // â êà÷åñòâå êëþ÷à ïîëó÷èì ID êëàññà, à â êà÷åñòâå çíà÷åíèé - èçîáðàæåíèÿ èêîíîê
|
133 | 135 | ||
134 | 136 | ||
135 | QMap <QString, QPixmap> getObjectsIcon(QString inctance); // ïîëó÷àåì ñïèñîê èêîíîê äëÿ îáúåêòîâ |
137 | QMap <QString, QPixmap> getObjectsIcon(QString inctance); // ïîëó÷àåì ñïèñîê èêîíîê äëÿ îáúåêòîâ |
136 | // â êà÷åñòâå êëþ÷à ïîëó÷èì ID îáúåêòà, à â êà÷åñòâå çíà÷åíèé - èçîáðàæåíèÿ èêîíîê
|
138 | // â êà÷åñòâå êëþ÷à ïîëó÷èì ID îáúåêòà, à â êà÷åñòâå çíà÷åíèé - èçîáðàæåíèÿ èêîíîê
|
137 | 139 | ||
138 | 140 | ||
139 | QStringList getDataFieldList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "Äàòà" |
141 | QStringList getDataFieldList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "Äàòà" |
140 | 142 | ||
141 | 143 | ||
142 | 144 | ||
143 | QStringList getBoolFieldList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "bool" |
145 | QStringList getBoolFieldList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé c òèïîì "bool" |
144 | 146 | ||
145 | 147 | ||
146 | 148 | ||
147 | int getIconFieldIndex(QString inctance); // ïîëó÷àåì íîìåð ñòîëáöà ñ èêîíêàìè |
149 | int getIconFieldIndex(QString inctance); // ïîëó÷àåì íîìåð ñòîëáöà ñ èêîíêàìè |
148 | 150 | ||
149 | SpinBoxDelegate spinDelegate;
|
151 | SpinBoxDelegate spinDelegate;
|
150 | QItemDelegate standart_delegate;
|
152 | QItemDelegate standart_delegate;
|
151 | CPictureDelegate * picture_delegate; |
153 | CPictureDelegate * picture_delegate; |
152 | IconDelegate * iconDelegate; |
154 | IconDelegate * iconDelegate; |
153 | bool comboBox_slot_enable; // äëÿ áëîêèðîâêè ñëîòà, êîãäà ìåíÿåì item_index èç ïðîãðàììû, à íå âðó÷íóþ |
155 | bool comboBox_slot_enable; // äëÿ áëîêèðîâêè ñëîòà, êîãäà ìåíÿåì item_index èç ïðîãðàììû, à íå âðó÷íóþ |
154 | QList <int> boolFieldsIndexes_global; // ñïèñîê íîìåðîâ ñòîëáöîâ ñ òèïîì "BOOL" |
156 | QList <int> boolFieldsIndexes_global; // ñïèñîê íîìåðîâ ñòîëáöîâ ñ òèïîì "BOOL" |
155 | 157 | ||
156 | QMap <QString, QPixmap> classesIcons; |
158 | QMap <QString, QPixmap> classesIcons; |
157 | 159 | ||
158 | 160 | ||
159 | 161 | ||
160 | 162 | ||
161 | 163 | ||
162 | private slots: |
164 | private slots: |
163 | void on_comboBox_currentIndexChanged( int index ); |
165 | void on_comboBox_currentIndexChanged( int index ); |
164 | void on_treeWidget_itemChanged ( QTreeWidgetItem * item, int column ); |
166 | void on_treeWidget_itemChanged ( QTreeWidgetItem * item, int column ); |
165 | void on_treeWidget_itemClicked ( QTreeWidgetItem * item, int column ); |
167 | void on_treeWidget_itemClicked ( QTreeWidgetItem * item, int column ); |
166 | void on_treeWidget_2_itemClicked ( QTreeWidgetItem * item, int column ); |
168 | void on_treeWidget_2_itemClicked ( QTreeWidgetItem * item, int column ); |
167 | void on_pushButton_clicked(); // íàæàòèå êíîïêè "Äîáàâèòü îáúåêò" |
169 | void on_pushButton_clicked(); // íàæàòèå êíîïêè "Äîáàâèòü îáúåêò" |
168 | void on_pushButton_2_clicked();// íàæàòèå êíîïêè "Óäàëèòü âûäåëåííûå îáúåêòû" |
170 | void on_pushButton_2_clicked();// íàæàòèå êíîïêè "Óäàëèòü âûäåëåííûå îáúåêòû" |
169 | void on_pushButton_3_clicked();// íàæàòèå êíîïêè "Ïðèìåíèòü" |
171 | void on_pushButton_3_clicked();// íàæàòèå êíîïêè "Ïðèìåíèòü" |
170 | void on_pushButton_4_clicked();// íàæàòèå êíîïêè "Ñáðîñèòü èçìåíåíèÿ" |
172 | void on_pushButton_4_clicked();// íàæàòèå êíîïêè "Ñáðîñèòü èçìåíåíèÿ" |
171 | void on_pushButton_5_clicked();// íàæàòèå êíîïêè "Äîáàâèòü ìîäåëü " |
173 | void on_pushButton_5_clicked();// íàæàòèå êíîïêè "Äîáàâèòü ìîäåëü " |
172 | void on_pushButton_6_clicked();// íàæàòèå êíîïêè "Óäàëèòü ìîäåëü " |
174 | void on_pushButton_6_clicked();// íàæàòèå êíîïêè "Óäàëèòü ìîäåëü " |
173 | void on_pushButton_7_clicked();// íàæàòèå êíîïêè "Ïðèìåíèòü" (íà âêëàäêå ìîäåëåé) |
175 | void on_pushButton_7_clicked();// íàæàòèå êíîïêè "Ïðèìåíèòü" (íà âêëàäêå ìîäåëåé) |
174 | void on_pushButton_8_clicked();// íàæàòèå êíîïêè "Îòìåíèòü" (íà âêëàäêå ìîäåëåé) |
176 | void on_pushButton_8_clicked();// íàæàòèå êíîïêè "Îòìåíèòü" (íà âêëàäêå ìîäåëåé) |
175 | void on_sql_mogel_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ); // èçìåíèëè ñâîéñòâà îáúåêòà èëè äîáàâèëè íîâûé îáúåêò |
177 | void on_sql_mogel_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ); // èçìåíèëè ñâîéñòâà îáúåêòà èëè äîáàâèëè íîâûé îáúåêò |
176 | void on_model_for_ListModelsTable_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ); // èçìåíèëè ñâîéñòâà îáúåêòà èëè äîáàâèëè íîâûé îáúåêò |
178 | void on_model_for_ListModelsTable_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ); // èçìåíèëè ñâîéñòâà îáúåêòà èëè äîáàâèëè íîâûé îáúåêò |
177 | void applySetting(); |
179 | void applySetting(); |
178 | void getSetting(); // îòêðîåì îêíî íàñòðîåê |
180 | void getSetting(); // îòêðîåì îêíî íàñòðîåê |
179 | }; |
181 | }; |
180 | 182 | ||
181 | 183 | ||
182 | 184 | ||
183 | 185 | ||
184 | #endif // MAINWINDOW_H
|
186 | #endif // MAINWINDOW_H
|
185 | 187 |