PowerModeler/include/dbStructureModel.h

53 lines
1.8 KiB
C
Raw Normal View History

2025-03-14 16:06:20 +08:00
#ifndef DBSTRUCTUREMODEL_H
#define DBSTRUCTUREMODEL_H
#include <QAbstractItemModel>
#include <QTreeWidgetItem>
#include "dbStructureNode.h"
#include "global.h"
2025-03-14 16:06:20 +08:00
class MainWindow;
2025-03-14 16:06:20 +08:00
class DBStructureModel : public QAbstractItemModel
{
Q_OBJECT
public:
explicit DBStructureModel(QObject* parent = nullptr);
~DBStructureModel();
void setMainWindow(MainWindow*);
2025-03-14 16:06:20 +08:00
//QAbstractItemModel接口实现
QModelIndex index(int row, int column, const QModelIndex& parent) const override;
QModelIndex parent(const QModelIndex& index) const override;
int rowCount(const QModelIndex& parent = QModelIndex()) const override;
int columnCount(const QModelIndex& parent = QModelIndex()) const override;
QVariant data(const QModelIndex& index, int role) const override;
QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
//业务功能接口
2025-05-26 16:50:46 +08:00
void addConnection(const QString& name, const QString& connID);
void removeConnection(const QString& name);
2025-03-14 16:06:20 +08:00
QModelIndex getConnNodeIndex(const QString& name);
void addDataModel(const QString& connection, Model& model);
void removeDataModel(DBStructureNode*);
2025-04-18 18:44:26 +08:00
void addDataGroup(const QString& connection, int modelID, QVector<int> groups);
2025-04-17 15:34:43 +08:00
void removeDataGroup(DBStructureNode*);
2025-03-14 16:06:20 +08:00
signals:
void errorOccurred(const QString& strConnectionName);
public slots:
void refreshStructure_Connection(const QString& connection); //刷新某个链接的数据(比如刷新、关闭或者手动刷新时)
private:
DBStructureNode* getNode(const QModelIndex& index) const;
DBStructureNode* getConnectionNode(const QString& name) const;
2025-04-18 18:44:26 +08:00
DBStructureNode* getModelNode(DBStructureNode* connNode, int modelID) const;
2025-03-14 16:06:20 +08:00
MainWindow* m_pMainWindow;
2025-03-14 16:06:20 +08:00
DBStructureNode* m_rootNode;
};
#endif //DBSTRUCTUREMODEL_H