SkyeCameraReconfigure::SkyeCameraReconfigure(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::SkyeCameraReconfigure),
    activeCamId(MAV_CAM_ID_PROSILICA),
    msgId(MAVLINK_MSG_ID_SKYE_CAM_RECONFIGURE_PROSILICA_SETTINGS),
    uasId(0)
{
    ui->setupUi(this);
    ui->scrollAreaWidgetContents->setLayout(ui->groupBoxVerticalLayout);
    ui->scrollArea->setMinimumSize(300, 400);
    connect(UASManager::instance(), SIGNAL(activeUASSet(UASInterface*)), this, SLOT(setUAS(UASInterface*)));
    setUAS(UASManager::instance()->getActiveUAS());
    connect(ui->cameraComboBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(activeCameraChanged(QString)));
    updateAvailableCameras();

    connect(ui->applyButton, SIGNAL(clicked()), this, SLOT(accept()));
    connect(ui->cancelButton, SIGNAL(clicked()), this, SLOT(reject()));
}
QGCSkyeTestForce::QGCSkyeTestForce(QWidget *parent) :
	QGCSkyeTest(parent),
	rng_settings_ui(NULL)
{
	{
		QTime time = QTime::currentTime();
		rand_generator.seed((uint)time.msec());
	}

	rng_settings_ui = new QGCSkyeTestForceRandomSettings();
	ui->groupBoxPanel->layout()->addWidget(rng_settings_ui);
    // Insert 3 Force Widget Panels
    for (int i = 0; i<3; i++)
    {
		panelMap.insert(i, new QGCSkyeTestForcePanel(this, i));
        ui->groupBoxPanel->layout()->addWidget(panelMap[i]);
    }

    // connect UAV
    connect(UASManager::instance(), SIGNAL(activeUASSet(UASInterface*)), this, SLOT(setUAS(UASInterface*)));
    setUAS(UASManager::instance()->getActiveUAS());

}
QGCSkyeTestMotors::QGCSkyeTestMotors(bool ppm, QWidget *parent) :
    QGCSkyeTest(parent),
    usePpm(ppm)
{
	{
		QTime time = QTime::currentTime();
		rand_generator.seed((uint)time.msec());
	}

	if (!usePpm) {
		rng_settings_ui = new QGCSkyeTestMotorRngSettings();
		ui->groupBoxPanel->layout()->addWidget(rng_settings_ui);
	}
    // Insert 4 Test Widget Panels
    for (int i = 0; i<4; i++)
    {
        panelMap.insert(i, new QGCSkyeTestMotorsPanel(i, usePpm, this));
        ui->groupBoxPanel->layout()->addWidget(panelMap[i]);
    }

    // Connect UAS
    connect(UASManager::instance(), SIGNAL(activeUASSet(UASInterface*)), this, SLOT(setUAS(UASInterface*)));
    setUAS(UASManager::instance()->getActiveUAS());
}