diff options
author | Milian Wolff <milian.wolff@kdab.com> | 2013-02-14 17:15:02 +0100 |
---|---|---|
committer | Pierre Rossi <pierre.rossi@gmail.com> | 2013-11-01 13:57:47 +0100 |
commit | e2b0f3d094123f0e1d76c2f8b7c4dcd13897cb70 (patch) | |
tree | eb676c1e1d461df1482ef51038a57eeeea3b1ecd /examples | |
parent | c7e878cd16487c39589fcaf099921307ba169545 (diff) | |
download | qtwebchannel-e2b0f3d094123f0e1d76c2f8b7c4dcd13897cb70.tar.gz |
Fix method invocation and signal submission with multiple arguments.
Change-Id: I52a3fc53ba0c76489ffdc0634cfaff5b1c1e02a4
Reviewed-by: Pierre Rossi <pierre.rossi@gmail.com>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/qtobject/qml/qtobject/index.html | 42 | ||||
-rw-r--r-- | examples/qtobject/testobject.cpp | 8 | ||||
-rw-r--r-- | examples/qtobject/testobject.h | 4 |
3 files changed, 37 insertions, 17 deletions
diff --git a/examples/qtobject/qml/qtobject/index.html b/examples/qtobject/qml/qtobject/index.html index 20d3572..656147e 100644 --- a/examples/qtobject/qml/qtobject/index.html +++ b/examples/qtobject/qml/qtobject/index.html @@ -4,8 +4,7 @@ var base = (/[?&]webChannelBaseUrl=([A-Za-z0-9\-:/]+)/.exec(location.search)[1]); document.write('<script src="' + base + '/webchannel.js/setupWebChannel"><'+'/script>'); document.write('<script src="' + base + '/qobject.js"><'+'/script>'); - window.output = function(x) - { + window.output = function(x) { document.querySelector("#out").innerHTML += x + "\n"; } window.onload = function() { @@ -17,28 +16,37 @@ </head> <body> <p>TestObject 1: - <a href="#" onclick="testObject1.debugMe('Debugging!', function(result) { output(result); })">invoke method</a> - <a href="#" onclick="testObject1.prop1(function(value) { output(value); })">Get property 1</a> - <a href="#" onclick="testObject1.prop1 = 'Different property'; testObject1.prop1(function(value) { output(value); })">Set property 1</a> - <a href="#" onclick="testObject1.prop2(function(value) { output(value); })">Get property 2</a> - <a href="#" onclick="testObject1.prop2 = 'Different property'; testObject1.prop2(function(value) { output(value); })">Set property 2</a> + <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> + <a href="#" onclick="testObject1.sig1.connect(function(a, b, c) { output('1 sig1:'+a+b+c); });">Connect1</a> + <a href="#" onclick="testObject1.sig2.connect(function() { output('1 sig 2'); });">Connect2</a> </p> <p>TestObject 2: - <a href="#" onclick="testObject2.debugMe('Debugging!', function(result) { output(result); })">invoke method</a> - <a href="#" onclick="testObject2.prop1(function(value) { output(value); })">Get property 1</a> - <a href="#" onclick="testObject2.prop1 = 'Different property'; testObject2.prop1(function(value) { output(value); })">Set property 1</a> - <a href="#" onclick="testObject2.prop2(function(value) { output(value); })">Get property 2</a> - <a href="#" onclick="testObject2.prop2 = 'Different property'; testObject2.prop2(function(value) { output(value); })">Set property 2</a> + <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> + <a href="#" onclick="testObject2.sig1.connect(function(a, b, c) { output('2 sig1:'+a+b+c); });">Connect1</a> + <a href="#" onclick="testObject2.sig2.connect(function() { output('2 sig 2'); });">Connect2</a> </p> <p>TestObject 3: - <a href="#" onclick="testObject3.debugMe('Debugging!', function(result) { output(result); })">invoke method</a> - <a href="#" onclick="testObject3.prop1(function(value) { output(value); })">Get property 1</a> - <a href="#" onclick="testObject3.prop1 = 'Different property'; testObject3.prop1(function(value) { output(value); })">Set property 1</a> - <a href="#" onclick="testObject3.prop2(function(value) { output(value); })">Get property 2</a> - <a href="#" onclick="testObject3.prop2 = 'Different property'; testObject3.prop2(function(value) { output(value); })">Set property 2</a> + <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> + <a href="#" onclick="testObject3.sig1.connect(function(a, b, c) { output('3 sig1:'+a+b+c); });">Connect1</a> + <a href="#" onclick="testObject3.sig2.connect(function() { console.log(arguments); output('3 sig 2'); });">Connect2</a> </p> <br/> <textarea id="out" style="height:80%; width: 80%"></textarea> diff --git a/examples/qtobject/testobject.cpp b/examples/qtobject/testobject.cpp index 260f1f6..4bcd92f 100644 --- a/examples/qtobject/testobject.cpp +++ b/examples/qtobject/testobject.cpp @@ -17,10 +17,18 @@ void TestObject::setProp1(const QString& s) { p1 = s; qWarning() << __func__ << p1; + emit sig1(1, 0.5, QStringLiteral("asdf")); } void TestObject::setProp2(const QString& s) { p2 = s; qWarning() << __func__ << p2; + emit sig2(); +} + +QString TestObject::manyArgs(int a, float b, const QString& c) const +{ + qDebug() << a << b << c; + return c; } diff --git a/examples/qtobject/testobject.h b/examples/qtobject/testobject.h index fe5043d..39dc608 100644 --- a/examples/qtobject/testobject.h +++ b/examples/qtobject/testobject.h @@ -19,6 +19,8 @@ public: signals: void timeout(); + void sig1(int a, float b, const QString& c); + void sig2(); public slots: void startTimer(int millis) @@ -28,6 +30,8 @@ public slots: QString debugMe(const QString& data); + QString manyArgs(int a, float b, const QString& c) const; + private: QString p1; QString p2; |