display buttons, motions and rotations of all axes v_0
authorFrantišek Kučera <franta-hg@frantovo.cz>
Thu, 07 Mar 2019 17:03:43 +0100
branchv_0
changeset 7 b6c0e1574a8b
parent 6 49560660d230
child 8 f351c261cbfd
display buttons, motions and rotations of all axes
src/SpacenavWindow.cpp
src/SpacenavWindow.ui
--- a/src/SpacenavWindow.cpp	Thu Mar 07 16:20:51 2019 +0100
+++ b/src/SpacenavWindow.cpp	Thu Mar 07 17:03:43 2019 +0100
@@ -22,6 +22,21 @@
 	widget.setupUi(this);
 	resize(640, 480);
 	setWindowTitle("Spacenav Demo");
+
+	std::vector<QCheckBox*> buttons{ widget.button0, widget.button1};
+	for (QCheckBox* b : buttons) b->setEnabled(false);
+
+	std::vector<QProgressBar*> motions{
+		widget.motionX, widget.motionY, widget.motionZ,
+		widget.rotationX, widget.rotationY, widget.rotationZ
+	};
+
+	for (QProgressBar* m : motions) {
+		m->setMinimum(-500);
+		m->setMaximum(500);
+		m->setValue(0);
+		m->setFormat("%v");
+	}
 }
 
 SpacenavWindow::~SpacenavWindow() {
@@ -29,10 +44,15 @@
 
 void SpacenavWindow::spacenavMotionEvent(SpacenavWrapper::Event::MotionEvent e) {
 	setWindowTitle("m event!");
+	widget.motionX->setValue(e.x);
+	widget.motionY->setValue(e.y);
+	widget.motionZ->setValue(e.z);
+	widget.rotationX->setValue(e.rx);
+	widget.rotationY->setValue(e.ry);
+	widget.rotationZ->setValue(e.rz);
 }
 
 void SpacenavWindow::spacenavButtonEvent(SpacenavWrapper::Event::ButtonEvent e) {
-	setWindowTitle("b event!");
 	if (e.number == 0) widget.button0->setChecked(e.pressed);
 	if (e.number == 1) widget.button1->setChecked(e.pressed);
 }
--- a/src/SpacenavWindow.ui	Thu Mar 07 16:20:51 2019 +0100
+++ b/src/SpacenavWindow.ui	Thu Mar 07 17:03:43 2019 +0100
@@ -6,66 +6,145 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>800</width>
-    <height>600</height>
+    <width>579</width>
+    <height>346</height>
    </rect>
   </property>
   <property name="windowTitle">
    <string>SpacenavWindow</string>
   </property>
   <widget class="QWidget" name="centralwidget">
-   <widget class="QDial" name="dial">
-    <property name="geometry">
-     <rect>
-      <x>130</x>
-      <y>40</y>
-      <width>111</width>
-      <height>111</height>
-     </rect>
-    </property>
-   </widget>
-   <widget class="QPushButton" name="button0">
-    <property name="geometry">
-     <rect>
-      <x>40</x>
-      <y>40</y>
-      <width>80</width>
-      <height>111</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>left</string>
-    </property>
-    <property name="checkable">
-     <bool>true</bool>
-    </property>
-    <property name="checked">
-     <bool>false</bool>
-    </property>
-   </widget>
-   <widget class="QPushButton" name="button1">
-    <property name="geometry">
-     <rect>
-      <x>260</x>
-      <y>40</y>
-      <width>80</width>
-      <height>111</height>
-     </rect>
-    </property>
-    <property name="text">
-     <string>right</string>
-    </property>
-    <property name="checkable">
-     <bool>true</bool>
-    </property>
-   </widget>
+   <layout class="QFormLayout" name="formLayout">
+    <item row="0" column="0">
+     <widget class="QLabel" name="button0label">
+      <property name="text">
+       <string>Button</string>
+      </property>
+     </widget>
+    </item>
+    <item row="0" column="1">
+     <widget class="QCheckBox" name="button0">
+      <property name="text">
+       <string>left</string>
+      </property>
+     </widget>
+    </item>
+    <item row="1" column="0">
+     <widget class="QLabel" name="button1label">
+      <property name="text">
+       <string>Button</string>
+      </property>
+     </widget>
+    </item>
+    <item row="1" column="1">
+     <widget class="QCheckBox" name="button1">
+      <property name="text">
+       <string>right</string>
+      </property>
+     </widget>
+    </item>
+    <item row="2" column="0">
+     <widget class="QLabel" name="motionLabel">
+      <property name="text">
+       <string>Motion:</string>
+      </property>
+     </widget>
+    </item>
+    <item row="3" column="0">
+     <widget class="QLabel" name="motionXlabel">
+      <property name="text">
+       <string>X</string>
+      </property>
+     </widget>
+    </item>
+    <item row="3" column="1">
+     <widget class="QProgressBar" name="motionX"/>
+    </item>
+    <item row="4" column="0">
+     <widget class="QLabel" name="motionYlabel">
+      <property name="text">
+       <string>Y</string>
+      </property>
+     </widget>
+    </item>
+    <item row="5" column="0">
+     <widget class="QLabel" name="motionZlabel">
+      <property name="text">
+       <string>Z</string>
+      </property>
+     </widget>
+    </item>
+    <item row="8" column="0">
+     <widget class="QLabel" name="RotationLabel">
+      <property name="text">
+       <string>Rotation:</string>
+      </property>
+     </widget>
+    </item>
+    <item row="11" column="0">
+     <widget class="QLabel" name="rotationYlabel">
+      <property name="text">
+       <string>Y</string>
+      </property>
+     </widget>
+    </item>
+    <item row="12" column="0">
+     <widget class="QLabel" name="rotationZlabel">
+      <property name="text">
+       <string>Z</string>
+      </property>
+     </widget>
+    </item>
+    <item row="4" column="1">
+     <widget class="QProgressBar" name="motionY">
+      <property name="value">
+       <number>24</number>
+      </property>
+     </widget>
+    </item>
+    <item row="5" column="1">
+     <widget class="QProgressBar" name="motionZ">
+      <property name="value">
+       <number>24</number>
+      </property>
+     </widget>
+    </item>
+    <item row="11" column="1">
+     <widget class="QProgressBar" name="rotationY">
+      <property name="value">
+       <number>24</number>
+      </property>
+     </widget>
+    </item>
+    <item row="10" column="1">
+     <widget class="QProgressBar" name="rotationX">
+      <property name="value">
+       <number>24</number>
+      </property>
+     </widget>
+    </item>
+    <item row="10" column="0">
+     <widget class="QLabel" name="rotationXlabel">
+      <property name="text">
+       <string>X</string>
+      </property>
+     </widget>
+    </item>
+    <item row="12" column="1">
+     <widget class="QProgressBar" name="rotationZ">
+      <property name="value">
+       <number>24</number>
+      </property>
+     </widget>
+    </item>
+   </layout>
   </widget>
   <widget class="QMenuBar" name="menubar">
    <property name="geometry">
     <rect>
      <x>0</x>
      <y>0</y>
-     <width>800</width>
+     <width>579</width>
      <height>23</height>
     </rect>
    </property>