QGCToolWidgetItem.cc 1.25 KB
Newer Older
1 2 3 4 5
#include "QGCToolWidgetItem.h"

#include <QMenu>
#include <QContextMenuEvent>

6 7 8
#include "UASManager.h"

QGCToolWidgetItem::QGCToolWidgetItem(const QString& name, QWidget *parent) :
9 10
    QWidget(parent),
    isInEditMode(false),
11 12
    qgcToolWidgetItemName(name),
    uas(NULL),
13 14
    _component(-1)
{
15
    startEditAction = new QAction("Edit "+qgcToolWidgetItemName, this);
16 17 18 19
    connect(startEditAction, SIGNAL(triggered()), this, SLOT(startEditMode()));
    stopEditAction = new QAction("Finish Editing Slider", this);
    connect(stopEditAction, SIGNAL(triggered()), this, SLOT(endEditMode()));

20 21 22 23 24
    connect(UASManager::instance(), SIGNAL(activeUASSet(UASInterface*)),
            this, SLOT(setActiveUAS(UASInterface*)));
    // Set first UAS if it exists
    setActiveUAS(UASManager::instance()->getActiveUAS());

25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
    endEditMode();
}

QGCToolWidgetItem::~QGCToolWidgetItem()
{
    delete startEditAction;
    delete stopEditAction;
}

void QGCToolWidgetItem::contextMenuEvent (QContextMenuEvent* event)
{
    QMenu menu(this);
    if (!isInEditMode)
    {
        menu.addAction(startEditAction);
    }
    else
    {
        menu.addAction(stopEditAction);
    }
    menu.exec(event->globalPos());
}
47 48 49 50 51

void QGCToolWidgetItem::setActiveUAS(UASInterface *uas)
{
    this->uas = uas;
}