summaryrefslogtreecommitdiffstats
path: root/kjsembed/tests/test_childevent.js
blob: 363f3492281a65abc078fee8ae80c889bdbb1d56 (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
#!/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();