: QMainWindow(parent), ui(new Ui::MainWindow)
{
ui->setupUi(this);
- qDebug("Start test");
+ qDebug("Connect mouse");
try
{
- mouse = new XYPlotter("ttyUSB1");
- connect(ui->movebutton, SIGNAL(clicked()), this, SLOT(moveMouse()));
- ui->movebutton->setEnabled(true);
+ mouse = new XYPlotter("ttyUSB3");
+ connect(ui->mousebutton, SIGNAL(clicked()), this, SLOT(moveMouse()));
+ ui->mousebutton->setEnabled(true);
}
catch (ErrorMessage e)
{
mouse = NULL;
- qDebug(e.what());
+ qDebug() << QString(e.what());
+ }
+ qDebug() << "Connect keyboard";
+ try
+ {
+ keyboard = new LivingKeyboard("ttyUSB2");
+ connect(ui->keyboardbutton, SIGNAL(clicked()), this, SLOT(translateKeyboard()));
+ connect(ui->rotation, SIGNAL(valueChanged(int)), this, SLOT(rotateKeyboard(int)));
+ ui->keyboardbutton->setEnabled(true);
+ }
+ catch (ErrorMessage e)
+ {
+ keyboard = NULL;
+ qDebug() << QString(e.what());
}
}
mouse->moveTo(0, 0, false);
delete mouse;
}
+ if (keyboard)
+ delete keyboard;
delete ui;
}
if (mouse)
mouse->moveTo(x, y, toolup);
}
+
+void MainWindow::translateKeyboard()
+{
+ unsigned int distance = ui->translation->value();
+ if (keyboard)
+ {
+ qDebug() << "translate keyboard " << QString::number(distance);
+ if (distance > 0)
+ keyboard->translation(LivingKeyboard::FORWARD, distance);
+ else
+ keyboard->translation(LivingKeyboard::BACKWARD, distance);
+ }
+}
+
+void MainWindow::rotateKeyboard(int angle)
+{
+ if (keyboard)
+ {
+ qDebug() << "rotate keyboard " << QString::number(angle);
+ if (angle > 0)
+ keyboard->rotation(LivingKeyboard::RIGHT, angle);
+ else
+ keyboard->rotation(LivingKeyboard::LEFT, angle);
+ }
+}
<x>0</x>
<y>0</y>
<width>400</width>
- <height>300</height>
+ <height>388</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralWidget">
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>X</string>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="title">
+ <string>Mouse</string>
</property>
+ <layout class="QFormLayout" name="formLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>X</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="xvalue">
+ <property name="maximum">
+ <number>2000</number>
+ </property>
+ <property name="singleStep">
+ <number>100</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="text">
+ <string>Y</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="yvalue">
+ <property name="maximum">
+ <number>2000</number>
+ </property>
+ <property name="singleStep">
+ <number>100</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QCheckBox" name="toolupvalue">
+ <property name="text">
+ <string>Tool Up</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Z</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
</widget>
</item>
- <item row="0" column="1">
- <widget class="QSpinBox" name="xvalue">
- <property name="maximum">
- <number>2000</number>
- </property>
- <property name="singleStep">
- <number>100</number>
- </property>
- </widget>
- </item>
- <item row="3" column="0" colspan="2">
- <widget class="QPushButton" name="movebutton">
+ <item>
+ <widget class="QPushButton" name="mousebutton">
<property name="enabled">
<bool>false</bool>
</property>
</property>
</widget>
</item>
- <item row="1" column="1">
- <widget class="QSpinBox" name="yvalue">
- <property name="maximum">
- <number>2000</number>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
</property>
- <property name="singleStep">
- <number>100</number>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
</property>
- </widget>
+ </spacer>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Y</string>
+ <item>
+ <widget class="QGroupBox" name="groupBox_2">
+ <property name="title">
+ <string>Keyboard</string>
</property>
+ <layout class="QFormLayout" name="formLayout_2">
+ <property name="fieldGrowthPolicy">
+ <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
+ </property>
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Tilt</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSlider" name="rotation">
+ <property name="minimum">
+ <number>-180</number>
+ </property>
+ <property name="maximum">
+ <number>180</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Translation$</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="translation">
+ <property name="minimum">
+ <number>-100</number>
+ </property>
+ <property name="maximum">
+ <number>100</number>
+ </property>
+ <property name="singleStep">
+ <number>10</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
</widget>
</item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Z</string>
+ <item>
+ <widget class="QPushButton" name="keyboardbutton">
+ <property name="enabled">
+ <bool>false</bool>
</property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QCheckBox" name="toolupvalue">
<property name="text">
- <string>Tool Up</string>
+ <string>Move</string>
</property>
</widget>
</item>
</widget>
</widget>
<layoutdefault spacing="6" margin="11"/>
+ <tabstops>
+ <tabstop>xvalue</tabstop>
+ <tabstop>yvalue</tabstop>
+ <tabstop>toolupvalue</tabstop>
+ <tabstop>mousebutton</tabstop>
+ <tabstop>rotation</tabstop>
+ <tabstop>translation</tabstop>
+ <tabstop>keyboardbutton</tabstop>
+ </tabstops>
<resources/>
<connections/>
</ui>