Skip to content
QGCQmlWidgetHolder.cpp 2.16 KiB
Newer Older
Don Gagne's avatar
Don Gagne committed
/*=====================================================================
dogmaphobic's avatar
dogmaphobic committed

Don Gagne's avatar
Don Gagne committed
 QGroundControl Open Source Ground Control Station
dogmaphobic's avatar
dogmaphobic committed

Don Gagne's avatar
Don Gagne committed
 (c) 2009 - 2014 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
dogmaphobic's avatar
dogmaphobic committed

Don Gagne's avatar
Don Gagne committed
 This file is part of the QGROUNDCONTROL project
dogmaphobic's avatar
dogmaphobic committed

Don Gagne's avatar
Don Gagne committed
 QGROUNDCONTROL is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.
Don Gagne's avatar
Don Gagne committed
 QGROUNDCONTROL is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
Don Gagne's avatar
Don Gagne committed
 You should have received a copy of the GNU General Public License
 along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.
Don Gagne's avatar
Don Gagne committed
 ======================================================================*/

/// @file
///     @author Don Gagne <don@thegagnes.com>

#include "QGCQmlWidgetHolder.h"

QGCQmlWidgetHolder::QGCQmlWidgetHolder(const QString& title, QAction* action, QWidget *parent) :
    QGCDockWidget(title, action, parent)
Don Gagne's avatar
Don Gagne committed
{
    _ui.setupUi(this);
    layout()->setContentsMargins(0,0,0,0);

    if (action) {
        setWindowTitle(title);
    }
Don Gagne's avatar
Don Gagne committed
    setResizeMode(QQuickWidget::SizeRootObjectToView);
Don Gagne's avatar
Don Gagne committed
}

QGCQmlWidgetHolder::~QGCQmlWidgetHolder()
{

}

void QGCQmlWidgetHolder::setAutoPilot(AutoPilotPlugin* autoPilot)
{
    setContextPropertyObject("autopilot", autoPilot);
Don Gagne's avatar
Don Gagne committed
bool QGCQmlWidgetHolder::setSource(const QUrl& qmlUrl)
Don Gagne's avatar
Don Gagne committed
{
    return _ui.qmlWidget->setSource(qmlUrl);
Don Gagne's avatar
Don Gagne committed
}

void QGCQmlWidgetHolder::setContextPropertyObject(const QString& name, QObject* object)
{
    _ui.qmlWidget->rootContext()->setContextProperty(name, object);
}
QQmlContext* QGCQmlWidgetHolder::getRootContext(void)
dogmaphobic's avatar
dogmaphobic committed
{
    return _ui.qmlWidget->rootContext();
}

QQuickItem* QGCQmlWidgetHolder::getRootObject(void)
{
    return _ui.qmlWidget->rootObject();
}
Don Gagne's avatar
Don Gagne committed

dogmaphobic's avatar
dogmaphobic committed
QQmlEngine*	QGCQmlWidgetHolder::getEngine()
{
    return _ui.qmlWidget->engine();
}


Don Gagne's avatar
Don Gagne committed
void QGCQmlWidgetHolder::setResizeMode(QQuickWidget::ResizeMode resizeMode)
{
    _ui.qmlWidget->setResizeMode(resizeMode);