48 lines
1.2 KiB
C++
48 lines
1.2 KiB
C++
#ifndef DIRECTORIES_MANAGEMENT_WIDGET_H
|
|
#define DIRECTORIES_MANAGEMENT_WIDGET_H
|
|
|
|
#include "ui_directories_management_widget.h"
|
|
#include <QWidget>
|
|
|
|
// Forward declaration
|
|
class HallsModel;
|
|
class MoviesModel;
|
|
class GenresModel;
|
|
class HallsRepositoryInterface;
|
|
class MoviesRepositoryInterface;
|
|
class GenresRepositoryInterface;
|
|
|
|
class DirectoriesManagementWidget : public QWidget,
|
|
private Ui::DirectoriesManagementWidget {
|
|
Q_OBJECT
|
|
|
|
private:
|
|
GenresModel *genresModel_;
|
|
GenresRepositoryInterface *genresRepository_;
|
|
HallsModel *hallsModel_;
|
|
HallsRepositoryInterface *hallsRepository_;
|
|
MoviesModel *moviesModel_;
|
|
MoviesRepositoryInterface *moviesRepository_;
|
|
qint32 selectedGenreId_;
|
|
qint32 selectedHallId_;
|
|
qint32 selectedMovieId_;
|
|
|
|
public:
|
|
explicit DirectoriesManagementWidget(QWidget *parent = nullptr);
|
|
|
|
private:
|
|
void initializeModels();
|
|
void initializeRepositories();
|
|
void setupConnections();
|
|
void setupGenreFinder();
|
|
void setupTableViews();
|
|
|
|
private slots:
|
|
void onGenreFieldRetrieved(const QSqlField &field);
|
|
void onPushButtonAddGenreClicked();
|
|
void onPushButtonAddHallClicked();
|
|
void onPushButtonAddMovieClicked();
|
|
};
|
|
|
|
#endif // DIRECTORIES_MANAGEMENT_WIDGET_H
|