MetroPresenter.hpp
1 #pragma once
2 #include <Process/Focus/FocusDispatcher.hpp>
3 #include <Process/LayerPresenter.hpp>
4 
5 #include <Media/Metro/MetroCommands.hpp>
6 #include <Media/Metro/MetroView.hpp>
7 
8 namespace Media
9 {
10 namespace Metro
11 {
12 class Model;
13 class Presenter final : public Process::LayerPresenter
14 {
15 public:
16  explicit Presenter(
17  const Process::ProcessModel& model, View* view, const Process::Context& ctx,
18  QObject* parent)
19  : LayerPresenter{model, view, ctx, parent}
20  , m_view{view}
21  {
22  putToFront();
23  }
24 
25  void setWidth(qreal width, qreal defaultWidth) override { m_view->setWidth(width); }
26  void setHeight(qreal val) override { m_view->setHeight(val); }
27 
28  void putToFront() override { m_view->setVisible(true); }
29 
30  void putBehind() override { m_view->setVisible(false); }
31 
32  void on_zoomRatioChanged(ZoomRatio r) override { }
33 
34  void parentGeometryChanged() override { }
35 
36 private:
37  View* m_view{};
38 };
39 }
40 }
Definition: MetroPresenter.hpp:14
Definition: MetroView.hpp:16
Definition: LayerPresenter.hpp:34
The Process class.
Definition: score-lib-process/Process/Process.hpp:61
Definition: ProcessContext.hpp:12