diff --git a/nengo_gui/components/htmlview.py b/nengo_gui/components/htmlview.py index 7be3ad14..6172678a 100644 --- a/nengo_gui/components/htmlview.py +++ b/nengo_gui/components/htmlview.py @@ -4,22 +4,25 @@ import nengo import numpy as np -from nengo_gui.components.component import Component, Template +from nengo_gui.components.component import Component class HTMLView(Component): - def __init__(self, viz, config, uid, obj): - super(HTMLView, self).__init__(viz, config, uid) + def __init__(self, obj): + super(HTMLView, self).__init__() self.obj = obj self.obj_output = obj.output - self.label = viz.viz.get_label(obj) self.data = collections.deque() - def add_nengo_objects(self, viz): - with viz.model: + def attach(self, page, config, uid): + super(HTMLView, self).attach(page, config, uid) + self.label = page.get_label(self.obj) + + def add_nengo_objects(self, page): + with page.model: self.obj.output = self.gather_data - def remove_nengo_objects(self, viz): + def remove_nengo_objects(self, page): self.obj.output = self.obj_output def gather_data(self, t, *x): @@ -34,10 +37,9 @@ def update_client(self, client): client.write(item) def javascript(self): - info = dict(uid=self.uid, label=self.label) + info = dict(uid=id(self), label=self.label) json = self.javascript_config(info) return 'new Nengo.HTMLView(main, sim, %s);' % json -class HTMLViewTemplate(Template): - cls = HTMLView - config_params = dict(**Template.default_params) + def code_python_args(self, uids): + return [uids[self.obj]]