score-addon-hardware/Hardware/Widgets/ScenarioWidget.hpp

38 lines
1 KiB
C++
Raw Normal View History

2024-12-28 17:53:59 +00:00
#pragma once
#include <Scenario/Process/ScenarioModel.hpp>
2024-12-31 16:11:11 +00:00
#include <widgets/container_widget.hpp>
2024-12-28 17:53:59 +00:00
namespace Hardware
{
class ScenarioWidget final : public bugui::container_widget
, public Nano::Observer
2024-12-28 17:53:59 +00:00
{
public:
explicit ScenarioWidget(Scenario::ProcessModel* scenario,
bugui::container_widget* parent);
2024-12-28 17:53:59 +00:00
2025-01-19 19:11:10 +00:00
int x() const override
{ return bugui::base_widget::parent->x(); }
int y() const override
{ return bugui::base_widget::parent->y(); }
int width() const override
{ return std::numeric_limits<int>::max(); }
int height() const override { return 15; }
2024-12-28 17:53:59 +00:00
2025-01-19 19:11:10 +00:00
Scenario::ProcessModel* get_model() const { return model; }
2024-12-28 17:53:59 +00:00
private:
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};
2025-01-16 02:00:26 +00:00
const Process::Style& skin;
2024-12-28 17:53:59 +00:00
};
} // namespace Hardware