#ifndef FUNCTIONSPAGE_H #define FUNCTIONSPAGE_H #include #include #include class PgLabTableView; class PgDatabaseCatalog; class ProcTableModel; class CustomFilterSortModel; class QTabWidget; class SqlCodePreview; class PgProc; class CatalogFunctionsPage : public QSplitter { Q_OBJECT public: explicit CatalogFunctionsPage(QWidget *parent = nullptr); void setCatalog(std::shared_ptr cat); signals: public slots: void functionTable_currentRowChanged(const QModelIndex ¤t, const QModelIndex &previous); private: PgLabTableView *m_functionTable = nullptr; QTabWidget *m_detailTabs = nullptr; SqlCodePreview *m_definitionView = nullptr; ProcTableModel *m_model = nullptr; CustomFilterSortModel *m_sortFilterProxy = nullptr; std::shared_ptr m_catalog; void retranslateUi(); void selectedProcChanged(const std::optional &proc); void updateSqlTab(const std::optional &proc); }; #endif // FUNCTIONSPAGE_H