diff --git a/piker/ui/_interaction.py b/piker/ui/_interaction.py index 6fba5070..8cd8cf98 100644 --- a/piker/ui/_interaction.py +++ b/piker/ui/_interaction.py @@ -333,6 +333,16 @@ class ChartView(ViewBox): ''' mode_name: str = 'view' + # "relay events" for making overlaid views work. + # NOTE: these MUST be defined here (and can't be monkey patched + # on later) due to signal construction requiring refs to be + # in place during the run of meta-class machinery. + mouseDragEventRelay = QtCore.Signal(object, object, object) + wheelEventRelay = QtCore.Signal(object, object, object) + + event_relay_source: 'Optional[ViewBox]' = None + relays: dict[str, Signal] = {} + def __init__( self,