summaryrefslogtreecommitdiffstats
path: root/kjsembed/tests/test_childevent.js
diff options
context:
space:
mode:
Diffstat (limited to 'kjsembed/tests/test_childevent.js')
-rw-r--r--kjsembed/tests/test_childevent.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/kjsembed/tests/test_childevent.js b/kjsembed/tests/test_childevent.js
new file mode 100644
index 00000000..363f3492
--- /dev/null
+++ b/kjsembed/tests/test_childevent.js
@@ -0,0 +1,45 @@
+#!/usr/bin/env kjscmd
+
+/**
+ * Test of QChildEvent handling. This example will not work at the moment
+ * because support for these events is disabled. The problem occurs because we
+ * reenter the interpreter if the object was created by js.
+ */
+
+var top = new QVBox();
+var hbox = new QHBox(top, 'button_hbox');
+var add = new QPushButton(hbox, 'add_button');
+var del = new QPushButton(hbox, 'del_button');
+
+add.text = 'Add';
+del.text = 'Delete';
+
+top.childInsertEvent = function(ev)
+{
+ println( 'Inserted!!!!!' );
+}
+
+top.childRemoveEvent = function(ev)
+{
+ println( 'Removed! ' + ev.className );
+}
+
+top.addSlot = function()
+{
+ l = new QLabel( this, 'demo_label' );
+ l.text = 'Hello World';
+ l.show();
+}
+
+top.delSlot = function()
+{
+ if ( top.childCount() > 2 ) {
+ top.child( top.childCount()-1 ).deleteLater();
+ }
+}
+
+top.connect( add, 'clicked()', top, 'addSlot' );
+top.connect( del, 'clicked()', top, 'delSlot' );
+
+top.show();
+application.exec();