Reworked the way qml create sliders
[apps/mixer.git] / app / audiorole.hpp
diff --git a/app/audiorole.hpp b/app/audiorole.hpp
new file mode 100644 (file)
index 0000000..afc3665
--- /dev/null
@@ -0,0 +1,38 @@
+#ifndef AUDIOROLE_H
+#define AUDIOROLE_H
+
+#include <QObject>
+
+class AudioRole
+       : public QObject
+{
+       Q_OBJECT
+       Q_PROPERTY(QString name READ Name WRITE setName NOTIFY NameChanged)
+       Q_PROPERTY(int value READ Value WRITE setValue NOTIFY ValueChanged)
+
+private:
+       QString m_Name;
+       int m_Value;
+       int m_Updating;
+
+public:
+       explicit AudioRole(QObject* parent = nullptr);
+       explicit AudioRole(const QString& name, int value, QObject* parent = nullptr);
+
+       QString Name() const;
+       void setName(const QString& name);
+
+       int Value() const;
+       void setValue(int value);
+
+       void BeginUpdate();
+       void EndUpdate();
+
+signals:
+       void NameChanged();
+       void ValueChanged();
+
+public slots:
+};
+
+#endif // AUDIOROLE_H