Source code for abce.gui.loadform

import abce
from flexx import ui


[docs]class LoadForm(ui.Widget):
[docs] def init(self): with ui.Widget(style="overflow-y: scroll"): with ui.VBox(style="overflow-y: scroll") as self.vbox: name_descriptions = [(d['name'], d['description']) for d in abce.parameter_database.all()] for name, desc in name_descriptions: with ui.GroupWidget(): btn = ui.Button(title=name, text=name) delete = ui.Button(title=name, text='(del)') ui.Label(text=desc) btn.connect('mouse_click', self.wdg) delete.connect('mouse_click', self.delete)
[docs] def update(self, event): with self.vbox: with ui.GroupWidget(): btn = ui.Button(title=event['name'], text=event['name']) delete = ui.Button(title=event['name'], text='del') ui.Label(text=event['description']) btn.connect('mouse_click', self.wdg) delete.connect('mouse_click', self.delete)
[docs] def wdg(self, event): self.emit('load', {'name': event['source'].title})
[docs] def delete(self, event): abce.parameter_database.delete(name=event['source'].title) event['source'].text = 'deleted'