Viewer widgets
Defines widgets used with the view module. These widgets are used
to control and display the experiment on screen, both when playing the
experiment for preview and when playing the experiment full-screen in a second
process.
- class ceed.view.view_widgets.ViewRootFocusBehavior(**kwargs)
- Bases: - kivy.uix.behaviors.focus.FocusBehavior- The root widget used for the second process when the experiment is played. It adds focus behavior to the viewer. - Whenever a key is pressed in the second process it is passed on to the controller in the main process who handles it as needed (possibly sending a message back to the second process). - keyboard_on_key_down(window, keycode, text, modifiers)
- The method bound to the keyboard when the instance has focus. - When the instance becomes focused, this method is bound to the keyboard and will be called for every input press. The parameters are the same as - kivy.core.window.WindowBase.on_key_down().- When overwriting the method in the derived widget, super should be called to enable tab cycling. If the derived widget wishes to use tab for its own purposes, it can call super after it has processed the character (if it does not wish to consume the tab). - Similar to other keyboard functions, it should return True if the key was consumed. 
 - keyboard_on_key_up(window, keycode)
- The method bound to the keyboard when the instance has focus. - When the instance becomes focused, this method is bound to the keyboard and will be called for every input release. The parameters are the same as - kivy.core.window.WindowBase.on_key_up().- When overwriting the method in the derived widget, super should be called to enable de-focusing on escape. If the derived widget wishes to use escape for its own purposes, it can call super after it has processed the character (if it does not wish to consume the escape). 
 
- class ceed.view.view_widgets.MEAArrayAlign(**kwargs)
- Bases: - kivy.uix.scatter.Scatter- The widget used during the experiment design to help align the MEA electrode array to the camera and projector. - It displays a grid of points that you can align to the real-world camera acquired picture of the electrode grid. See - controllerfor more details.- num_rows
- Number of rows. - See - mea_num_rows
 - num_cols
- Number of columns. - See - mea_num_cols
 - diameter
- Diameter of each electrode circle in pixels.. - See - mea_diameter
 - show
- Whether the grid is currently shown. 
 - color = None
- The grid color. 
 - label = None
- The label that shows the “A1” corner electrode. 
 - label2 = None
- The label that shows the “M1” corner electrode. 
 - update_graphics(*largs)
- Automatic callback that updates the graphics whenever any parameter changes. 
 - on_touch_down(touch)
- Receive a touch down event. - Parameters
- touch: MotionEventclass
- Touch received. The touch is in parent coordinates. See - relativelayoutfor a discussion on coordinate systems.
 
- touch: 
- Returns
- bool If True, the dispatching of the touch event will stop. If False, the event will continue to be dispatched to the rest of the widget tree. 
 
 - on_touch_move(touch)
- Receive a touch move event. The touch is in parent coordinates. - See - on_touch_down()for more information.
 - on_touch_up(touch)
- Receive a touch up event. The touch is in parent coordinates. - See - on_touch_down()for more information.
 - static make_matrix(elems: List[List[float]]) kivy.graphics.transformation.Matrix
- Converts a matrix represented as a 2D list to a kivy Matrix. 
 - static compare_mat(mat: kivy.graphics.transformation.Matrix, mat_list: List[List[float]]) bool
- Compares a matrix represented as a 2D list to a kivy Matrix object and returns whether they are equivalent.