2#include <ossia/network/base/parameter.hpp> 
    4#include <ossia-qt/device/qml_node_base.hpp> 
    5#include <ossia-qt/qml_context.hpp> 
    9#include <QQmlPropertyValueSource> 
   19class OSSIA_EXPORT qml_property
 
   20    : 
public qml_property_base
 
   21    , 
public QQmlPropertyValueSource
 
   23  W_OBJECT(qml_property)
 
   24  W_INTERFACE(QQmlPropertyValueSource)
 
   27  qml_property(QQuickItem* parent = 
nullptr);
 
   28  ~qml_property() 
override;
 
   30  void setTarget(
const QQmlProperty& prop) 
override;
 
   31  void resetNode() 
override;
 
   32  void setDevice(QObject* device) 
override;
 
   34  qml_val_type::val_type valueType() 
const;
 
   35  qml_access_mode::access_mode access() 
const;
 
   36  qml_bounding_mode::bounding_mode bounding() 
const;
 
   37  qml_rep_filter::repetition_filter filterRepetitions() 
const;
 
   40  QVariantList values() 
const;
 
   45      E_SIGNAL(OSSIA_EXPORT, setValue_sig, arg_1);
 
   47  void valueTypeChanged(qml_val_type::val_type valueType)
 
   48      E_SIGNAL(OSSIA_EXPORT, valueTypeChanged, valueType);
 
   49  void accessChanged(qml_access_mode::access_mode access)
 
   50      E_SIGNAL(OSSIA_EXPORT, accessChanged, access);
 
   51  void boundingChanged(qml_bounding_mode::bounding_mode bounding)
 
   52      E_SIGNAL(OSSIA_EXPORT, boundingChanged, bounding);
 
   53  void filterRepetitionsChanged(qml_rep_filter::repetition_filter filterRepetitions)
 
   54      E_SIGNAL(OSSIA_EXPORT, filterRepetitionsChanged, filterRepetitions);
 
   55  void minChanged(QVariant min) E_SIGNAL(OSSIA_EXPORT, minChanged, min);
 
   56  void maxChanged(QVariant max) E_SIGNAL(OSSIA_EXPORT, maxChanged, max);
 
   57  void valuesChanged(QVariantList values) E_SIGNAL(OSSIA_EXPORT, valuesChanged, values);
 
   58  void unitChanged(QString unit) E_SIGNAL(OSSIA_EXPORT, unitChanged, unit);
 
   61  void qtVariantChanged();
 
   62  W_SLOT(qtVariantChanged);
 
   63  void setValue_slot(
const value&);
 
   64  W_SLOT(setValue_slot);
 
   66  void setValueType(qml_val_type::val_type valueType);
 
   68  void setAccess(qml_access_mode::access_mode access);
 
   70  void setBounding(qml_bounding_mode::bounding_mode bounding);
 
   72  void setFilterRepetitions(qml_rep_filter::repetition_filter filterRepetitions);
 
   73  W_SLOT(setFilterRepetitions);
 
   74  void setMin(QVariant min);
 
   76  void setMax(QVariant max);
 
   78  void setValues(QVariantList values);
 
   80  void setUnit(QString unit);
 
   87      m_valueType = std::nullopt;
 
   90  W_SLOT(resetValueType)
 
   95      m_access = std::nullopt;
 
  103      m_bounding = std::nullopt;
 
  106  W_SLOT(resetBounding)
 
  107  void resetFilterRepetitions()
 
  109    if(m_filterRepetitions)
 
  111      m_filterRepetitions = std::nullopt;
 
  114  W_SLOT(resetFilterRepetitions)
 
  115  void resetMin() { setMin(QVariant{}); };
 
  117  void resetMax() { setMax(QVariant{}); };
 
  123      m_values = std::nullopt;
 
  131      m_values = std::nullopt;
 
  136  void node_destroyed();
 
  137  W_SLOT(node_destroyed);
 
  140  void setupAddress(
bool reading);
 
  143  QQmlProperty m_targetProperty;
 
  144  std::optional<qml_val_type::val_type> m_valueType{};
 
  145  std::optional<qml_access_mode::access_mode> m_access{};
 
  146  std::optional<qml_bounding_mode::bounding_mode> m_bounding{};
 
  147  std::optional<qml_rep_filter::repetition_filter> m_filterRepetitions{};
 
  150  std::optional<QVariantList> m_values{};
 
  151  std::optional<QString> m_unit{};
 
  152  bool m_updatingFromSetValue{};
 
  156      values READ values WRITE setValues NOTIFY valuesChanged RESET resetValues, W_Final)
 
  159      QVariant, max READ max WRITE setMax NOTIFY maxChanged RESET resetMax, W_Final)
 
  162      QVariant, min READ min WRITE setMin NOTIFY minChanged RESET resetMin, W_Final)
 
  165      ossia::qt::qml_rep_filter::repetition_filter,
 
  166      filterRepetitions READ filterRepetitions WRITE setFilterRepetitions NOTIFY
 
  167          filterRepetitionsChanged RESET resetFilterRepetitions,
 
  171      ossia::qt::qml_bounding_mode::bounding_mode,
 
  172      bounding READ bounding WRITE setBounding NOTIFY boundingChanged RESET
 
  177      ossia::qt::qml_access_mode::access_mode,
 
  178      access READ access WRITE setAccess NOTIFY accessChanged RESET resetAccess, W_Final)
 
  181      ossia::qt::qml_val_type::val_type,
 
  182      valueType READ valueType WRITE setValueType NOTIFY valueTypeChanged RESET
 
  187      QString, unit READ unit WRITE setUnit NOTIFY unitChanged RESET resetUnit, W_Final)
 
The value class.
Definition value.hpp:173
OSSIA_INLINE constexpr auto min(const T a, const U b) noexcept -> typename std::conditional<(sizeof(T) > sizeof(U)), T, U >::type
min function tailored for values
Definition math.hpp:125
OSSIA_INLINE constexpr auto max(const T a, const U b) noexcept -> typename std::conditional<(sizeof(T) > sizeof(U)), T, U >::type
max function tailored for values
Definition math.hpp:96