ApmSoftwareConfig.cc 3.16 KB
Newer Older
1 2 3 4 5 6
#include "ApmSoftwareConfig.h"


ApmSoftwareConfig::ApmSoftwareConfig(QWidget *parent) : QWidget(parent)
{
    ui.setupUi(this);
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56

    ui.basicPidsButton->setVisible(false);
    ui.flightModesButton->setVisible(false);
    ui.standardParamButton->setVisible(false);
    ui.geoFenceButton->setVisible(false);
    ui.failSafeButton->setVisible(false);
    ui.advancedParamButton->setVisible(false);
    ui.advParamListButton->setVisible(false);
    ui.arduCoperPidButton->setVisible(false);

    basicPidConfig = new BasicPidConfig(this);
    ui.stackedWidget->addWidget(basicPidConfig);
    buttonToConfigWidgetMap[ui.basicPidsButton] = basicPidConfig;
    connect(ui.basicPidsButton,SIGNAL(clicked()),this,SLOT(activateStackedWidget()));

    flightConfig = new FlightModeConfig(this);
    ui.stackedWidget->addWidget(flightConfig);
    buttonToConfigWidgetMap[ui.flightModesButton] = flightConfig;
    connect(ui.flightModesButton,SIGNAL(clicked()),this,SLOT(activateStackedWidget()));

    standardParamConfig = new StandardParamConfig(this);
    ui.stackedWidget->addWidget(standardParamConfig);
    buttonToConfigWidgetMap[ui.standardParamButton] = standardParamConfig;
    connect(ui.standardParamButton,SIGNAL(clicked()),this,SLOT(activateStackedWidget()));

    geoFenceConfig = new GeoFenceConfig(this);
    ui.stackedWidget->addWidget(geoFenceConfig);
    buttonToConfigWidgetMap[ui.geoFenceButton] = geoFenceConfig;
    connect(ui.geoFenceButton,SIGNAL(clicked()),this,SLOT(activateStackedWidget()));

    failSafeConfig = new FailSafeConfig(this);
    ui.stackedWidget->addWidget(failSafeConfig);
    buttonToConfigWidgetMap[ui.failSafeButton] = failSafeConfig;
    connect(ui.failSafeButton,SIGNAL(clicked()),this,SLOT(activateStackedWidget()));

    advancedParamConfig = new AdvancedParamConfig(this);
    ui.stackedWidget->addWidget(advancedParamConfig);
    buttonToConfigWidgetMap[ui.advancedParamButton] = advancedParamConfig;
    connect(ui.advancedParamButton,SIGNAL(clicked()),this,SLOT(activateStackedWidget()));

    arduCoperPidConfig = new ArduCopterPidConfig(this);
    ui.stackedWidget->addWidget(arduCoperPidConfig);
    buttonToConfigWidgetMap[ui.arduCoperPidButton] = arduCoperPidConfig;
    connect(ui.arduCoperPidButton,SIGNAL(clicked()),this,SLOT(activateStackedWidget()));

    connect(UASManager::instance(),SIGNAL(activeUASSet(UASInterface*)),this,SLOT(activeUASSet(UASInterface*)));
    if (UASManager::instance()->getActiveUAS())
    {
        activeUASSet(UASManager::instance()->getActiveUAS());
    }
57 58 59 60 61
}

ApmSoftwareConfig::~ApmSoftwareConfig()
{
}
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
void ApmSoftwareConfig::activateStackedWidget()
{
    if (buttonToConfigWidgetMap.contains(sender()))
    {
        ui.stackedWidget->setCurrentWidget(buttonToConfigWidgetMap[sender()]);
    }
}
void ApmSoftwareConfig::activeUASSet(UASInterface *uas)
{
    if (!uas)
    {
        return;
    }

    ui.basicPidsButton->setVisible(true);
    ui.flightModesButton->setVisible(true);
    ui.standardParamButton->setVisible(true);
    ui.geoFenceButton->setVisible(true);
    ui.failSafeButton->setVisible(true);
    ui.advancedParamButton->setVisible(true);
    ui.advParamListButton->setVisible(true);

    ui.arduCoperPidButton->setVisible(true);
}