Хранилища Subversion OpenInventory

Редакция

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

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