from __future__ import absolute_import from .exchange_rate import FxPlugin from electrum.plugins import hook from kivy.event import EventDispatcher class MyEventDispatcher(EventDispatcher): def __init__(self, **kwargs): self.register_event_type('on_quotes') self.register_event_type('on_history') super(MyEventDispatcher, self).__init__(**kwargs) def on_quotes(self, *args): pass def on_history(self, *args): pass class Plugin(FxPlugin): def __init__(self, parent, config, name): FxPlugin.__init__(self, parent, config, name) self.dispatcher = MyEventDispatcher() def on_quotes(self): self.print_error("on_quotes", self.ccy) self.dispatcher.dispatch('on_quotes') def on_history(self): self.print_error("on_history", self.ccy) self.dispatcher.dispatch('on_history') def on_close(self): self.print_error("on close") self.window.fiat_unit = '' self.window.history_screen.update() @hook def init_kivy(self, window): self.print_error("init_kivy") self.window = window self.dispatcher.bind(on_quotes=window.on_quotes) self.dispatcher.bind(on_history=window.on_history) self.window.fiat_unit = self.ccy self.dispatcher.dispatch('on_history') @hook def load_wallet(self, wallet, window): self.window = window self.window.fiat_unit = self.ccy