History

Add WebWindow widget for scripts

Ryan Huffman committed 12 years ago

Commit 3e109ee1 parent 17070253 files · +124 −0Browse files

Showing the changes to interface/src/scripting/WebWindow.h (1 of 3 files). Show all

Unified · Split

interface/src/scripting/WebWindow.h+53−0
@@ -0,0 +1,53 @@
1//
2// WebWindow.h
3// interface/src/scripting
4//
5// Created by Ryan Huffman on 11/06/14.
6// Copyright 2014 High Fidelity, Inc.
7//
8// Distributed under the Apache License, Version 2.0.
9// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
10//
11
12#ifndef hifi_WebWindow_h
13#define hifi_WebWindow_h
14
15#include <QScriptContext>
16#include <QScriptEngine>
17
18// #include "ScriptWebView.h"
19
20class ScriptEventBridge : public QObject {
21 Q_OBJECT
22public:
23 ScriptEventBridge(QObject* parent = NULL);
24
25public slots:
26 void emitWebEvent(const QString& data);
27 void emitScriptEvent(const QString& data);
28
29signals:
30 void webEventReceived(const QString& data);
31 void scriptEventReceived(const QString& data);
32
33};
34
35class WebWindow : public QObject {
36 Q_OBJECT
37 Q_PROPERTY(QObject* eventBridge READ getEventBridge)
38public:
39 WebWindow(const QString& url, int width, int height);
40 ~WebWindow();
41
42 static QScriptValue constructor(QScriptContext* context, QScriptEngine* engine);
43
44public slots:
45 void setVisible(bool visible);
46 ScriptEventBridge* getEventBridge() const { return _eventBridge; }
47
48private:
49 QWidget* _window;
50 ScriptEventBridge* _eventBridge;
51};
52
53#endif