diff options
Diffstat (limited to 'desktop-widgets')
-rw-r--r-- | desktop-widgets/mapwidget.cpp | 27 | ||||
-rw-r--r-- | desktop-widgets/mapwidget.h | 23 |
2 files changed, 50 insertions, 0 deletions
diff --git a/desktop-widgets/mapwidget.cpp b/desktop-widgets/mapwidget.cpp new file mode 100644 index 000000000..2ebc92e0a --- /dev/null +++ b/desktop-widgets/mapwidget.cpp @@ -0,0 +1,27 @@ +#include <QQmlContext>
+#include <QDebug>
+#include <QQuickItem>
+
+#include "mapwidget.h"
+
+MapWidget *MapWidget::m_instance = NULL;
+
+MapWidget::MapWidget(QWidget *parent) : QQuickWidget(parent)
+{
+ setSource(QUrl(QStringLiteral("qrc:/mapwidget-qml")));
+ setResizeMode(QQuickWidget::SizeRootObjectToView);
+
+ m_rootItem = qobject_cast<QQuickItem *>(rootObject());
+}
+
+MapWidget::~MapWidget()
+{
+ m_instance = NULL;
+}
+
+MapWidget *MapWidget::instance()
+{
+ if (m_instance == NULL)
+ m_instance = new MapWidget();
+ return m_instance;
+}
diff --git a/desktop-widgets/mapwidget.h b/desktop-widgets/mapwidget.h new file mode 100644 index 000000000..c1d55ae91 --- /dev/null +++ b/desktop-widgets/mapwidget.h @@ -0,0 +1,23 @@ +#ifndef MAPWIDGET_H
+#define MAPWIDGET_H
+
+#include <QQuickWidget>
+
+class QResizeEvent;
+class QQuickItem;
+
+class MapWidget : public QQuickWidget {
+
+public:
+ MapWidget(QWidget *parent = NULL);
+ ~MapWidget();
+
+ static MapWidget *instance();
+
+private:
+ static MapWidget *m_instance;
+ QQuickItem *m_rootItem;
+
+};
+
+#endif // MAPWIDGET_H
|