#pragma once #include #include #include namespace Hardware { class ScenarioWidget final : public bugui::base_widget , public QObject { W_OBJECT(ScenarioWidget) public: explicit ScenarioWidget(bugui::base_widget* parent, Scenario::ProcessModel* scenario); void paint(bugui::painter& painter) const override; bool on_press(int x, int y, bool pressed) override; bool on_double_press(int x, int y) override; bool on_drag(int from_x, int from_y, int to_x, int to_y) override; int x() const override; int y() const override; int width() const override; int height() const override; private: void on_interval_added(Scenario::IntervalModel& interval); void on_interval_removed(const Scenario::IntervalModel& interval); void on_interval_changed(const Scenario::IntervalModel&); std::vector> widgets; Scenario::ProcessModel* model; }; } // namespace Hardware