summaryrefslogtreecommitdiff
path: root/examples/qtobject/qml/qtobject/index.html
blob: a4a94ed021e3fbad426ff84e04cbdd57415356f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<html>
    <head>
        <script type="text/javascript" src="qrc:///qwebchannel/webchannel.js"></script>
        <script type="text/javascript" src="qrc:///qwebchannel/qobject.js"></script>
        <script type="text/javascript">
            window.output = function(x) {
                document.querySelector("#out").innerHTML += x + "\n";
            }
            var baseUrl = (/[?&]webChannelBaseUrl=([A-Za-z0-9\-:/]+)/.exec(location.search)[1]);
            new QWebChannel(baseUrl, function(channel) {
                setupQObjectWebChannel(channel, function() {
                    testObject1.sig1.connect(function(a, b, c) { output("1 sig1" + a + b + c); });
                    testObject1.sig2.connect(function() { output("1 sig2"); });
                    testObject2.sig1.connect(function(a, b, c) { output("2 sig1" + a + b + c); });
                    testObject2.sig2.connect(function() { output("2 sig2"); });
                    testObject3.sig1.connect(function(a, b, c) { output("3 sig1" + a + b + c); });
                    testObject3.sig2.connect(function() { output("3 sig2"); });
                });
            });
        </script>
    </head>
    <body>
    <p>TestObject 1:
        <a href="#" onclick="testObject1.debugMe('Debugging!', function(result) { output(result); })">method 1</a>
        <a href="#" onclick="testObject1.manyArgs(1, 0.5, 'asdf', function(result) { output(result); })">method 2</a>
        <a href="#" onclick="testObject1.prop1(function(value) { output(value); })">Get prop1</a>
        <a href="#" onclick="testObject1.prop1 = 'Different property'; testObject1.prop1(function(value) { output(value); })">Set prop1</a>
        <a href="#" onclick="testObject1.prop2(function(value) { output(value); })">Get prop2</a>
        <a href="#" onclick="testObject1.prop2 = 'Different property'; testObject1.prop2(function(value) { output(value); })">Set prop2</a>
        <a href="#" onclick="testObject1.timeout.connect(function() { output('timeout 1'); }); testObject1.startTimer(1000);">Timer</a>
    </p>
    <p>TestObject 2:
        <a href="#" onclick="testObject2.debugMe('Debugging!', function(result) { output(result); })">method 1</a>
        <a href="#" onclick="testObject2.manyArgs(1, 0.5, 'asdf', function(result) { output(result); })">method 2</a>
        <a href="#" onclick="testObject2.prop1(function(value) { output(value); })">Get prop1</a>
        <a href="#" onclick="testObject2.prop1 = 'Different property'; testObject2.prop1(function(value) { output(value); })">Set prop1</a>
        <a href="#" onclick="testObject2.prop2(function(value) { output(value); })">Get prop2</a>
        <a href="#" onclick="testObject2.prop2 = 'Different property'; testObject2.prop2(function(value) { output(value); })">Set prop2</a>
        <a href="#" onclick="testObject2.timeout.connect(function() { output('timeout 2'); }); testObject2.startTimer(1000);">Timer</a>
    </p>
    <p>TestObject 3:
        <a href="#" onclick="testObject3.debugMe('Debugging!', function(result) { output(result); })">method 1</a>
        <a href="#" onclick="testObject3.manyArgs(1, 0.5, 'asdf', function(result) { output(result); })">method 2</a>
        <a href="#" onclick="testObject3.prop1(function(value) { output(value); })">Get prop1</a>
        <a href="#" onclick="testObject3.prop1 = 'Different property'; testObject3.prop1(function(value) { output(value); })">Set prop1</a>
        <a href="#" onclick="testObject3.prop2(function(value) { output(value); })">Get prop2</a>
        <a href="#" onclick="testObject3.prop2 = 'Different property'; testObject3.prop2(function(value) { output(value); })">Set prop2</a>
        <a href="#" onclick="testObject3.timeout.connect(function() { output('timeout 3'); }); testObject3.startTimer(1000);">Timer</a>
    </p>
        <br/>
        <textarea id="out" style="height:80%; width: 80%"></textarea>
    </body>
</html>