Fixed the documentation for events.nim.

This commit is contained in:
Amrykid 2011-12-29 08:39:43 -06:00
commit f449d2b761

View file

@ -12,25 +12,27 @@
## This module implements an event system that is not dependant on external ## This module implements an event system that is not dependant on external
## graphical toolkits. It was originally called ``NimEE`` because ## graphical toolkits. It was originally called ``NimEE`` because
## it was inspired by Python's PyEE module. There are two ways you can use events: one is a python-inspired way; the other is more of a C-style way. ## it was inspired by Python's PyEE module. There are two ways you can use events: one is a python-inspired way; the other is more of a C-style way.
##
## .. code-block:: Nimrod ## .. code-block:: Nimrod
## var ee = initEventEmitter() ## var ee = initEventEmitter()
## var genericargs: TEventArgs ## var genericargs: TEventArgs
## proc handleevent(e: TEventArgs) = ## proc handleevent(e: TEventArgs) =
## echo("Handled!") ## echo("Handled!")
## ##
## # Python way ## # Python way
## ee.on("EventName", handleevent) ## ee.on("EventName", handleevent)
## ee.emit("EventName", genericargs) ## ee.emit("EventName", genericargs)
## ##
## # C/Java way ## # C/Java way
## # Declare a type ## # Declare a type
## type ## type
## TSomeObject = object of TObject ## TSomeObject = object of TObject
## SomeEvent: TEventHandler ## SomeEvent: TEventHandler
## var myobj: TSomeObject ## var myobj: TSomeObject
## myobj.SomeEvent = initEventHandler("SomeEvent") ## myobj.SomeEvent = initEventHandler("SomeEvent")
## myobj.SomeEvent.addHandler(handleevent) ## myobj.SomeEvent.addHandler(handleevent)
## ee.emit(myobj.SomeEvent, genericargs) ## ee.emit(myobj.SomeEvent, genericargs)
type type
TEventArgs* = object of TObject ## Base object for event arguments that are passed to callback functions. TEventArgs* = object of TObject ## Base object for event arguments that are passed to callback functions.
TEventHandler* = tuple[name: string, handlers: seq[proc(e:TEventArgs)]] ## An eventhandler for an event. TEventHandler* = tuple[name: string, handlers: seq[proc(e:TEventArgs)]] ## An eventhandler for an event.