import dabo dabo.ui.loadUI("wx") app = dabo.dApp() app.setup() class MyDlg(dabo.ui.dDialog): def afterInit(self): pan = dabo.ui.dPanel(self) t1 = dabo.ui.dTextBox(pan, OnLostFocus=self.onLostFocus, RegID="t1") t2 = dabo.ui.dTextBox(pan, Top=30, OnLostFocus=self.onLostFocus, RegID="t2") self.Sizer.append1x(pan) def onLostFocus(self, evt): ctrl = evt.EventObject if getattr(self, "inValidate", False): self.inValidate = False return if not self.validate(ctrl): self.inValidate = True ## flag to stop infinite recursion evt.EventObject.setFocus() ## set focus back def validate(self, ctrl): return ctrl.Value == "R" dlg = MyDlg(app.MainForm, Name="dlgTest", BorderResizable=True) dlg.showModal()
