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