Хранилища Subversion OpenInventory

Редакция

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

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