#ifndef SESSION_MANAGEMENT_WIDGET_H #define SESSION_MANAGEMENT_WIDGET_H #include "ui_session_management_widget.h" #include // Forward declaration class SessionsModel; class SessionsRepositoryInterface; class SessionManagementWidget : public QWidget, private Ui::SessionManagementWidget { Q_OBJECT private: SessionsModel *sessionsModel_; SessionsRepositoryInterface *sessionsRepository_; qint32 selectedHallId_; qint32 selectedMovieId_; public: explicit SessionManagementWidget(QWidget *parent = nullptr); private: void initializeRepositories(); void initializeModels(); void setupConnections(); void setupHallFinder(); void setupMovieFinder(); void setupTableView(); private slots: void onPushButtonAddSessionClicked(); void onHallFieldRetrieved(const QSqlField &field); void onMovieFieldRetrieved(const QSqlField &field); }; #endif // SESSION_MANAGEMENT_WIDGET_H