Skip to content

Commit 83982ea

Browse files
committed
Updaded documentation, added many modules.
1 parent 56d60c6 commit 83982ea

24 files changed

+670
-402
lines changed
+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
:mod:`EventDrivenFeedback` --- Event Driven Feedback Base Class
2+
===============================================================
3+
4+
.. automodule:: FeedbackBase.EventDrivenFeedback
5+
:synopsis: Baseclass for Event Driven Feedbacks
6+
:members:
7+
:show-inheritance:
8+
9+
.. moduleauthor:: Bastian Venthur <[email protected]>
10+

doc/FeedbackBase/Feedback.rst

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
.. automodule:: FeedbackBase.Feedback
55
:synopsis: Baseclass of all Feedbacks
66
:members:
7+
:show-inheritance:
78

89
.. moduleauthor:: Bastian Venthur <[email protected]>
910

doc/FeedbackBase/MainloopFeedback.rst

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
.. automodule:: FeedbackBase.MainloopFeedback
55
:synopsis: Provides mainloop functionality for Feedbacks.
66
:members:
7+
:show-inheritance:
78

89
.. moduleauthor:: Bastian Venthur <[email protected]>
910

doc/FeedbackBase/PygameFeedback.rst

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
:mod:`PygameFeedback` --- Pygame Feedback Base Class
2+
====================================================
3+
4+
.. automodule:: FeedbackBase.PygameFeedback
5+
:synopsis: Baseclass for Feedbacks using Pygame
6+
:members:
7+
:show-inheritance:
8+
9+
.. moduleauthor:: Bastian Venthur <[email protected]>
10+

doc/FeedbackBase/VisionEggFeedback.rst

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
.. automodule:: FeedbackBase.VisionEggFeedback
55
:synopsis: Provides VisionEgg functionality for Feedbacks.
66
:members:
7+
:show-inheritance:
78

89
.. moduleauthor:: Torsten Schmits <[email protected]>
910

doc/FeedbackBase/VisualP300.rst

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
:mod:`VisualP300` --- VisualP300 Base Class
2+
============================================
3+
4+
.. automodule:: FeedbackBase.VisualP300
5+
:synopsis: Baseclass for Feedbacks using the Visual P300 paradigm
6+
:members:
7+
:show-inheritance:
8+
9+
.. moduleauthor:: Bastian Venthur <[email protected]>
10+

doc/FeedbackBase/index.rst

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@ Feedback Base Classes
44
=====================
55

66
This section provides documentation for the Feedback base classes available in
7-
Pyff.
7+
Pyff. :mod:`Feedback` is the Base Class for all Feedbacks and provides
8+
means for communication with the underlying Pyff infrastructure. The other
9+
Base Classes are Sub Classes of :mod:`Feedback`.
810

911
Contents:
1012

doc/index.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ the documentation of :ref:`Feedback base classes <FeedbackBase>`
1212
Contents:
1313

1414
.. toctree::
15-
:maxdepth: 1
15+
:maxdepth: 2
1616

17-
lib/index
1817
FeedbackBase/index
18+
lib/index
1919

2020
Indices and tables
2121
==================

doc/lib/bcinetwork.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@
55
:synopsis: Networking between the different Pyff components.
66
:members:
77

8-
.. moduleauthor:: Bastian Venthur <venthur@cs.tu-berlin.de>
8+
.. moduleauthor:: Bastian Venthur <bastian.[email protected]>
99

doc/lib/eyetracker.rst

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
:mod:`eyetracker` --- Alea Eye Tracker Support
2+
==============================================
3+
4+
.. automodule:: lib.eyetracker
5+
:synopsis: Alea Eye Tracker Support
6+
:members:
7+
8+
.. moduleauthor:: Bastian Venthur <[email protected]>

doc/lib/marker.rst

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
:mod:`marker` --- Common Marker Definitions
2+
===========================================
3+
4+
.. automodule:: lib.marker
5+
:synopsis: Common marker definitions
6+
:members:
7+
8+
.. moduleauthor:: Bastian Venthur <[email protected]>

src/FeedbackBase/EventDrivenFeedback.py

+65-41
Original file line numberDiff line numberDiff line change
@@ -22,51 +22,53 @@
2222

2323

2424
class EventDrivenFeedback(Feedback):
25-
"""
26-
Example Feedback:
25+
"""Event Driven Feedback Base Class.
2726
28-
#!/usr/bin/env python
2927
30-
import pygame
28+
Example Feedback::
3129
32-
from FeedbackBase.EventDrivenFeedback import EventDrivenFeedback
30+
#!/usr/bin/env python
3331
34-
class TestEventDrivenFeedback(EventDrivenFeedback):
32+
import pygame
3533
34+
from FeedbackBase.EventDrivenFeedback import EventDrivenFeedback
3635
37-
def run(self):
38-
pygame.init()
39-
pygame.display.set_mode([800, 600], pygame.HWSURFACE)
40-
# Glue pygame events to ours
41-
self.bind_event_to_method(pygame.VIDEOEXPOSE, self.paint)
42-
self.bind_event_to_method(pygame.KEYDOWN, self.keyboard)
43-
self.bind_event_to_method(pygame.MOUSEBUTTONDOWN, self.mouse)
44-
# Let's start the show
45-
print "executing paint"
46-
self.execute([self.paint], 10.0)
47-
print "executing mouse, keyboard, paint"
48-
self.execute([self.mouse, self.keyboard, self.paint], 10.0)
49-
pygame.quit()
36+
class TestEventDrivenFeedback(EventDrivenFeedback):
5037
5138
52-
def tick(self):
53-
# Poll pygames event queue and dispatch our events
54-
for event in pygame.event.get():
55-
self.dispatch_event(event.type)
39+
def run(self):
40+
pygame.init()
41+
pygame.display.set_mode([800, 600], pygame.HWSURFACE)
42+
# Glue pygame events to ours
43+
self.bind_event_to_method(pygame.VIDEOEXPOSE, self.paint)
44+
self.bind_event_to_method(pygame.KEYDOWN, self.keyboard)
45+
self.bind_event_to_method(pygame.MOUSEBUTTONDOWN, self.mouse)
46+
# Let's start the show
47+
print "executing paint"
48+
self.execute([self.paint], 10.0)
49+
print "executing mouse, keyboard, paint"
50+
self.execute([self.mouse, self.keyboard, self.paint], 10.0)
51+
pygame.quit()
52+
5653
54+
def tick(self):
55+
# Poll pygames event queue and dispatch our events
56+
for event in pygame.event.get():
57+
self.dispatch_event(event.type)
5758
58-
#########################################################################
59-
# Our event handlers
60-
#########################################################################
61-
def paint(self):
62-
print "print"
6359
64-
def mouse(self):
65-
print "mouse"
60+
#########################################################################
61+
# Our event handlers
62+
#########################################################################
63+
def paint(self):
64+
print "print"
6665
67-
def keyboard(self):
68-
print "keyboard"
69-
"""
66+
def mouse(self):
67+
print "mouse"
68+
69+
def keyboard(self):
70+
print "keyboard"
71+
"""
7072

7173
def on_init(self):
7274
self.event_method_mapping = dict()
@@ -78,20 +80,32 @@ def on_play(self):
7880

7981

8082
def run(self):
81-
# Your script goes here.
82-
# You should populate this method with execute calls.
83+
"""Start the Feedback activity.
84+
85+
Overwrite this method and put your script here. You should populate
86+
this method with :func:`execute` calls.
87+
"""
8388
pass
8489

8590

8691
def tick(self):
87-
# Your code to get events and dispatch events goes here.
88-
# You should poll the event queue of your toolkit/library/etc and
89-
# translate their events to yours.
92+
"""
93+
Your code to get events and dispatch events goes here. You should poll
94+
the event queue of your toolkit/library/etc and translate their events
95+
to yours.
96+
"""
9097
pass
9198

9299

93100
def execute(self, methodlist, runtime):
94-
"""Enable given methods for a certain time."""
101+
"""Enable given methods for a certain time.
102+
103+
:param methodlist: Callables
104+
:type methodlist: list
105+
:param runtime: Fractions of Secons
106+
:type runtime: float
107+
108+
"""
95109
self.enabled_methods = methodlist
96110
elapsed_time = 0.0
97111
t_start = time.time()
@@ -101,14 +115,24 @@ def execute(self, methodlist, runtime):
101115

102116

103117
def dispatch_event(self, event):
104-
"""Dispatch the event and run the associated method if enabled."""
118+
"""Dispatch the event and run the associated method if enabled.
119+
120+
:param event: Event
121+
122+
"""
105123
method = self.event_method_mapping.get(event)
106124
if method and method in self.enabled_methods:
107125
# Call the event method
108126
method()
109127

110128

111129
def bind_event_to_method(self, event, method):
112-
"""Bind event to methodcall."""
130+
"""Bind event to methodcall.
131+
132+
:param event: An event
133+
:param method: The method which should be called when ``event`` was received.
134+
:type method: callable
135+
136+
"""
113137
self.event_method_mapping[event] = method
114138

0 commit comments

Comments
 (0)