blob: 33c641dcb0a3befe66325c67e25372f674d14f26 [file] [log] [blame]
Robert Bieberdf1ff112010-08-06 20:53:50 +00001/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2010 Robert Bieber
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21
22#ifndef RBSCENE_H
23#define RBSCENE_H
24
25#include <QGraphicsScene>
Robert Bieber56023422010-08-12 05:30:31 +000026#include <QGraphicsProxyWidget>
Robert Bieberdf1ff112010-08-06 20:53:50 +000027
Robert Bieberd1a392a2010-08-09 19:37:23 +000028class RBScreen;
Robert Bieber56023422010-08-12 05:30:31 +000029class RBConsole;
Robert Bieberd1a392a2010-08-09 19:37:23 +000030
Robert Bieberdf1ff112010-08-06 20:53:50 +000031class RBScene : public QGraphicsScene
32{
33 Q_OBJECT
34
35public:
36 RBScene(QObject* parent = 0);
37 ~RBScene();
38
39 void moveMouse(QString position){ emit mouseMoved(position); }
40
Robert Bieber56023422010-08-12 05:30:31 +000041 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
Robert Bieberdf1ff112010-08-06 20:53:50 +000059signals:
60 void mouseMoved(QString position);
Robert Bieber56023422010-08-12 05:30:31 +000061
62private:
63 QGraphicsProxyWidget* consoleProxy;
64 RBConsole* console;
65
66 QRectF screen;
Robert Bieberdf1ff112010-08-06 20:53:50 +000067};
68
69#endif // RBSCENE_H