diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 02:13:59 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-02-24 02:13:59 +0000 |
commit | a6d58bb6052ac8cb01805a48c4ad2f129126116f (patch) | |
tree | dd867a099fcbb263a8009a9fb22695b87855dad6 /doc/scriptexamples/signal1.kvs | |
download | kvirc-a6d58bb6052ac8cb01805a48c4ad2f129126116f.tar.gz kvirc-a6d58bb6052ac8cb01805a48c4ad2f129126116f.zip |
Added KDE3 version of kvirc
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kvirc@1095341 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'doc/scriptexamples/signal1.kvs')
-rw-r--r-- | doc/scriptexamples/signal1.kvs | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/doc/scriptexamples/signal1.kvs b/doc/scriptexamples/signal1.kvs new file mode 100644 index 00000000..7777e679 --- /dev/null +++ b/doc/scriptexamples/signal1.kvs @@ -0,0 +1,47 @@ +# This implements a "fake timer" object that emits the "timeout" signal +# and a target object slot connected to this signal. + +# We also test the immediate object deletion...it seems to work + +class(faketimer,object) +{ + timerEvent(<timer id>) + { + $this->$emit(timeout,$0) + } +} + + +class(target,object) +{ + constructor + { + $$->%num = 10; + } + + timerSlot(<timer id>) + { + echo "Timer $0 fired $$->%num" + $$->%num--; + if($$->%num == 0) + { + echo "Deleting sender $$->$signalSender()->$name() : Kaboom!" + # Immediate sender deletion.... + delete -i $$->$signalSender + $$->$startTimer(1000) + } + } + + timerEvent(<timer id>) + { + echo "Deleting self! : Kaboom!" + delete $this; + } +} + + +%source = $new(faketimer,0,sender) +%target = $new(target,0,target) +connect %source timeout %target timerSlot +echo "Starting timer...." +%source->$startTimer(1000) |