summaryrefslogtreecommitdiff
path: root/utils/themeeditor/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'utils/themeeditor/graphics')
-rw-r--r--utils/themeeditor/graphics/rbscene.cpp28
-rw-r--r--utils/themeeditor/graphics/rbscene.h26
2 files changed, 51 insertions, 3 deletions
diff --git a/utils/themeeditor/graphics/rbscene.cpp b/utils/themeeditor/graphics/rbscene.cpp
index 206f68f184..c80cb2357d 100644
--- a/utils/themeeditor/graphics/rbscene.cpp
+++ b/utils/themeeditor/graphics/rbscene.cpp
@@ -21,16 +21,38 @@
21 21
22#include <QGraphicsSceneMouseEvent> 22#include <QGraphicsSceneMouseEvent>
23#include <QGraphicsItem> 23#include <QGraphicsItem>
24 24#include <QGraphicsProxyWidget>
25#include <QDebug>
26 25
27#include "rbscene.h" 26#include "rbscene.h"
27#include "rbconsole.h"
28 28
29RBScene::RBScene(QObject* parent) 29RBScene::RBScene(QObject* parent)
30 : QGraphicsScene(parent) 30 : QGraphicsScene(parent), consoleProxy(0), console(0)
31{ 31{
32} 32}
33 33
34RBScene::~RBScene() 34RBScene::~RBScene()
35{ 35{
36 if(console)
37 console->deleteLater();
38
39 if(consoleProxy)
40 consoleProxy->deleteLater();
41}
42
43void RBScene::clear()
44{
45 QGraphicsScene::clear();
46
47 console = new RBConsole();
48 consoleProxy = addWidget(console);
49 consoleProxy->setZValue(1000);
50 consoleProxy->resize(screen.width(), screen.height());
51 consoleProxy->hide();
52}
53
54void RBScene::addWarning(QString warning)
55{
56 console->addWarning(warning);
57 console->show();
36} 58}
diff --git a/utils/themeeditor/graphics/rbscene.h b/utils/themeeditor/graphics/rbscene.h
index 4cb0dfc2a4..33c641dcb0 100644
--- a/utils/themeeditor/graphics/rbscene.h
+++ b/utils/themeeditor/graphics/rbscene.h
@@ -23,8 +23,10 @@
23#define RBSCENE_H 23#define RBSCENE_H
24 24
25#include <QGraphicsScene> 25#include <QGraphicsScene>
26#include <QGraphicsProxyWidget>
26 27
27class RBScreen; 28class RBScreen;
29class RBConsole;
28 30
29class RBScene : public QGraphicsScene 31class RBScene : public QGraphicsScene
30{ 32{
@@ -36,8 +38,32 @@ public:
36 38
37 void moveMouse(QString position){ emit mouseMoved(position); } 39 void moveMouse(QString position){ emit mouseMoved(position); }
38 40
41 void setScreenSize(qreal w, qreal h)
42 {
43 screen = QRectF(0, 0, w, h);
44 if(consoleProxy)
45 consoleProxy->resize(screen.width(), screen.height());
46 }
47
48 void setScreenSize(QRectF screen){
49 this->screen = screen;
50 if(consoleProxy)
51 consoleProxy->resize(screen.width(), screen.height());
52 }
53
54 void addWarning(QString warning);
55
56public slots:
57 void clear();
58
39signals: 59signals:
40 void mouseMoved(QString position); 60 void mouseMoved(QString position);
61
62private:
63 QGraphicsProxyWidget* consoleProxy;
64 RBConsole* console;
65
66 QRectF screen;
41}; 67};
42 68
43#endif // RBSCENE_H 69#endif // RBSCENE_H