diff options
Diffstat (limited to 'utils/themeeditor/graphics')
-rw-r--r-- | utils/themeeditor/graphics/rbscene.cpp | 28 | ||||
-rw-r--r-- | utils/themeeditor/graphics/rbscene.h | 26 |
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 | ||
29 | RBScene::RBScene(QObject* parent) | 29 | RBScene::RBScene(QObject* parent) |
30 | : QGraphicsScene(parent) | 30 | : QGraphicsScene(parent), consoleProxy(0), console(0) |
31 | { | 31 | { |
32 | } | 32 | } |
33 | 33 | ||
34 | RBScene::~RBScene() | 34 | RBScene::~RBScene() |
35 | { | 35 | { |
36 | if(console) | ||
37 | console->deleteLater(); | ||
38 | |||
39 | if(consoleProxy) | ||
40 | consoleProxy->deleteLater(); | ||
41 | } | ||
42 | |||
43 | void 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 | |||
54 | void 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 | ||
27 | class RBScreen; | 28 | class RBScreen; |
29 | class RBConsole; | ||
28 | 30 | ||
29 | class RBScene : public QGraphicsScene | 31 | class 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 | |||
56 | public slots: | ||
57 | void clear(); | ||
58 | |||
39 | signals: | 59 | signals: |
40 | void mouseMoved(QString position); | 60 | void mouseMoved(QString position); |
61 | |||
62 | private: | ||
63 | QGraphicsProxyWidget* consoleProxy; | ||
64 | RBConsole* console; | ||
65 | |||
66 | QRectF screen; | ||
41 | }; | 67 | }; |
42 | 68 | ||
43 | #endif // RBSCENE_H | 69 | #endif // RBSCENE_H |