1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2025-03-15 07:29:15 +01:00

OP-1109: port plugins/QMLView

This commit is contained in:
Alessio Morale 2013-11-14 00:04:12 +01:00
parent 9507431cd6
commit 067b2e61ae
6 changed files with 22 additions and 19 deletions

View File

@ -2,7 +2,7 @@ TEMPLATE = lib
TARGET = QMLView
QT += svg
QT += opengl
QT += declarative
QT += qml quick
include(../../openpilotgcsplugin.pri)
include(../../plugins/coreplugin/coreplugin.pri)

View File

@ -33,7 +33,9 @@
QmlViewGadget::QmlViewGadget(QString classId, QmlViewGadgetWidget *widget, QWidget *parent) :
IUAVGadget(classId, parent),
m_widget(widget)
{}
{
m_parent = parent;
}
QmlViewGadget::~QmlViewGadget()
{

View File

@ -46,11 +46,18 @@ public:
QWidget *widget()
{
return m_widget;
if(!m_container){
m_container = QWidget::createWindowContainer(m_widget, m_parent);
m_container->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
m_container->setMinimumSize(64, 64);
}
return m_container;
}
void loadConfiguration(IUAVGadgetConfiguration *config);
private:
QWidget *m_container;
QWidget *m_parent;
QmlViewGadgetWidget *m_widget;
};

View File

@ -42,7 +42,7 @@ QmlViewGadgetFactory::~QmlViewGadgetFactory()
Core::IUAVGadget *QmlViewGadgetFactory::createGadget(QWidget *parent)
{
QmlViewGadgetWidget *gadgetWidget = new QmlViewGadgetWidget(parent);
QmlViewGadgetWidget *gadgetWidget = new QmlViewGadgetWidget();
return new QmlViewGadget(QString("QmlViewGadget"), gadgetWidget, parent);
}

View File

@ -38,14 +38,12 @@
#include <QtCore/qfileinfo.h>
#include <QtCore/qdir.h>
#include <QtDeclarative/qdeclarativeengine.h>
#include <QtDeclarative/qdeclarativecontext.h>
#include <QQmlEngine>
#include <QQmlContext>
QmlViewGadgetWidget::QmlViewGadgetWidget(QWidget *parent) :
QDeclarativeView(parent)
QmlViewGadgetWidget::QmlViewGadgetWidget(QWindow *parent) :
QQuickView(parent)
{
setMinimumSize(64, 64);
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
setResizeMode(SizeRootObjectToView);
QStringList objectsToExport;
@ -90,7 +88,7 @@ void QmlViewGadgetWidget::setQmlFile(QString fn)
qDebug() << Q_FUNC_INFO << fn;
setSource(QUrl::fromLocalFile(fn));
foreach(const QDeclarativeError &error, errors()) {
foreach(const QQmlError &error, errors()) {
qDebug() << error.description();
}
}
@ -100,9 +98,5 @@ void QmlViewGadgetWidget::setQmlFile(QString fn)
*/
void QmlViewGadgetWidget::enableOpenGL(bool flag)
{
if (flag) {
setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
} else {
setViewport(new QWidget);
}
Q_UNUSED(flag)
}

View File

@ -30,7 +30,7 @@
#include "qmlviewgadgetconfiguration.h"
#include <QtDeclarative/qdeclarativeview.h>
#include <QQuickView>
#include <QtSvg/QSvgRenderer>
#include <QtSvg/QGraphicsSvgItem>
@ -40,11 +40,11 @@
class UAVObject;
class QmlViewGadgetWidget : public QDeclarativeView {
class QmlViewGadgetWidget : public QQuickView {
Q_OBJECT
public:
QmlViewGadgetWidget(QWidget *parent = 0);
QmlViewGadgetWidget(QWindow *parent = 0);
~QmlViewGadgetWidget();
void setQmlFile(QString fn);