Skip to content

Commit 7aaccac

Browse files
committed
ProjectScene: Add engine property
1 parent 4a1a084 commit 7aaccac

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

ScratchCPPGui/projectscene.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,18 @@ ProjectScene::ProjectScene(QQuickItem *parent)
99
{
1010
}
1111

12+
libscratchcpp::IEngine *ProjectScene::engine() const
13+
{
14+
return m_engine;
15+
}
16+
17+
void ProjectScene::setEngine(libscratchcpp::IEngine *newEngine)
18+
{
19+
if (m_engine == newEngine)
20+
return;
21+
22+
m_engine = newEngine;
23+
emit engineChanged();
24+
}
25+
1226
} // namespace scratchcppgui

ScratchCPPGui/projectscene.h

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,31 @@
44

55
#include <QQuickPaintedItem>
66

7+
namespace libscratchcpp
8+
{
9+
class IEngine;
10+
}
11+
712
namespace scratchcppgui
813
{
914

1015
class ProjectScene : public QQuickItem
1116
{
1217
Q_OBJECT
1318
QML_ELEMENT
19+
Q_PROPERTY(libscratchcpp::IEngine *engine READ engine WRITE setEngine NOTIFY engineChanged)
1420

1521
public:
1622
ProjectScene(QQuickItem *parent = nullptr);
23+
24+
libscratchcpp::IEngine *engine() const;
25+
void setEngine(libscratchcpp::IEngine *newEngine);
26+
27+
signals:
28+
void engineChanged();
29+
30+
private:
31+
libscratchcpp::IEngine *m_engine = nullptr;
1732
};
1833

1934
} // namespace scratchcppgui

0 commit comments

Comments
 (0)