#ifndef ATTRIBUTESELECTOR_H #define ATTRIBUTESELECTOR_H #include "global.h" #include "messageDialog.h" #include QT_BEGIN_NAMESPACE namespace Ui { class AttributeSelector; } QT_END_NAMESPACE class MainWindow; class AttributeView; class CustomBorderContainer; class AttributeSelector : public QDialog { Q_OBJECT public: AttributeSelector(const QString& connection = "", QWidget *parent = nullptr); ~AttributeSelector(); void setMainWindow(MainWindow*); protected: void showEvent(QShowEvent*) override; bool eventFilter(QObject*, QEvent*) override; private slots: void onBtnClicked_search(); void onBtnClicked_refreshData(); void onBtnClicked_submitSelect(); void onBtnClicked_cancleSelect(); void onBtnClicked_firstPage(); void onBtnClicked_previousPage(); void onBtnClicked_nextPage(); void onBtnClicked_lastPage(); void onEditingFinished_page(); void onEditingFinished_attributeType(); void onComboBoxTextChanged_model(const QString&); void onComboBoxTextChanged_group(const QString&); void onSyncDataStatus(bool, const PaginationInfo&); void onShowMessage(MessageDialogType,const QString&,const QString&); private: void iniData(); void refresh(); Ui::AttributeSelector *ui; MainWindow* m_pMainWindow; AttributeView* m_attributeView; CustomBorderContainer* m_customBorderContainer; bool m_isFirstShow; QString m_connection; QString m_fliterChars_type; QString m_curModelName; QString m_curGroupName; signals: void completeSelection(QVector>); }; #endif //ATTRIBUTESELECTOR_H