kopia lustrzana https://github.com/FreeSpacenav/spnavcfg
Progress on the new Qt GUI
rodzic
a44577892a
commit
0c38320f1a
|
@ -4,3 +4,4 @@
|
|||
Makefile
|
||||
spnavcfg
|
||||
ui_mainwin.h
|
||||
res.cc
|
||||
|
|
11
Makefile.in
11
Makefile.in
|
@ -1,14 +1,16 @@
|
|||
csrc = $(wildcard src/*.c)
|
||||
ccsrc = $(wildcard src/*.cc)
|
||||
mochdr = src/ui.h
|
||||
mocsrc = $(mochdr:.h=.moc.cc)
|
||||
obj = $(ccsrc:.cc=.o) $(mocsrc:.cc=.o)
|
||||
dep = $(ccsrc:.cc=.d)
|
||||
obj = $(csrc:.c=.o) $(ccsrc:.cc=.o) $(mocsrc:.cc=.o) res.cc
|
||||
dep = $(csrc:.c=.d) $(ccsrc:.cc=.d)
|
||||
bin = spnavcfg
|
||||
|
||||
CC ?= gcc
|
||||
CXX ?= g++
|
||||
UIC ?= uic
|
||||
MOC ?= moc
|
||||
RCC ?= rcc
|
||||
|
||||
warn = -pedantic -Wall
|
||||
incdir = -I.
|
||||
|
@ -30,9 +32,12 @@ ui_mainwin.h: ui/spnavcfg.ui
|
|||
%.moc.cc: %.h
|
||||
$(MOC) -o $@ $(incdir) $<
|
||||
|
||||
res.cc: ui/spnavcfg.qrc icons/devices.png
|
||||
$(RCC) -o $@ $<
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f $(obj) $(bin) $(mocsrc) win_main_ui.h
|
||||
rm -f $(obj) $(bin) $(mocsrc) win_main_ui.h res.cc
|
||||
|
||||
.PHONY: cleandep
|
||||
cleandep:
|
||||
|
|
14
README.md
14
README.md
|
@ -5,7 +5,7 @@ About
|
|||
-----
|
||||
Spacenav daemon interactive configuration program.
|
||||
|
||||
![shot](http://spacenav.sourceforge.net/images/spnavcfg-shot-thumb.png)
|
||||
![shot](http://spacenav.sourceforge.net/images/spnavcfg1-shot-thumb.png)
|
||||
|
||||
|
||||
Compatibility
|
||||
|
@ -29,9 +29,15 @@ which will work with older versions of the daemon is 0.3.1.
|
|||
|
||||
Installation
|
||||
------------
|
||||
Requires libspnav, GTK+ 2, and Xlib headers to be installed.
|
||||
`./configure`, `make`, `make install`, as usual (the `make install` part as root
|
||||
if you're installing system-wide). See `./configure --help` for build options.
|
||||
First make sure you have the dependencies installed:
|
||||
- libspnav v0.4 or higher
|
||||
- Qt 5 (core, gui, and widgets).
|
||||
|
||||
To build just run `./configure`, `make`, and `make install` as usual.
|
||||
The `make install` part will probably need to be executed as root, if you're
|
||||
installing system-wide.
|
||||
|
||||
For build options, see `./configure --help`.
|
||||
|
||||
License
|
||||
-------
|
||||
|
|
Plik binarny nie jest wyświetlany.
41
src/main.cc
41
src/main.cc
|
@ -1,7 +1,14 @@
|
|||
#include <QApplication>
|
||||
#include <QSocketNotifier>
|
||||
#define SPNAV_CONFIG_H_
|
||||
#include <spnav.h>
|
||||
#include "spnavcfg.h"
|
||||
#include "ui.h"
|
||||
|
||||
QWidget *mainwin;
|
||||
static bool init();
|
||||
|
||||
MainWin *mainwin;
|
||||
static QSocketNotifier *sockev;
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
|
@ -12,5 +19,37 @@ int main(int argc, char **argv)
|
|||
w.show();
|
||||
mainwin = &w;
|
||||
|
||||
if(!init()) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return app.exec();
|
||||
}
|
||||
|
||||
static bool init()
|
||||
{
|
||||
if(spnav_open() == -1) {
|
||||
errorbox("Failed to connect to spacenavd!");
|
||||
return false;
|
||||
}
|
||||
if(spnav_protocol() < 1) {
|
||||
errorbox("Currently running version of spacenavd is too old for this version of the configuration tool.\n"
|
||||
"\nEither update to a recent version of spacenavd (v0.9 or later), or downgrade to spnavcfg v0.3.1.");
|
||||
return false;
|
||||
}
|
||||
spnav_client_name("spnavcfg");
|
||||
|
||||
if(read_devinfo(&devinfo) == -1) {
|
||||
errorbox("Failed to read device info.");
|
||||
return false;
|
||||
}
|
||||
if(read_cfg(&cfg) == -1) {
|
||||
errorbox("Failed to read current configuration.");
|
||||
return false;
|
||||
}
|
||||
|
||||
sockev = new QSocketNotifier(spnav_fd(), QSocketNotifier::Read);
|
||||
QObject::connect(sockev, &QSocketNotifier::activated, mainwin, &MainWin::spnav_input);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
#include <string.h>
|
||||
#include <spnav.h>
|
||||
#include "spnavcfg.h"
|
||||
#include "ui.h"
|
||||
|
||||
struct device_info devinfo;
|
||||
struct config cfg;
|
||||
|
||||
int read_devinfo(struct device_info *inf)
|
||||
{
|
||||
inf->name = strdup(spnav_dev_name(0, 0));
|
||||
inf->path = strdup(spnav_dev_path(0, 0));
|
||||
inf->nbuttons = spnav_dev_buttons();
|
||||
inf->naxes = spnav_dev_axes();
|
||||
inf->type = spnav_dev_type();
|
||||
}
|
||||
|
||||
int read_cfg(struct config *cfg)
|
||||
{
|
||||
int i;
|
||||
|
||||
cfg->sens = spnav_cfg_get_sens();
|
||||
spnav_cfg_get_axis_sens(cfg->sens_axis);
|
||||
cfg->invert = spnav_cfg_get_invert();
|
||||
cfg->led = spnav_cfg_get_led();
|
||||
cfg->grab = spnav_cfg_get_grab();
|
||||
|
||||
for(i=0; i<6; i++) {
|
||||
cfg->map_axis[i] = spnav_cfg_get_axismap(i);
|
||||
}
|
||||
for(i=0; i<MAX_AXES; i++) {
|
||||
cfg->dead_thres[i] = spnav_cfg_get_deadzone(i);
|
||||
}
|
||||
for(i=0; i<MAX_BUTTONS; i++) {
|
||||
cfg->map_bn[i] = spnav_cfg_get_bnmap(i);
|
||||
}
|
||||
|
||||
update_ui();
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
#ifndef SPNAVCFG_H_
|
||||
#define SPNAVCFG_H_
|
||||
|
||||
struct device_info {
|
||||
char *name, *path;
|
||||
int nbuttons, naxes;
|
||||
int type;
|
||||
};
|
||||
|
||||
enum {TX, TY, TZ, RX, RY, RZ};
|
||||
#define MAX_BUTTONS 64
|
||||
#define MAX_AXES 64
|
||||
|
||||
struct config {
|
||||
float sens, sens_axis[6];
|
||||
int invert;
|
||||
int map_axis[MAX_AXES];
|
||||
int dead_thres[MAX_AXES];
|
||||
int map_bn[MAX_BUTTONS];
|
||||
int led, grab;
|
||||
int repeat;
|
||||
};
|
||||
|
||||
extern struct device_info devinfo;
|
||||
extern struct config cfg;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
int read_devinfo(struct device_info *inf);
|
||||
int read_cfg(struct config *cfg);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* SPNAVCFG_H_ */
|
192
src/ui.cc
192
src/ui.cc
|
@ -1,14 +1,206 @@
|
|||
#include <stdio.h>
|
||||
#define SPNAV_CONFIG_H_
|
||||
#include <spnav.h>
|
||||
#include "ui.h"
|
||||
#include "spnavcfg.h"
|
||||
#include "ui_mainwin.h"
|
||||
#include <QMessageBox>
|
||||
|
||||
static QSlider *slider_sens_axis[6];
|
||||
static QCheckBox *chk_inv[6];
|
||||
static QComboBox *combo_axismap[6];
|
||||
static QDoubleSpinBox *spin_sens_axis[6];
|
||||
static QSpinBox *spin_dead_axis[6];
|
||||
static QProgressBar *prog_axis[6];
|
||||
static QPixmap *dev_atlas;
|
||||
|
||||
|
||||
struct device_image {
|
||||
int devtype;
|
||||
int width, height;
|
||||
int xoffs, yoffs;
|
||||
};
|
||||
static struct device_image devimglist[] = {
|
||||
{SPNAV_DEV_UNKNOWN, 150, 150, 0, 0},
|
||||
{SPNAV_DEV_SB2003, 150, 150, 1, 0},
|
||||
{SPNAV_DEV_SB3003, 150, 150, 2, 0},
|
||||
{SPNAV_DEV_SB4000, 150, 150, 3, 0},
|
||||
{SPNAV_DEV_SM, 150, 150, 5, 0},
|
||||
{SPNAV_DEV_SM5000, 150, 150, 2, 0},
|
||||
{SPNAV_DEV_SMCADMAN, 150, 150, 6, 0},
|
||||
{SPNAV_DEV_PLUSXT, 150, 150, 5, 0},
|
||||
{SPNAV_DEV_CADMAN, 150, 150, 6, 0},
|
||||
{SPNAV_DEV_SMCLASSIC, 150, 150, 4, 0},
|
||||
{SPNAV_DEV_SB5000, 150, 150, 3, 0},
|
||||
{SPNAV_DEV_STRAVEL, 150, 150, 2, 1},
|
||||
{SPNAV_DEV_SPILOT, 150, 150, 3, 1},
|
||||
{SPNAV_DEV_SNAV, 150, 150, 0, 1},
|
||||
{SPNAV_DEV_SEXP, 150, 150, 4, 1},
|
||||
{SPNAV_DEV_SNAVNB, 150, 150, 1, 1},
|
||||
{SPNAV_DEV_SPILOTPRO, 150, 150, 5, 1},
|
||||
{SPNAV_DEV_SMPRO, 150, 150, 6, 1},
|
||||
{SPNAV_DEV_NULOOQ, 150, 150, 7, 0},
|
||||
{SPNAV_DEV_SMW, 150, 150, 1, 2},
|
||||
{SPNAV_DEV_SMPROW, 150, 150, 6, 1},
|
||||
{SPNAV_DEV_SMENT, 150, 150, 7, 1},
|
||||
{SPNAV_DEV_SMCOMP, 150, 150, 0, 2},
|
||||
{SPNAV_DEV_SMMOD, 150, 150, 0, 0},
|
||||
{-1}
|
||||
};
|
||||
|
||||
|
||||
MainWin::MainWin(QWidget *par)
|
||||
: QWidget(par)
|
||||
{
|
||||
ui = new Ui::win_main;
|
||||
ui->setupUi(this);
|
||||
|
||||
dev_atlas = new QPixmap(":/icons/devices.png");
|
||||
|
||||
slider_sens_axis[0] = ui->slider_sens_tx;
|
||||
slider_sens_axis[1] = ui->slider_sens_ty;
|
||||
slider_sens_axis[2] = ui->slider_sens_tz;
|
||||
slider_sens_axis[3] = ui->slider_sens_rx;
|
||||
slider_sens_axis[4] = ui->slider_sens_ry;
|
||||
slider_sens_axis[5] = ui->slider_sens_rz;
|
||||
|
||||
chk_inv[0] = ui->chk_inv_tx;
|
||||
chk_inv[1] = ui->chk_inv_ty;
|
||||
chk_inv[2] = ui->chk_inv_tz;
|
||||
chk_inv[3] = ui->chk_inv_rx;
|
||||
chk_inv[4] = ui->chk_inv_ry;
|
||||
chk_inv[5] = ui->chk_inv_rz;
|
||||
|
||||
combo_axismap[0] = ui->combo_axismap_tx;
|
||||
combo_axismap[1] = ui->combo_axismap_ty;
|
||||
combo_axismap[2] = ui->combo_axismap_tz;
|
||||
combo_axismap[3] = ui->combo_axismap_rx;
|
||||
combo_axismap[4] = ui->combo_axismap_ry;
|
||||
combo_axismap[5] = ui->combo_axismap_rz;
|
||||
|
||||
spin_dead_axis[0] = ui->spin_dead_tx;
|
||||
spin_dead_axis[1] = ui->spin_dead_ty;
|
||||
spin_dead_axis[2] = ui->spin_dead_tz;
|
||||
spin_dead_axis[3] = ui->spin_dead_rx;
|
||||
spin_dead_axis[4] = ui->spin_dead_ry;
|
||||
spin_dead_axis[5] = ui->spin_dead_rz;
|
||||
|
||||
spin_sens_axis[0] = ui->spin_sens_tx;
|
||||
spin_sens_axis[1] = ui->spin_sens_ty;
|
||||
spin_sens_axis[2] = ui->spin_sens_tz;
|
||||
spin_sens_axis[3] = ui->spin_sens_rx;
|
||||
spin_sens_axis[4] = ui->spin_sens_ry;
|
||||
spin_sens_axis[5] = ui->spin_sens_rz;
|
||||
|
||||
prog_axis[0] = ui->prog_tx;
|
||||
prog_axis[1] = ui->prog_ty;
|
||||
prog_axis[2] = ui->prog_tz;
|
||||
prog_axis[3] = ui->prog_rx;
|
||||
prog_axis[4] = ui->prog_ry;
|
||||
prog_axis[5] = ui->prog_rz;
|
||||
}
|
||||
|
||||
MainWin::~MainWin()
|
||||
{
|
||||
delete ui;
|
||||
delete dev_atlas;
|
||||
}
|
||||
|
||||
void MainWin::updateui()
|
||||
{
|
||||
struct device_image devimg = devimglist[0];
|
||||
for(int i=0; devimglist[i].devtype != -1; i++) {
|
||||
if(devimglist[i].devtype == devinfo.type) {
|
||||
devimg = devimglist[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
int ncol = dev_atlas->width() / devimg.width;
|
||||
int nrow = dev_atlas->height() / devimg.height;
|
||||
devimg.xoffs = devimg.xoffs * dev_atlas->width() / ncol;
|
||||
devimg.yoffs = devimg.yoffs * dev_atlas->height() / nrow;
|
||||
|
||||
QPixmap pix = dev_atlas->copy(devimg.xoffs, devimg.yoffs, devimg.width, devimg.height);
|
||||
ui->img_dev->setPixmap(pix);
|
||||
|
||||
ui->lb_devname->setText(devinfo.name);
|
||||
ui->lb_devfile->setText(devinfo.path);
|
||||
ui->lb_numaxes->setText(QString::number(devinfo.naxes));
|
||||
ui->lb_numbn->setText(QString::number(devinfo.nbuttons));
|
||||
|
||||
ui->combo_led->setCurrentIndex(cfg.led);
|
||||
ui->chk_grab->setChecked(cfg.grab);
|
||||
if(cfg.repeat > 0) {
|
||||
ui->chk_repeat->setChecked(true);
|
||||
ui->spin_repeat->setValue(cfg.repeat);
|
||||
} else {
|
||||
ui->chk_repeat->setChecked(false);
|
||||
}
|
||||
|
||||
ui->slider_sens->setValue(cfg.sens * 10);
|
||||
ui->spin_sens->setValue(cfg.sens);
|
||||
for(int i=0; i<6; i++) {
|
||||
slider_sens_axis[i]->setValue(cfg.sens_axis[i] * 10);
|
||||
spin_sens_axis[i]->setValue(cfg.sens_axis[i]);
|
||||
chk_inv[i]->setChecked((cfg.invert >> i) & 1);
|
||||
|
||||
combo_axismap[i]->clear();
|
||||
for(int j=0; j<devinfo.naxes; j++) {
|
||||
combo_axismap[i]->addItem(QString::number(j));
|
||||
}
|
||||
for(int j=0; j<devinfo.naxes; j++) {
|
||||
if(cfg.map_axis[j] == i) {
|
||||
combo_axismap[i]->setCurrentIndex(j);
|
||||
spin_dead_axis[i]->setValue(cfg.dead_thres[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool same = true;
|
||||
for(int i=0; i<devinfo.naxes; i++) {
|
||||
if(i > 0 && cfg.dead_thres[i] != cfg.dead_thres[i - 1]) {
|
||||
same = false;
|
||||
}
|
||||
}
|
||||
|
||||
ui->spin_dead->setValue(same ? cfg.dead_thres[0] : 0);
|
||||
ui->chk_dead_global->setChecked(same);
|
||||
}
|
||||
|
||||
void MainWin::spnav_input()
|
||||
{
|
||||
static int maxval = 256;
|
||||
spnav_event ev;
|
||||
|
||||
while(spnav_poll_event(&ev)) {
|
||||
switch(ev.type) {
|
||||
case SPNAV_EVENT_MOTION:
|
||||
for(int i=0; i<6; i++) {
|
||||
if(abs(ev.motion.data[i] > maxval)) maxval = abs(ev.motion.data[i]);
|
||||
}
|
||||
for(int i=0; i<6; i++) {
|
||||
prog_axis[i]->setMinimum(-maxval);
|
||||
prog_axis[i]->setMaximum(maxval);
|
||||
prog_axis[i]->setValue(ev.motion.data[i]);
|
||||
}
|
||||
break;
|
||||
|
||||
case SPNAV_EVENT_BUTTON:
|
||||
// TODO
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" void update_ui(void)
|
||||
{
|
||||
mainwin->updateui();
|
||||
}
|
||||
|
||||
extern "C" void errorbox(const char *msg)
|
||||
{
|
||||
QMessageBox::critical(mainwin, "Error", msg, QMessageBox::Ok);
|
||||
}
|
||||
|
|
25
src/ui.h
25
src/ui.h
|
@ -1,7 +1,13 @@
|
|||
#ifndef UI_H_
|
||||
#define UI_H_
|
||||
|
||||
#include "ui_mainwin.h"
|
||||
#ifdef __cplusplus
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
namespace Ui {
|
||||
class win_main;
|
||||
}
|
||||
|
||||
class MainWin : public QWidget {
|
||||
Q_OBJECT
|
||||
|
@ -12,6 +18,23 @@ private:
|
|||
public:
|
||||
explicit MainWin(QWidget *par = 0);
|
||||
~MainWin();
|
||||
|
||||
void updateui();
|
||||
|
||||
public slots:
|
||||
void spnav_input();
|
||||
};
|
||||
|
||||
extern MainWin *mainwin;
|
||||
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void update_ui(void);
|
||||
void errorbox(const char *msg);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* UI_H_ */
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
<!DOCTYPE RCC>
|
||||
<RCC version="1.0">
|
||||
<qresource>
|
||||
<file>../icons/devices.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
724
ui/spnavcfg.ui
724
ui/spnavcfg.ui
|
@ -6,8 +6,8 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>816</width>
|
||||
<height>650</height>
|
||||
<width>800</width>
|
||||
<height>667</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
|
@ -159,12 +159,12 @@
|
|||
<widget class="QComboBox" name="combo_led">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>On</string>
|
||||
<string>Off</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Off</string>
|
||||
<string>On</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
|
@ -295,7 +295,7 @@
|
|||
<item>
|
||||
<widget class="QTabWidget" name="tabWidget_2">
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab_axes" native="true">
|
||||
<attribute name="title">
|
||||
|
@ -327,11 +327,24 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDoubleSpinBox" name="spin_sens">
|
||||
<property name="maximum">
|
||||
<double>10.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Preferred</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
|
@ -350,6 +363,42 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Preferred</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="chk_dead_global">
|
||||
<property name="text">
|
||||
<string>Global deadzone</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="spin_dead">
|
||||
<property name="toolTip">
|
||||
<string>Deadzone for all axes</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>255</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
|
@ -358,10 +407,72 @@
|
|||
<string>Translation</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<item row="3" column="1" rowspan="2">
|
||||
<widget class="QProgressBar" name="prog_ty">
|
||||
<property name="minimum">
|
||||
<number>-128</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>127</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="format">
|
||||
<string>%v</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="5" rowspan="2">
|
||||
<widget class="QComboBox" name="combo_axismap_ty">
|
||||
<property name="toolTip">
|
||||
<string>Select which device axis affects Y translation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="5">
|
||||
<widget class="QComboBox" name="combo_axismap_tx">
|
||||
<property name="toolTip">
|
||||
<string>Select which device axis affects X translation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QProgressBar" name="prog_tz">
|
||||
<property name="minimum">
|
||||
<number>-128</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>127</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="format">
|
||||
<string>%v</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2" rowspan="2">
|
||||
<widget class="QCheckBox" name="chk_inv_ty">
|
||||
<property name="toolTip">
|
||||
<string>invert Y axis translation</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>invert</string>
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="5">
|
||||
<widget class="QLabel" name="label_11">
|
||||
<property name="text">
|
||||
<string>device axis</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -372,10 +483,43 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QLabel" name="label_11">
|
||||
<item row="1" column="6">
|
||||
<widget class="QSpinBox" name="spin_dead_tx">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>255</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QCheckBox" name="chk_inv_tz">
|
||||
<property name="toolTip">
|
||||
<string>invert Z axis translation</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>device axis</string>
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="5" rowspan="2">
|
||||
<widget class="QComboBox" name="combo_axismap_tz">
|
||||
<property name="toolTip">
|
||||
<string>Select which device axis affects Z translation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="3">
|
||||
<widget class="QSlider" name="slider_sens_tz">
|
||||
<property name="toolTip">
|
||||
<string>Z axis translation sensitivity</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>60</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -389,17 +533,14 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1" rowspan="2">
|
||||
<widget class="QProgressBar" name="prog_tx">
|
||||
<property name="minimum">
|
||||
<number>-100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>24</number>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<item row="5" column="6">
|
||||
<widget class="QSpinBox" name="spin_dead_tz">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>255</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2" rowspan="2">
|
||||
|
@ -412,66 +553,6 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QSlider" name="slider_sens_tx">
|
||||
<property name="toolTip">
|
||||
<string>X axis translation sensitivity</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>60</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QComboBox" name="comvo_axismap_tx">
|
||||
<property name="toolTip">
|
||||
<string>Select which device axis affects X translation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4" rowspan="2">
|
||||
<widget class="QComboBox" name="comvo_axismap_ty">
|
||||
<property name="toolTip">
|
||||
<string>Select which device axis affects Y translation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>TY</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1" rowspan="2">
|
||||
<widget class="QProgressBar" name="prog_ty">
|
||||
<property name="minimum">
|
||||
<number>-100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>24</number>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2" rowspan="2">
|
||||
<widget class="QCheckBox" name="chk_inv_ty">
|
||||
<property name="toolTip">
|
||||
<string>invert Y axis translation</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="3">
|
||||
<widget class="QSlider" name="slider_sens_ty">
|
||||
<property name="toolTip">
|
||||
|
@ -485,10 +566,62 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="4" rowspan="2">
|
||||
<widget class="QComboBox" name="comvo_axismap_tz">
|
||||
<item row="1" column="1" rowspan="2">
|
||||
<widget class="QProgressBar" name="prog_tx">
|
||||
<property name="minimum">
|
||||
<number>-128</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>127</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="format">
|
||||
<string>%v</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="6">
|
||||
<widget class="QSpinBox" name="spin_dead_ty">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>255</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QSlider" name="slider_sens_tx">
|
||||
<property name="toolTip">
|
||||
<string>Select which device axis affects Z translation</string>
|
||||
<string>X axis translation sensitivity</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>60</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="6">
|
||||
<widget class="QLabel" name="label_20">
|
||||
<property name="text">
|
||||
<string>deadzone</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>TY</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -502,41 +635,21 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QProgressBar" name="prog_tz">
|
||||
<property name="minimum">
|
||||
<number>-100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>24</number>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QCheckBox" name="chk_inv_tz">
|
||||
<property name="toolTip">
|
||||
<string>invert Z axis translation</string>
|
||||
</property>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="text">
|
||||
<string/>
|
||||
<string>invert</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="3">
|
||||
<widget class="QSlider" name="slider_sens_tz">
|
||||
<property name="toolTip">
|
||||
<string>Z axis translation sensitivity</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>60</number>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<item row="1" column="4">
|
||||
<widget class="QDoubleSpinBox" name="spin_sens_tx"/>
|
||||
</item>
|
||||
<item row="3" column="4">
|
||||
<widget class="QDoubleSpinBox" name="spin_sens_ty"/>
|
||||
</item>
|
||||
<item row="5" column="4">
|
||||
<widget class="QDoubleSpinBox" name="spin_sens_tz"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
|
@ -547,54 +660,10 @@
|
|||
<string>Rotation</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="text">
|
||||
<string>invert</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QLabel" name="label_13">
|
||||
<property name="text">
|
||||
<string>sensitivity</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="4">
|
||||
<widget class="QLabel" name="label_14">
|
||||
<property name="text">
|
||||
<string>device axis</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_15">
|
||||
<property name="text">
|
||||
<string>RX</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1" rowspan="2">
|
||||
<widget class="QProgressBar" name="prog_rx">
|
||||
<property name="minimum">
|
||||
<number>-100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>24</number>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2" rowspan="2">
|
||||
<widget class="QCheckBox" name="chk_inv_rx">
|
||||
<item row="5" column="2">
|
||||
<widget class="QCheckBox" name="chk_inv_rz">
|
||||
<property name="toolTip">
|
||||
<string>invert X axis rotation</string>
|
||||
<string>invert Z axis rotation</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
|
@ -614,50 +683,20 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QComboBox" name="comvo_axismap_rx">
|
||||
<item row="1" column="5">
|
||||
<widget class="QComboBox" name="combo_axismap_rx">
|
||||
<property name="toolTip">
|
||||
<string>Select which device axis affects X rotation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="4" rowspan="2">
|
||||
<widget class="QComboBox" name="comvo_axismap_ry">
|
||||
<property name="toolTip">
|
||||
<string>Select which device axis affects Y rotation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_16">
|
||||
<property name="text">
|
||||
<string>RY</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1" rowspan="2">
|
||||
<widget class="QProgressBar" name="prog_ry">
|
||||
<property name="minimum">
|
||||
<number>-100</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>24</number>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<item row="3" column="6">
|
||||
<widget class="QSpinBox" name="spin_dead_ry">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2" rowspan="2">
|
||||
<widget class="QCheckBox" name="chk_inv_ry">
|
||||
<property name="toolTip">
|
||||
<string>invert Y axis rotation</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
<property name="maximum">
|
||||
<number>255</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -674,46 +713,121 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="4" rowspan="2">
|
||||
<widget class="QComboBox" name="comvo_axismap_rz">
|
||||
<item row="2" column="5" rowspan="2">
|
||||
<widget class="QComboBox" name="combo_axismap_ry">
|
||||
<property name="toolTip">
|
||||
<string>Select which device axis affects Z rotation</string>
|
||||
<string>Select which device axis affects Y rotation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_17">
|
||||
<item row="3" column="1" rowspan="2">
|
||||
<widget class="QProgressBar" name="prog_ry">
|
||||
<property name="minimum">
|
||||
<number>-128</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>127</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="format">
|
||||
<string>%v</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_16">
|
||||
<property name="text">
|
||||
<string>RZ</string>
|
||||
<string>RY</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QProgressBar" name="prog_rz">
|
||||
<item row="1" column="1" rowspan="2">
|
||||
<widget class="QProgressBar" name="prog_rx">
|
||||
<property name="minimum">
|
||||
<number>-100</number>
|
||||
<number>-128</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>127</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>24</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="format">
|
||||
<string>%v</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QCheckBox" name="chk_inv_rz">
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="text">
|
||||
<string>invert</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QProgressBar" name="prog_rz">
|
||||
<property name="minimum">
|
||||
<number>-128</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>127</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="invertedAppearance">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="format">
|
||||
<string>%v</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="6">
|
||||
<widget class="QSpinBox" name="spin_dead_rz">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>255</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2" rowspan="2">
|
||||
<widget class="QCheckBox" name="chk_inv_ry">
|
||||
<property name="toolTip">
|
||||
<string>invert Z axis rotation</string>
|
||||
<string>invert Y axis rotation</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QLabel" name="label_13">
|
||||
<property name="text">
|
||||
<string>sensitivity</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="5">
|
||||
<widget class="QLabel" name="label_14">
|
||||
<property name="text">
|
||||
<string>device axis</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="3">
|
||||
<widget class="QSlider" name="slider_sens_rz">
|
||||
<property name="toolTip">
|
||||
|
@ -727,6 +841,69 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2" rowspan="2">
|
||||
<widget class="QCheckBox" name="chk_inv_rx">
|
||||
<property name="toolTip">
|
||||
<string>invert X axis rotation</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_17">
|
||||
<property name="text">
|
||||
<string>RZ</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="6">
|
||||
<widget class="QSpinBox" name="spin_dead_rx">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>255</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="6">
|
||||
<widget class="QLabel" name="label_21">
|
||||
<property name="text">
|
||||
<string>deadzone</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="5" rowspan="2">
|
||||
<widget class="QComboBox" name="combo_axismap_rz">
|
||||
<property name="toolTip">
|
||||
<string>Select which device axis affects Z rotation</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_15">
|
||||
<property name="text">
|
||||
<string>RX</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="4">
|
||||
<widget class="QDoubleSpinBox" name="spin_sens_rx"/>
|
||||
</item>
|
||||
<item row="3" column="4">
|
||||
<widget class="QDoubleSpinBox" name="spin_sens_ry"/>
|
||||
</item>
|
||||
<item row="5" column="4">
|
||||
<widget class="QDoubleSpinBox" name="spin_sens_rz"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -736,6 +913,19 @@
|
|||
<attribute name="title">
|
||||
<string>Buttons</string>
|
||||
</attribute>
|
||||
<widget class="QLabel" name="label_19">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>140</x>
|
||||
<y>150</y>
|
||||
<width>471</width>
|
||||
<height>41</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>TODO: Button mapping, keyboard emulation, actions and so on....</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
|
@ -826,5 +1016,117 @@
|
|||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>chk_dead_global</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>spin_dead_tx</receiver>
|
||||
<slot>setDisabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>649</x>
|
||||
<y>271</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>738</x>
|
||||
<y>355</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>chk_dead_global</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>spin_dead_ty</receiver>
|
||||
<slot>setDisabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>728</x>
|
||||
<y>284</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>747</x>
|
||||
<y>393</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>chk_dead_global</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>spin_dead_tz</receiver>
|
||||
<slot>setDisabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>639</x>
|
||||
<y>279</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>765</x>
|
||||
<y>429</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>chk_dead_global</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>spin_dead_rx</receiver>
|
||||
<slot>setDisabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>622</x>
|
||||
<y>280</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>743</x>
|
||||
<y>520</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>chk_dead_global</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>spin_dead_ry</receiver>
|
||||
<slot>setDisabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>625</x>
|
||||
<y>275</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>755</x>
|
||||
<y>560</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>chk_dead_global</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>spin_dead_rz</receiver>
|
||||
<slot>setDisabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>627</x>
|
||||
<y>279</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>769</x>
|
||||
<y>599</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>chk_dead_global</sender>
|
||||
<signal>toggled(bool)</signal>
|
||||
<receiver>spin_dead</receiver>
|
||||
<slot>setEnabled(bool)</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>629</x>
|
||||
<y>272</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>760</x>
|
||||
<y>277</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
|
|
Ładowanie…
Reference in New Issue