Skip to content
QGCMapToolBar.cc 2.73 KiB
Newer Older
#include "QGCMapToolBar.h"
#include "QGCMapWidget.h"
#include "ui_QGCMapToolBar.h"

QGCMapToolBar::QGCMapToolBar(QWidget *parent) :
    QWidget(parent),
    map(NULL),
    ui(new Ui::QGCMapToolBar)
{
    ui->setupUi(this);
}

void QGCMapToolBar::setMap(QGCMapWidget* map)
{
    this->map = map;

    if (map)
    {
        connect(ui->goToButton, SIGNAL(clicked()), map, SLOT(showGoToDialog()));
        connect(ui->goHomeButton, SIGNAL(clicked()), map, SLOT(goHome()));
        connect(ui->lastPosButton, SIGNAL(clicked()), map, SLOT(loadSettings()));
        connect(map, SIGNAL(OnTileLoadStart()), this, SLOT(tileLoadStart()));
        connect(map, SIGNAL(OnTileLoadComplete()), this, SLOT(tileLoadEnd()));
        connect(map, SIGNAL(OnTilesStillToLoad(int)), this, SLOT(tileLoadProgress(int)));
        connect(ui->ripMapButton, SIGNAL(clicked()), map, SLOT(cacheVisibleRegion()));

        ui->followCheckBox->setChecked(map->getFollowUAVEnabled());
        connect(ui->followCheckBox, SIGNAL(clicked(bool)), map, SLOT(setFollowUAVEnabled(bool)));

        // Edit mode handling
        ui->editButton->hide();
LM's avatar
LM committed
//        const int uavTrailTimeList[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};                      // seconds
//        const int uavTrailTimeCount = 10;
LM's avatar
LM committed
//        const int uavTrailDistanceList[] = {1, 2, 5, 10, 20, 50, 100, 200, 500};             // meters
//        const int uavTrailDistanceCount = 9;
LM's avatar
LM committed
//        optionsMenu.setParent(this);
LM's avatar
LM committed
//        // Build up menu
//        //trailPlotMenu(tr("Add trail dot every.."), this);
//        for (int i = 0; i < uavTrailTimeCount; ++i)
//        {
//            trailPlotMenu.addAction(QString("%1 second%2").arg(uavTrailTimeList[i]).arg((uavTrailTimeList[i] > 1) ? "s" : ""), this, SLOT(setUAVTrailTime()));
//        }
//        for (int i = 0; i < uavTrailDistanceCount; ++i)
//        {
//            trailPlotMenu.addAction(QString("%1 meter%2").arg(uavTrailDistanceList[i]).arg((uavTrailDistanceList[i] > 1) ? "s" : ""), this, SLOT(setUAVTrailDistance()));
//        }
//        optionsMenu.addMenu(&trailPlotMenu);
LM's avatar
LM committed
//        ui->optionsButton->setMenu(&optionsMenu);
LM's avatar
LM committed
void QGCMapToolBar::setUAVTrailTime()
{

}

void QGCMapToolBar::setUAVTrailDistance()
{

}

void QGCMapToolBar::tileLoadStart()
{
    ui->posLabel->setText(QString("Starting to load tiles.."));
}

void QGCMapToolBar::tileLoadEnd()
{
    ui->posLabel->setText(QString("Finished"));
}

void QGCMapToolBar::tileLoadProgress(int progress)
{
    if (progress == 1)
    {
        ui->posLabel->setText(QString("1 tile to load.."));
    }
    else if (progress > 0)
    {
        ui->posLabel->setText(QString("%1 tiles to load..").arg(progress));
    }
    else
    {
        tileLoadEnd();
    }
}

QGCMapToolBar::~QGCMapToolBar()
{
    delete ui;
}