Хранилища Subversion OpenInventory

Редакция

Редакция 130 | Редакция 138 | К новейшей редакции | Только различия | Не учитывать пробелы | Содержимое файла | Авторство | Последнее изменение | Открыть журнал | RSS

Редакция 130 Редакция 132
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
-
 
-
 
8
#include "settingform.h"
9
#include "delegate.h"
9
#include "delegate.h"
10
10
11
#include <QMainWindow>
11
#include <QMainWindow>
12
#include <QStandardItemModel>
12
#include <QStandardItemModel>
13
#include <QStandardItem>
13
#include <QStandardItem>
14
#include <QTreeWidgetItem>
14
#include <QTreeWidgetItem>
15
#include <QTextCodec>
15
#include <QTextCodec>
16
#include <QSqlDatabase>
16
#include <QSqlDatabase>
17
17
18
#include <QtGui>
18
#include <QtGui>
19
#include <QString>
19
#include <QString>
20
#include <QtSql>
20
#include <QtSql>
21
#include <QFont>
21
#include <QFont>
22
#include <QColor>
22
#include <QColor>
23
#include <QItemDelegate>
23
#include <QItemDelegate>
24
24
25
25
26
/*
26
/*
27
#include <QSqlField>
27
#include <QSqlField>
28
#include <QSqlRecord>
28
#include <QSqlRecord>
29
#include <QSqlTableModel>
29
#include <QSqlTableModel>
30
#include <QSqlQueryModel>
30
#include <QSqlQueryModel>
31
#include <QTableView>
31
#include <QTableView>
32
#include <QSqlDriverPlugin>
32
#include <QSqlDriverPlugin>
33
#include <QIcon>
33
#include <QIcon>
34
#include <QVariant>
34
#include <QVariant>
35
#include <QProcess>
35
#include <QProcess>
36
#include <QByteArray>
36
#include <QByteArray>
37
*/
37
*/
38
38
39
typedef struct Class {
39
typedef struct Class {
40
        QString name;
40
        QString name;
41
        QString ID;
41
        QString ID;
42
42
43
} TClass;
43
} TClass;
44
44
45
45
46
46
47
47
48
namespace Ui {
48
namespace Ui {
49
    class MainWindow;
49
    class MainWindow;
50
}
50
}
51
51
52
class MainWindow : public QMainWindow {
52
class MainWindow : public QMainWindow {
53
    Q_OBJECT
53
    Q_OBJECT
54
public:
54
public:
55
    MainWindow(QWidget *parent = 0);
55
    MainWindow(QWidget *parent = 0);
56
    ~MainWindow();
56
    ~MainWindow();
57
57
58
protected:
58
protected:
59
    void changeEvent(QEvent *e);
59
    void changeEvent(QEvent *e);
60
60
61
private:
61
private:
62
    Ui::MainWindow *ui;
62
    Ui::MainWindow *ui;
63
63
-
 
64
        settingForm setFrm;
-
 
65
//ïåðåìåííûå äëÿ ñîåäèíåíèÿ ñ áàçîé
-
 
66
        QString baseName;
-
 
67
        QString hostName;
-
 
68
        QString userName;
-
 
69
        QString password;
-
 
70
        QString tableName;
-
 
71
-
 
72
        void readSettings();
-
 
73
        void writeSettings();
-
 
74
-
 
75
-
 
76
64
    QList<QTreeWidgetItem *> root_items_list;
77
    QList<QTreeWidgetItem *> root_items_list;
65
    QStandardItemModel *model;
78
    QStandardItemModel *model;
66
    QStandardItem *item;
79
    QStandardItem *item;
67
    QTreeWidgetItem *rootItem1, *rootItem2;
80
    QTreeWidgetItem *rootItem1, *rootItem2;
68
    void openBase();
81
    void openBase();
69
    bool readModel();
82
    bool readModel();
70
    void setupModelData(const QStringList &lines, QTreeWidgetItem *parent);
83
    void setupModelData(const QStringList &lines, QTreeWidgetItem *parent);
71
    void creatModelString();
84
    void creatModelString();
72
    QString modelString; // ñòðîêà, îïèñûâàþùàÿ ìîäåëü ïðåäñòàâëåíèÿ
85
    QString modelString; // ñòðîêà, îïèñûâàþùàÿ ìîäåëü ïðåäñòàâëåíèÿ
73
    void addChildsString(QTreeWidgetItem *parentItem, int level);
86
    void addChildsString(QTreeWidgetItem *parentItem, int level);
74
87
75
    QSqlDatabase sql;
88
    QSqlDatabase sql;
76
    bool model_is_build; // ôëàã ãîâîðèò, ïîñòðîåíà ëè ìîäêëü (true) èëè íåò  (false)
89
    bool model_is_build; // ôëàã ãîâîðèò, ïîñòðîåíà ëè ìîäêëü (true) èëè íåò  (false)
77
90
78
    bool openDataBase();
91
    bool openDataBase();
79
    bool buildPreviewModel(QString modelName, QString rootClassID);
92
    bool buildPreviewModel(QString modelName, QString rootClassID);
80
93
81
    bool rebuildPreviewModel(QTreeWidgetItem* root_item, QString rootClassID);
94
    bool rebuildPreviewModel(QTreeWidgetItem* root_item, QString rootClassID);
82
95
83
    QString ClassName(QString class_id); //âîçâðàùàåò èìÿ êëàññà ïî åãî ID
96
    QString ClassName(QString class_id); //âîçâðàùàåò èìÿ êëàññà ïî åãî ID
84
    void addChildsItems(QTreeWidgetItem *perent_class_item); // äîáîâëÿåì ê ýëåìåíòó äåðåâà â êà÷åñòâå äî÷åðíèõ ýëåìåíòîâ âñå êëàññû, äëÿ êîòîðûõ êëàññ ýëåìåíòà ÿâëÿåòñÿ êîíòåéíåðîì
97
    void addChildsItems(QTreeWidgetItem *perent_class_item); // äîáîâëÿåì ê ýëåìåíòó äåðåâà â êà÷åñòâå äî÷åðíèõ ýëåìåíòîâ âñå êëàññû, äëÿ êîòîðûõ êëàññ ýëåìåíòà ÿâëÿåòñÿ êîíòåéíåðîì
85
    QStringList classChields(QString class_id);
98
    QStringList classChields(QString class_id);
86
    QMap <QString, QString> getClassList(); // ïîëó÷àåì ñïèñîê êëàññîâ
99
    QMap <QString, QString> getClassList(); // ïîëó÷àåì ñïèñîê êëàññîâ
87
    QMap <QString, QString> getFieldsList(QString class_id); // ïîëó÷àåì ñïèñîê ïîëåé êëàññà
100
    QMap <QString, QString> getFieldsList(QString class_id); // ïîëó÷àåì ñïèñîê ïîëåé êëàññà
88
    void initComboBox();
101
    void initComboBox();
89
    QList<QTreeWidgetItem *> rootItems; // ñïèñîê óêàçàòåëåé êîðíåâûõ óçëîâ (ìîäåëåé)
102
    QList<QTreeWidgetItem *> rootItems; // ñïèñîê óêàçàòåëåé êîðíåâûõ óçëîâ (ìîäåëåé)
90
103
91
    /////// QSqlTableModel * sql_mogel;
104
    /////// QSqlTableModel * sql_mogel;
92
105
93
    MyModel  * sql_mogel;
106
    MyModel  * sql_mogel;
94
107
95
    int pointer_index; //èíäåêñ ïîëÿ-óêàçàòåëÿ íà ðîäèòåëüñêèé êëàññ
108
    int pointer_index; //èíäåêñ ïîëÿ-óêàçàòåëÿ íà ðîäèòåëüñêèé êëàññ
96
    QString parentObject_id;
109
    QString parentObject_id;
97
110
98
111
99
    QMap <QString, QString> class_list_map;
112
    QMap <QString, QString> class_list_map;
100
    void getDatabaseData();
113
    void getDatabaseData();
101
    void buildTree(QTreeWidgetItem * model_item);
114
    void buildTree(QTreeWidgetItem * model_item);
102
    QString getClassInctance(QString class_id); // ïîëó÷àåì èìÿ òàáëèöû - õðàíèëèùà îáúåêòîâ êëàññà
115
    QString getClassInctance(QString class_id); // ïîëó÷àåì èìÿ òàáëèöû - õðàíèëèùà îáúåêòîâ êëàññà
103
    void showClassObjects(QTreeWidgetItem * parent_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà
116
    void showClassObjects(QTreeWidgetItem * parent_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà
104
    void showObjectChildrens(QString object_ID, QTreeWidgetItem * object_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà
117
    void showObjectChildrens(QString object_ID, QTreeWidgetItem * object_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû êëàññîâà
105
    void showObjects(QTreeWidgetItem * parent_object_item, QTreeWidgetItem * model_item, QString filtr);// // îòîáðàçèì îáúåêòû êëàññîâà
118
    void showObjects(QTreeWidgetItem * parent_object_item, QTreeWidgetItem * model_item, QString filtr);// // îòîáðàçèì îáúåêòû êëàññîâà
106
    QString getPointerFieldName(QString parent_class_id, QString chield_class_id); // îïðåäåëÿåì èìÿ ïîëÿ, â êîòîðîì õðÿíÿòñÿ óêàçàòåëè íà îáúåêòû ðîäèòåëüñêîãî êëàññà
119
    QString getPointerFieldName(QString parent_class_id, QString chield_class_id); // îïðåäåëÿåì èìÿ ïîëÿ, â êîòîðîì õðÿíÿòñÿ óêàçàòåëè íà îáúåêòû ðîäèòåëüñêîãî êëàññà
107
120
108
    QMap <QString, QString> getPointersList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé-óêàçàòåëåé, â êà÷åñòâå êëþ÷åé ïîëó÷èì èìåíà ïîëåé-óêàçàòåëåé
121
    QMap <QString, QString> getPointersList(QString class_id); // ïîëó÷àåì ñïèñîê âñåõ ïîëåé-óêàçàòåëåé, â êà÷åñòâå êëþ÷åé ïîëó÷èì èìåíà ïîëåé-óêàçàòåëåé
109
                                                                // â êà÷åñòâå çíà÷åíèé ïîëó÷èì ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ
122
                                                                // â êà÷åñòâå çíà÷åíèé ïîëó÷èì ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ
110
    SpinBoxDelegate spinDelegate;
123
    SpinBoxDelegate spinDelegate;
111
    QItemDelegate standart_delegate;
124
    QItemDelegate standart_delegate;
112
125
-
 
126
-
 
127
-
 
128
-
 
129
-
 
130
-
 
131
-
 
132
113
private slots:
133
private slots:
114
    void on_comboBox_currentIndexChanged( int index );
134
    void on_comboBox_currentIndexChanged( int index );
115
    void on_treeWidget_itemChanged ( QTreeWidgetItem * item, int column );
135
    void on_treeWidget_itemChanged ( QTreeWidgetItem * item, int column );
116
    void on_treeWidget_itemClicked ( QTreeWidgetItem * item, int column );
136
    void on_treeWidget_itemClicked ( QTreeWidgetItem * item, int column );
117
    void on_treeWidget_2_itemClicked ( QTreeWidgetItem * item, int column );
137
    void on_treeWidget_2_itemClicked ( QTreeWidgetItem * item, int column );
118
    void on_pushButton_clicked(); // íàæàòèå êíîïêè "Äîáàâèòü îáúåêò"
138
    void on_pushButton_clicked(); // íàæàòèå êíîïêè "Äîáàâèòü îáúåêò"
119
    void on_pushButton_2_clicked();// íàæàòèå êíîïêè "Óäàëèòü âûäåëåííûå îáúåêòû"
139
    void on_pushButton_2_clicked();// íàæàòèå êíîïêè "Óäàëèòü âûäåëåííûå îáúåêòû"
120
    void on_pushButton_3_clicked();// íàæàòèå êíîïêè "Ïðèìåíèòü"
140
    void on_pushButton_3_clicked();// íàæàòèå êíîïêè "Ïðèìåíèòü"
121
    void on_pushButton_4_clicked();// íàæàòèå êíîïêè "Ñáðîñèòü èçìåíåíèÿ"
141
    void on_pushButton_4_clicked();// íàæàòèå êíîïêè "Ñáðîñèòü èçìåíåíèÿ"
122
    void on_sql_mogel_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ); // èçìåíèëè ñâîéñòâà îáúåêòà èëè äîáàâèëè íîâûé îáúåêò
142
    void on_sql_mogel_dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ); // èçìåíèëè ñâîéñòâà îáúåêòà èëè äîáàâèëè íîâûé îáúåêò
123
-
 
-
 
143
    void applySetting();
-
 
144
    void getSetting(); // îòêðîåì îêíî íàñòðîåê
124
};
145
};
125
146
126
147
127
148
128
149
129
#endif // MAINWINDOW_H
150
#endif // MAINWINDOW_H
130
 
151