Хранилища Subversion OpenInventory

Редакция

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

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