Rev 107 |
Rev 110 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| Download
| RSS feed
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
//#include "mysql.h"
#include <QMainWindow>
#include <QStandardItemModel>
#include <QStandardItem>
#include <QTreeWidgetItem>
#include <QTextCodec>
#include <QSqlDatabase>
#include <QtGui>
#include <QString>
#include <QtSql>
/*
#include <QSqlField>
#include <QSqlRecord>
#include <QSqlTableModel>
#include <QSqlQueryModel>
#include <QTableView>
#include <QSqlDriverPlugin>
#include <QIcon>
#include <QVariant>
#include <QProcess>
#include <QByteArray>
*/
typedef struct Class {
QString name;
QString ID;
} TClass;
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
void changeEvent(QEvent *e);
private:
Ui::MainWindow *ui;
QList<QTreeWidgetItem *> root_items_list;
QStandardItemModel *model;
QStandardItem *item;
QTreeWidgetItem *rootItem1, *rootItem2;
void openBase();
bool readModel();
void setupModelData(const QStringList &lines, QTreeWidgetItem *parent);
void creatModelString();
QString modelString; // ñòðîêà, îïèñûâàþùàÿ ìîäåëü ïðåäñòàâëåíèÿ
void addChildsString(QTreeWidgetItem *parentItem, int level);
QSqlDatabase sql;
bool openDataBase();
bool buildPreviewModel(QString modelName, QString rootClassID);
bool rebuildPreviewModel(QTreeWidgetItem* root_item, QString rootClassID);
QString ClassName(QString class_id); //âîçâðàùàåò èìÿ êëàññà ïî åãî ID
void addChildsItems(QTreeWidgetItem *perent_class_item); // äîáîâëÿåì ê ýëåìåíòó äåðåâà â êà÷åñòâå äî÷åðíèõ ýëåìåíòîâ âñå êëàññû, äëÿ êîòîðûõ êëàññ ýëåìåíòà ÿâëÿåòñÿ êîíòåéíåðîì
QStringList classChields(QString class_id);
QMap <QString, QString> getClassList(); // ïîëó÷àåì ñïèñîê êëàññîâ
void initComboBox();
QList<QTreeWidgetItem *> rootItems; // ñïèñîê óêàçàòåëåé êîðíåâûõ óçëîâ (ìîäåëåé)
QMap <QString, QString> class_list_map;
void getDatabaseData();
void buildTree(QTreeWidgetItem * model_item);
QString getClassInctance(QString class_id); // ïîëó÷àåì èìÿ òàáëèöû - õðàíèëèùà îáúåêòîâ êëàññà
void showClassObjects(QTreeWidgetItem * parent_item, QTreeWidgetItem * model_item); // îòîáðàçèì îáúåêòû äî÷åðíèõ êëàññîâ
private slots:
void on_comboBox_currentIndexChanged( int index );
void on_treeWidget_itemChanged ( QTreeWidgetItem * item, int column );
void on_treeWidget_itemClicked ( QTreeWidgetItem * item, int column );
};
#endif // MAINWINDOW_H