#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include "global.h" #include "messageDialog.h" class DatabaseManager; class DatabaseBrowser; class ConnectionDialog; class DBStructureView; class DBStructureModel; class ModelInfoEditDialog; class GroupSelectionDialog; class AttributeSelector; QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); void showMessageDialog(MessageDialogType,const QString&,const QString&); void hideMessageDialog(); const QString getCurConnection(); protected: bool eventFilter(QObject*, QEvent*) override; void resizeEvent(QResizeEvent*) override; private: void initialize(); Ui::MainWindow *ui; DatabaseManager* m_dbManager; DatabaseBrowser* m_dbBrowser; QSqlError m_lastSqlError; MessageDialog* m_pMessageDialog; ConnectionDialog* m_pConnectionDialog; DBStructureView* m_pDBStrutureView; DBStructureModel* m_pDBStrutureModel; ModelInfoEditDialog* m_pModelInfoDialog; GroupSelectionDialog* m_pGroupSelectionDialog; AttributeSelector* m_pAttributeSelector; private slots: void onActionTrigger_connect(); void onActionTrigger_disconnect(); void onActionTrigger_addModel(); void onActionTrigger_updateModel(int); void onActionTrigger_removeModel(); void onActionTrigger_refresh(); void onActionTrigger_addGroup(int); void onSIG_addConnection(const DatabaseConfig&); void onSIG_updateConnectionInfo(const DatabaseConfig&); void onSIG_errorFromDBManger(const QString& strConnectionName, const QString& error); void onSIG_errorFormSQLExecutor(const QString& error); void onSIG_connectionStatusChanged(const QString& strConnectionName, bool bConnected); void onSIG_addModel(Model&); void onSIG_addGroups(int, QVector); void onSIG_updateModelNodeText(int, const QString&, const QString&); void onSIG_updateModelGroups(int, const QVector&, const QVector&); //void onSIG_addAttributes(); void onSIG_openAttributeInfo(const QString&, ModelAttributeGroup&); void onSIG_closeAttributeInfo(ModelAttributeGroup&); void onSIG_disconnect(); void onSIG_openAttributeSelector(); }; #endif // MAINWINDOW_H