PowerModeler/include/dbStructureView.h

53 lines
1.3 KiB
C
Raw Normal View History

2025-03-14 16:06:20 +08:00
#ifndef DBSTRUCTUREVIEW_H
#define DBSTRUCTUREVIEW_H
#include "global.h"
2025-03-14 16:06:20 +08:00
#include <QTreeView>
class MainWindow;
2025-03-14 16:06:20 +08:00
class DatabaseManager;
class DBStructureNode;
2025-03-14 16:06:20 +08:00
class DBStructureView : public QTreeView
{
Q_OBJECT
public:
explicit DBStructureView(DatabaseManager* dbManager, QWidget* parent = nullptr);
~DBStructureView();
void setMainWindow(MainWindow*);
2025-04-18 18:44:26 +08:00
DBStructureNode* currentNode();
2025-03-14 16:06:20 +08:00
void disconnectCurConnection();
const QString curConnection();
void onActionTrigger_removeModel();
2025-03-14 16:06:20 +08:00
protected:
void mouseDoubleClickEvent(QMouseEvent* event) override;
private:
MainWindow* m_pMainWindow;
2025-03-14 16:06:20 +08:00
DatabaseManager* m_dbManager;
QString m_curConnection; //用来记录当前链接,只能存在一个链接
void initView();
void openConnection(const QString&);
2025-03-14 16:06:20 +08:00
void connectToDB(const QString&);
void disconnectToDB(const QString&);
void removeNode(DBStructureNode*);
2025-03-24 19:55:01 +08:00
void openAttributeGroup(DBStructureNode*);
2025-04-17 15:34:43 +08:00
void closeAttributeGroup(DBStructureNode*);
2025-03-14 16:06:20 +08:00
signals:
void actionTrigger_addModel();
2025-04-18 18:44:26 +08:00
void actionTrigger_addGroup(int);
void openAttributeInfo(const QString&, ModelAttributeGroup&);
2025-04-17 15:34:43 +08:00
void closeAttributeInfo(ModelAttributeGroup&);
void disconnect();
2025-03-14 16:06:20 +08:00
private slots:
void itemDoubleClick(const QModelIndex&);
void showContextMenu(const QPoint&);
};
#endif //DBSTRUCTUREVIEW_H