Skip to content

Commit

Permalink
browser: pass mods to applets (closes #434)
Browse files Browse the repository at this point in the history
jordens committed May 13, 2016
1 parent 260390b commit 5b5c9b2
Showing 3 changed files with 12 additions and 6 deletions.
2 changes: 1 addition & 1 deletion artiq/browser/datasets.py
Original file line number Diff line number Diff line change
@@ -36,7 +36,7 @@ def __init__(self, datasets_sub):
QtWidgets.QAbstractItemView.SingleSelection)
grid.addWidget(self.table, 1, 0)

self.table_model = Model(dict())
self.set_model(Model(dict()))
datasets_sub.add_setmodel_callback(self.set_model)

def _search_datasets(self):
8 changes: 6 additions & 2 deletions artiq/browser/experiments.py
Original file line number Diff line number Diff line change
@@ -332,13 +332,18 @@ def restore_state(self, state):


class LocalDatasetDB:
def __init__(self, datasets_sub):
self.datasets_sub = datasets_sub
datasets_sub.add_setmodel_callback(self.init)

def init(self, data):
self._data = data

def get(self, key):
return self._data.backing_store[key][1]

def update(self, mod):
self.datasets_sub.update(mod)
process_mod(self._data, mod)


@@ -351,8 +356,7 @@ def __init__(self, root, datasets_sub):

self.open_experiments = []

self._ddb = LocalDatasetDB()
datasets_sub.add_setmodel_callback(self._ddb.init)
self._ddb = LocalDatasetDB(datasets_sub)

self.worker_handlers = {
"get_device_db": lambda: None,
8 changes: 5 additions & 3 deletions artiq/gui/models.py
Original file line number Diff line number Diff line change
@@ -32,12 +32,14 @@ def __init__(self, model_factory):
ModelManager.__init__(self, model_factory)
self.notify_cbs = []

def init(self, struct):
self._create_model(struct)
mod = {"action": "init", "struct": struct}
def update(self, mod):
for notify_cb in self.notify_cbs:
notify_cb(mod)

def init(self, struct):
self._create_model(struct)
self.update({"action": "init", "struct": struct})


class _SyncSubstruct:
def __init__(self, update_cb, ref):

0 comments on commit 5b5c9b2

Please sign in to comment.