Source code for pynaviz.events

"""Custom pygfx events."""

from typing import Optional

from pygfx import Event


[docs] class SyncEvent(Event): """ Custom event to synchronize multiple controllers. Parameters ---------- args controller_id update_type sync_extra_args kwargs """ def __init__( self, *args, controller_id: Optional[int] = None, update_type: Optional[str] = "", sync_extra_args=None, **kwargs, ): super().__init__(*args, **kwargs) self.controller_id = controller_id self.update_type = update_type if sync_extra_args: self.args = sync_extra_args["args"] self.kwargs = sync_extra_args["kwargs"]
[docs] class SwitchEvent(Event): """ Custom event to switch controllers. Useful when controller go from PanController to GetController for instance. Parameters ---------- args controller_id update_type sync_extra_args kwargs """ def __init__( self, *args, controller_id: Optional[int] = None, update_type: Optional[str] = "", new_controller: Optional[object] = None, sync_extra_args=None, **kwargs, ): super().__init__(*args, **kwargs) self.controller_id = controller_id self.update_type = update_type self.new_controller = new_controller if sync_extra_args: self.args = sync_extra_args["args"] self.kwargs = sync_extra_args["kwargs"]