Хранилища Subversion OpenInventory

Редакция

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

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