class EventsModel;
class PlayersModel;
+class FormationsModel;
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
- MainWindow(EventsModel *events, PlayersModel *players);
+ MainWindow(EventsModel *events, PlayersModel *players,
+ FormationsModel *offensive_formations, FormationsModel *defensive_formations);
private:
void position_changed(uint64_t pos);
void seek(int64_t delta_ms);
- void insert_event(int button_id);
+ void insert_player_event(int button_id);
+ void insert_noplayer_event(const std::string &type);
void set_current_event_type(const std::string &type);
+ void insert_or_change_formation(bool offense);
void delete_current_event();
void make_substitution();
- void update_status();
+ void formation_double_clicked(bool offense, unsigned row);
+
+ void update_ui_from_time(uint64_t t);
+ void update_status(uint64_t t);
+ void update_player_buttons(uint64_t t);
+ void update_action_buttons(uint64_t t);
Ui::MainWindow *ui;
EventsModel *events;
PlayersModel *players;
+ FormationsModel *offensive_formations;
+ FormationsModel *defensive_formations;
bool seeking = false;
bool playing = true;
std::optional<uint64_t> buffered_seek;