diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2014-04-09 22:56:18 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2014-04-09 22:56:18 +0200 |
commit | a690e7b26772a9bb8367acb451a6250449e666ab (patch) | |
tree | 9aca0024db9c75970c4dfac10c55f1961c21ca25 /tests/misc/tevents.nim | |
parent | d0f013477b16520eefff69b861d2f26744463880 (diff) | |
parent | a157985e01cbf80383d5e50836072d70678c9de3 (diff) | |
download | Nim-a690e7b26772a9bb8367acb451a6250449e666ab.tar.gz |
Merge pull request #1075 from flaviut/inlinedocs
Add some documentations and code examples in system
Diffstat (limited to 'tests/misc/tevents.nim')
-rw-r--r-- | tests/misc/tevents.nim | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/misc/tevents.nim b/tests/misc/tevents.nim new file mode 100644 index 000000000..fb94b1f79 --- /dev/null +++ b/tests/misc/tevents.nim @@ -0,0 +1,48 @@ +discard """ +file: "tevents.nim" +output: '''HandlePrintEvent: Output -> Handled print event +HandlePrintEvent2: Output -> printing for ME +HandlePrintEvent2: Output -> printing for ME''' +""" + +import events + +type + TPrintEventArgs = object of TEventArgs + user*: string + +proc handleprintevent*(e: TEventArgs) = + write(stdout, "HandlePrintEvent: Output -> Handled print event\n") + +proc handleprintevent2*(e: TEventArgs) = + var args: TPrintEventArgs = TPrintEventArgs(e) + write(stdout, "HandlePrintEvent2: Output -> printing for " & args.user) + +var ee = initEventEmitter() + +var eventargs: TPrintEventArgs +eventargs.user = "ME\n" + +##method one test + +ee.on("print", handleprintevent) +ee.on("print", handleprintevent2) + +ee.emit("print", eventargs) + +##method two test + +type + TSomeObject = object of TObject + PrintEvent: TEventHandler + +var obj: TSomeObject +obj.PrintEvent = initEventHandler("print") +obj.PrintEvent.addHandler(handleprintevent2) + +ee.emit(obj.PrintEvent, eventargs) + +obj.PrintEvent.removeHandler(handleprintevent2) + +ee.emit(obj.PrintEvent, eventargs) + |