#pragma once #include #include #include namespace Hardware { class ScenarioWidget final : public bugui::container_widget , public Nano::Observer , public QObject { W_OBJECT(ScenarioWidget) public: explicit ScenarioWidget(Scenario::ProcessModel* scenario, bugui::container_widget* parent); ~ScenarioWidget() override; int x() const override; int y() const override; int width() const override; int height() const override; Scenario::ProcessModel* get_model() const; private: void on_interval_added(Scenario::IntervalModel& interval); void on_interval_removed(const Scenario::IntervalModel& interval); void on_interval_changed(const Scenario::IntervalModel*); void on_time_sync_added(Scenario::TimeSyncModel& timeSync); void on_time_sync_removed(const Scenario::TimeSyncModel& timeSync); Scenario::ProcessModel* model{nullptr}; }; } // namespace Hardware