PowerModeler/include/dbStructureView.h

56 lines
1.5 KiB
C++

#ifndef DBSTRUCTUREVIEW_H
#define DBSTRUCTUREVIEW_H
#include "global.h"
#include <QTreeView>
class MainWindow;
class DatabaseManager;
class DBStructureNode;
class DBStructureView : public QTreeView
{
Q_OBJECT
public:
explicit DBStructureView(DatabaseManager* dbManager, QWidget* parent = nullptr);
~DBStructureView();
void setMainWindow(MainWindow*);
DBStructureNode* currentNode();
void disconnectCurConnection();
const QString curConnection();
void onActionTrigger_removeModel();
void onActionTrigger_refresh();
protected:
void mouseDoubleClickEvent(QMouseEvent* event) override;
private:
MainWindow* m_pMainWindow;
DatabaseManager* m_dbManager;
QString m_curConnection; //用来记录当前链接,只能存在一个链接
void initView();
void openConnection(const QString&);
void connectToDB(const QString&);
void disconnectToDB(const QString&);
void removeNode(DBStructureNode*);
void openAttributeGroup(DBStructureNode*);
void closeAttributeGroup(DBStructureNode*);
signals:
void actionTrigger_addModel();
void acitonTrigger_updateModel(int);
void actionTrigger_addGroup(int);
void openAttributeInfo(const QString&, ModelAttributeGroup&);
void closeAttributeInfo(ModelAttributeGroup&);
void disconnect();
private slots:
void itemDoubleClick(const QModelIndex&);
void showContextMenu(const QPoint&);
void onSIG_updateConnectionName(const QString& oldName, const QString& newName);
};
#endif //DBSTRUCTUREVIEW_H