MinMaxFloatPort.hpp
1 #pragma once
2 #include <Process/Dataflow/Port.hpp>
3 #include <Process/Dataflow/WidgetInlets.hpp>
4 
5 namespace Process
6 {
7 class MinMaxFloatOutlet;
8 }
9 
10 UUID_METADATA(
11  SCORE_LIB_PROCESS_EXPORT, Process::Port, Process::MinMaxFloatOutlet,
12  "047e4cc2-4d99-4e8b-bf98-206018d02274")
13 namespace Process
14 {
15 class SCORE_LIB_PROCESS_EXPORT MinMaxFloatOutlet : public ValueOutlet
16 {
17  W_OBJECT(MinMaxFloatOutlet)
18 
19  SCORE_SERIALIZE_FRIENDS
20 public:
21  MODEL_METADATA_IMPL_HPP(MinMaxFloatOutlet)
22  MinMaxFloatOutlet() = delete;
23  ~MinMaxFloatOutlet() override;
24  MinMaxFloatOutlet(const MinMaxFloatOutlet&) = delete;
25  MinMaxFloatOutlet(Id<Process::Port> c, QObject* parent);
26 
27  MinMaxFloatOutlet(DataStream::Deserializer& vis, QObject* parent);
28  MinMaxFloatOutlet(JSONObject::Deserializer& vis, QObject* parent);
29  MinMaxFloatOutlet(DataStream::Deserializer&& vis, QObject* parent);
30  MinMaxFloatOutlet(JSONObject::Deserializer&& vis, QObject* parent);
31 
32  Device::FullAddressAccessorSettings settings() const noexcept override;
33  void setSettings(const Device::FullAddressAccessorSettings& set) noexcept override;
34 
35  void forChildInlets(const smallfun::function<void(Inlet&)>& f) const noexcept override;
36  void mapExecution(
37  ossia::outlet& e,
38  const smallfun::function<void(Inlet&, ossia::inlet&)>& f) const noexcept override;
39 
40  VIRTUAL_CONSTEXPR PortType type() const noexcept override
41  {
42  return Process::PortType::Message;
43  }
44 
45  std::unique_ptr<Process::FloatSlider> minInlet;
46  std::unique_ptr<Process::FloatSlider> maxInlet;
47 };
48 }
Definition: DataStreamVisitor.hpp:202
Definition: JSONVisitor.hpp:423
Definition: Port.hpp:102
Definition: QmlObjects.hpp:376
The id_base_t class.
Definition: Identifier.hpp:57
Manipulation of Devices from Qt.
Definition: AddressSettings.cpp:14
Base classes and tools to implement processes and layers.
Definition: JSONVisitor.hpp:1324
Definition: AddressSettings.hpp:131