예제 #1
0
파일: ServosWidget.cpp 프로젝트: kipr/botui
ServosWidget::ServosWidget(Device *device, QWidget *parent)
	: StandardWidget(device, parent),
	ui(new Ui::ServosWidget),
	m_provider(new NumpadDialog(QString()))
{
	ui->setupUi(this);
	performStandardSetup(tr("Servos"));
	
	ui->number->setInputProvider(m_provider);
	
	connect(ui->dial, SIGNAL(valueChanged(double)), SLOT(positionChanged(double)));
  connect(ui->number, SIGNAL(textEdited(QString)), SLOT(manualEntry(QString)));
	connect(ui->port_0, SIGNAL(clicked()), SLOT(activeChanged()));
	connect(ui->port_1, SIGNAL(clicked()), SLOT(activeChanged()));
	connect(ui->port_2, SIGNAL(clicked()), SLOT(activeChanged()));
	connect(ui->port_3, SIGNAL(clicked()), SLOT(activeChanged()));
	connect(ui->enable, SIGNAL(clicked()), SLOT(enable()));
	connect(ui->disable, SIGNAL(clicked()), SLOT(disable()));
	
  // Setup ui for port 0 (the default servo)
	ui->dial->setMinimumValue(0);
	ui->dial->setMaximumValue(2047);
	ui->dial->setValue(get_servo_position(0));
	ui->dial->setLabel(0);
	ui->port_0->setEnabled(false);
  
  const bool servoEnabled = get_servo_enabled(0);
	ui->enable->setVisible(!servoEnabled);
	ui->disable->setVisible(servoEnabled);
  
	publish();
}
예제 #2
0
파일: vision_dialog.cpp 프로젝트: kipr/cs2
/* Keep? */
VisionDialog::VisionDialog(QWidget *parent)
	: QDialog(parent)
	, ui(new Ui::VisionDialog)
	, m_configModel(new VisionConfigModel(this))
	, m_channelModel(new VisionChannelModel(this))
	, m_device(new Camera::Device(new Camera::UsbInputProvider))
{
	ui->setupUi(this);
	
	ui->configsList->setModel(m_configModel);
	ui->configsList->setRootIndex(m_configModel->index(m_configModel->rootPath()));
	ui->configsList->setItemDelegate(new ConfigItemDelegate(this));
	
	ui->channelsList->setModel(m_channelModel);
	ui->channelsList->setItemDelegate(new ChannelItemDelegate(m_channelModel, this));
	
	connect(&m_cameraTimer, SIGNAL(timeout()), SLOT(updateCamera()));
	m_cameraTimer.start(100);
	
  /* Need this? */
	Config startConfig;
	startConfig.beginGroup(CAMERA_GROUP);
	startConfig.setValue(CAMERA_NUM_CHANNELS_KEY, 1);
	startConfig.beginGroup((QString(CAMERA_CHANNEL_GROUP_PREFIX) + "0").toStdString());
	startConfig.setValue(CAMERA_CHANNEL_TYPE_KEY, CAMERA_CHANNEL_TYPE_HSV_KEY);
	startConfig.clearGroup();
	m_device->setConfig(startConfig);
	
	connect(ui->_th, SIGNAL(textChanged(QString)), SLOT(manualEntry(QString)));
	connect(ui->_ts, SIGNAL(textChanged(QString)), SLOT(manualEntry(QString)));
	connect(ui->_tv, SIGNAL(textChanged(QString)), SLOT(manualEntry(QString)));
	connect(ui->_bh, SIGNAL(textChanged(QString)), SLOT(manualEntry(QString)));
	connect(ui->_bs, SIGNAL(textChanged(QString)), SLOT(manualEntry(QString)));
	connect(ui->_bv, SIGNAL(textChanged(QString)), SLOT(manualEntry(QString)));
	
	connect(ui->visual, SIGNAL(minChanged(QColor)), SLOT(visualChanged()));
	connect(ui->visual, SIGNAL(maxChanged(QColor)), SLOT(visualChanged()));
	
	connect(ui->cv, SIGNAL(pressed(int, int)), SLOT(imagePressed(int, int)));
	
	connect(ui->channelsList->selectionModel(),
		SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),
		SLOT(currentChannelChanged(const QModelIndex &, const QModelIndex &)));
	
	connect(ui->configsList->selectionModel(),
		SIGNAL(currentChanged(const QModelIndex &, const QModelIndex &)),
		SLOT(currentConfigChanged(const QModelIndex &, const QModelIndex &)));
		
	m_defaultConfigPath = m_configModel->filePath(m_configModel->defaultConfiguration());
}
예제 #3
0
HsvChannelConfigWidget::HsvChannelConfigWidget(const QModelIndex &index, QWidget *parent)
	: ChannelConfigWidget(index, parent),
	ui(new Ui::HsvChannelConfigWidget),
	m_numpad(new NumpadDialog("Enter Value"))
{
	ui->setupUi(this);
	
	Config deviceConfig;
	deviceConfig.beginGroup(CAMERA_GROUP);
	deviceConfig.setValue(CAMERA_NUM_CHANNELS_KEY, 1);
	deviceConfig.beginGroup((QString(CAMERA_CHANNEL_GROUP_PREFIX) + "0").toStdString());
	deviceConfig.setValue(CAMERA_CHANNEL_TYPE_KEY, CAMERA_CHANNEL_TYPE_HSV_KEY);
	deviceConfig.clearGroup();
	ui->camera->setConfig(&deviceConfig);
	
	visual();
	
	connect(ui->manualButton, SIGNAL(clicked()), SLOT(manual()));
	connect(ui->visualButton, SIGNAL(clicked()), SLOT(visual()));
	
	connect(ui->th, SIGNAL(textChanged(QString)), SLOT(manualEntry(QString)));
	connect(ui->ts, SIGNAL(textChanged(QString)), SLOT(manualEntry(QString)));
	connect(ui->tv, SIGNAL(textChanged(QString)), SLOT(manualEntry(QString)));
	connect(ui->bh, SIGNAL(textChanged(QString)), SLOT(manualEntry(QString)));
	connect(ui->bs, SIGNAL(textChanged(QString)), SLOT(manualEntry(QString)));
	connect(ui->bv, SIGNAL(textChanged(QString)), SLOT(manualEntry(QString)));
	
	connect(ui->visual, SIGNAL(minChanged(QColor)), SLOT(visualChanged()));
	connect(ui->visual, SIGNAL(maxChanged(QColor)), SLOT(visualChanged()));
	
	connect(ui->camera, SIGNAL(pressed(cv::Mat, int, int)), SLOT(imagePressed(cv::Mat, int, int)));
	
	connect(ui->done, SIGNAL(clicked()), SLOT(done()));
	
	ui->th->setInputProvider(m_numpad);
	ui->ts->setInputProvider(m_numpad);
	ui->tv->setInputProvider(m_numpad);
	ui->bh->setInputProvider(m_numpad);
	ui->bs->setInputProvider(m_numpad);
	ui->bv->setInputProvider(m_numpad);
  
  ui->camera->setTrackBlobs(true);
}