#pragma once #include #include "ScenarioComponent.hpp" namespace Hardware { struct StateWidget final : QObject , ScenarioComponentSpec { explicit StateWidget(Scenario::StateModel& state, ScenarioWidget* scenario, bugui::container_widget* parent); ~StateWidget() override; int y() const override { return m_y; } int get_absolute_y() { return m_absolute_y; }; void set_y(); private: W_OBJECT(StateWidget) QMetaObject::Connection con; void set_span_recursive(); void paint(bugui::painter& painter) const override; bool contains(int px, int py) const override; void on_press(int x, int y, bool pressed) override; void on_double_press(int x, int y) override; void on_drag(int from_x, int from_y, int to_x, int to_y) override; void set_absolute_y(); int m_absolute_y; int m_y; }; } //namespace Hardware