from composability.registry import Registry from composability.binder import Binder class MockPatientBinder(Binder): def load_item(self, template, path, selection): super(MockPatientBinder, self).load_item(template, path, selection) if path == "patient": return dict(key="1", naam="Burgstra", voornaam="Henk", opmerkingen="Geen", postcode="1000 AA", woonplaats="Amsterdam") elif path == "patient/behandelingen": return {} r = Registry(".") t = r.load_template("patient") b = MockPatientBinder() d = b.load(t) print(d)
] } } def get_data(self): super(PatientBinder, self).get_data() return self.loader class TestBinder(Binder): def get_data(self): super(TestBinder, self).get_data() if __name__ == "__main__": from composability.view import Or, Select view_registry = Registry("d:/projecten/python/validaties") app = wx.App(redirect=False) frame = wx.Frame(None, title="Template Test", size=(600, 400)) sizer = wx.BoxSizer() frame.SetSizer(sizer) # --- view = BoxPanel(frame, name="patient") binder = Binder(view_registry.load_template("patient"), Loader()) controller = Controller(view, binder) key = Select("patient/key") naam = Select("patient/naam") controller.select(Or(key.Eq("ACTB-T123456"), naam.Gte("Burg"))) controller.load_view() view.set_value("patient(1)/behandelingen(1)/behandeldagen(2)/datum", "11-11-2011") sizer.Add(view) frame.Show()