Хранилища Subversion OpenInventory

Редакция

Редакция 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