score-addon-hardware/Hardware/Widgets/ScenarioWidget.hpp
2025-01-16 02:00:26 +00:00

36 lines
953 B
C++

#pragma once
#include <Scenario/Process/ScenarioModel.hpp>
#include <widgets/container_widget.hpp>
namespace Hardware
{
class ScenarioWidget final : public bugui::container_widget
, public Nano::Observer
{
public:
explicit ScenarioWidget(Scenario::ProcessModel* scenario,
bugui::container_widget* parent);
int x() const override;
int y() const override;
int width() const override;
int height() const override;
Scenario::ProcessModel* get_model() const;
private:
void paint(bugui::painter& painter) const override;
void on_interval_added(Scenario::IntervalModel& interval);
void on_interval_removed(const Scenario::IntervalModel& interval);
void on_time_sync_added(Scenario::TimeSyncModel& timeSync);
void on_time_sync_removed(const Scenario::TimeSyncModel& timeSync);
Scenario::ProcessModel* model{nullptr};
const Process::Style& skin;
};
} // namespace Hardware