improved desktop UI
[mardrone] / mardrone / dronelib / joystick.h
index 7cb8034..31b9c91 100644 (file)
@@ -12,8 +12,9 @@
 class JoyStick : public QObject
 {
     Q_OBJECT
-    Q_PROPERTY(bool haveJoyStick READ haveJoyStick NOTIFY joyStickChanged)
-    Q_PROPERTY(QString joyStickName READ joyStickName NOTIFY joyStickChanged)
+    Q_PROPERTY(bool haveJoyStick READ haveJoyStick NOTIFY joyStickConfigChanged)
+    Q_PROPERTY(bool calibrate READ calibrate WRITE setCalibrate NOTIFY joyStickConfigChanged)
+    Q_PROPERTY(QString joyStickName READ joyStickName NOTIFY joyStickConfigChanged)
     Q_PROPERTY(int rawAxis1  READ rawAxis1 NOTIFY joyStickChanged)
     Q_PROPERTY(int rawAxis2  READ rawAxis2 NOTIFY joyStickChanged)
     Q_PROPERTY(int rawAxis3  READ rawAxis3 NOTIFY joyStickChanged)
@@ -48,20 +49,19 @@ class JoyStick : public QObject
     Q_PROPERTY(float elevator READ axis2 NOTIFY joyStickChanged)
     Q_PROPERTY(float throtle  READ axis3 NOTIFY joyStickChanged)
     Q_PROPERTY(float rudder   READ axis4 NOTIFY joyStickChanged)
-    Q_PROPERTY(int   mapAxis1 READ mapAxis1 WRITE setMapAxis1 NOTIFY joyStickChanged)
-    Q_PROPERTY(int   mapAxis2 READ mapAxis2 WRITE setMapAxis2 NOTIFY joyStickChanged)
-    Q_PROPERTY(int   mapAxis3 READ mapAxis3 WRITE setMapAxis3 NOTIFY joyStickChanged)
-    Q_PROPERTY(int   mapAxis4 READ mapAxis4 WRITE setMapAxis4 NOTIFY joyStickChanged)
-    Q_PROPERTY(int   mapAxis5 READ mapAxis5 WRITE setMapAxis5 NOTIFY joyStickChanged)
-    Q_PROPERTY(int   mapAxis6 READ mapAxis6 WRITE setMapAxis6 NOTIFY joyStickChanged)
-    Q_PROPERTY(bool  invertAxis1 READ invertAxis1 WRITE setInvertAxis1 NOTIFY joyStickChanged)
-    Q_PROPERTY(bool  invertAxis2 READ invertAxis2 WRITE setInvertAxis2 NOTIFY joyStickChanged)
-    Q_PROPERTY(bool  invertAxis3 READ invertAxis3 WRITE setInvertAxis3 NOTIFY joyStickChanged)
-    Q_PROPERTY(bool  invertAxis4 READ invertAxis4 WRITE setInvertAxis4 NOTIFY joyStickChanged)
-    Q_PROPERTY(bool  invertAxis5 READ invertAxis5 WRITE setInvertAxis5 NOTIFY joyStickChanged)
-    Q_PROPERTY(bool  invertAxis6 READ invertAxis6 WRITE setInvertAxis6 NOTIFY joyStickChanged)
-    Q_PROPERTY(bool  calibrate READ calibrate  WRITE  setCalibrate)
-public:
+    Q_PROPERTY(int   mapAxis1 READ mapAxis1 WRITE setMapAxis1 NOTIFY joyStickConfigChanged)
+    Q_PROPERTY(int   mapAxis2 READ mapAxis2 WRITE setMapAxis2 NOTIFY joyStickConfigChanged)
+    Q_PROPERTY(int   mapAxis3 READ mapAxis3 WRITE setMapAxis3 NOTIFY joyStickConfigChanged)
+    Q_PROPERTY(int   mapAxis4 READ mapAxis4 WRITE setMapAxis4 NOTIFY joyStickConfigChanged)
+    Q_PROPERTY(int   mapAxis5 READ mapAxis5 WRITE setMapAxis5 NOTIFY joyStickConfigChanged)
+    Q_PROPERTY(int   mapAxis6 READ mapAxis6 WRITE setMapAxis6 NOTIFY joyStickConfigChanged)
+    Q_PROPERTY(bool  invertAxis1 READ invertAxis1 WRITE setInvertAxis1 NOTIFY joyStickConfigChanged)
+    Q_PROPERTY(bool  invertAxis2 READ invertAxis2 WRITE setInvertAxis2 NOTIFY joyStickConfigChanged)
+    Q_PROPERTY(bool  invertAxis3 READ invertAxis3 WRITE setInvertAxis3 NOTIFY joyStickConfigChanged)
+    Q_PROPERTY(bool  invertAxis4 READ invertAxis4 WRITE setInvertAxis4 NOTIFY joyStickConfigChanged)
+    Q_PROPERTY(bool  invertAxis5 READ invertAxis5 WRITE setInvertAxis5 NOTIFY joyStickConfigChanged)
+    Q_PROPERTY(bool  invertAxis6 READ invertAxis6 WRITE setInvertAxis6 NOTIFY joyStickConfigChanged)
+   public:
     explicit JoyStick(QObject *parent = 0);
     ~JoyStick();
     // JoyStick configuration
@@ -109,18 +109,18 @@ public:
         int invertAxis4() { return m_invertAxis4; };
         int invertAxis5() { return m_invertAxis5; };
         int invertAxis6() { return m_invertAxis6; };
-        void setInvertAxis1(bool val) { m_invertAxis1=val; };
-        void setInvertAxis2(bool val) { m_invertAxis2=val; };
-        void setInvertAxis3(bool val) { m_invertAxis3=val; };
-        void setInvertAxis4(bool val) { m_invertAxis4=val; };
-        void setInvertAxis5(bool val) { m_invertAxis5=val; };
-        void setInvertAxis6(bool val) { m_invertAxis6=val; };
-        void setMapAxis1(int val) { m_mapAxis[0]=val; };
-        void setMapAxis2(int val) { m_mapAxis[1]=val; };
-        void setMapAxis3(int val) { m_mapAxis[2]=val; };
-        void setMapAxis4(int val) { m_mapAxis[3]=val; };
-        void setMapAxis5(int val) { m_mapAxis[4]=val; };
-        void setMapAxis6(int val) { m_mapAxis[5]=val; };
+        void setInvertAxis1(bool val) { m_invertAxis1=val;emit joyStickConfigChanged(); };
+        void setInvertAxis2(bool val) { m_invertAxis2=val;emit joyStickConfigChanged(); };
+        void setInvertAxis3(bool val) { m_invertAxis3=val;emit joyStickConfigChanged(); };
+        void setInvertAxis4(bool val) { m_invertAxis4=val;emit joyStickConfigChanged(); };
+        void setInvertAxis5(bool val) { m_invertAxis5=val;emit joyStickConfigChanged(); };
+        void setInvertAxis6(bool val) { m_invertAxis6=val;emit joyStickConfigChanged(); };
+        void setMapAxis1(int val) { if(m_mapAxis[0]!=val) emit joyStickConfigChanged();m_mapAxis[0]=val; };
+        void setMapAxis2(int val) { if(m_mapAxis[1]!=val) emit joyStickConfigChanged();m_mapAxis[1]=val; };
+        void setMapAxis3(int val) { if(m_mapAxis[2]!=val) emit joyStickConfigChanged();m_mapAxis[2]=val; };
+        void setMapAxis4(int val) { if(m_mapAxis[3]!=val) emit joyStickConfigChanged();m_mapAxis[3]=val; };
+        void setMapAxis5(int val) { if(m_mapAxis[4]!=val) emit joyStickConfigChanged();m_mapAxis[4]=val; };
+        void setMapAxis6(int val) { if(m_mapAxis[5]!=val) emit joyStickConfigChanged();m_mapAxis[5]=val; };
         float getMapped(int axis);
         void setMapped(int axis,float value);
         bool calibrate()  { return m_joyCal; };
@@ -131,6 +131,7 @@ public:
 
 signals:
     void joyStickChanged();
+    void joyStickConfigChanged();
 public slots:
     void updateJoyStick();
 private: