Changeset 4317
- Timestamp:
- 07/24/08 14:04:54 (1 month ago)
- Files:
-
- trunk/dabo/ui/uiwx/dDialog.py (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/dabo/ui/uiwx/dDialog.py
r4316 r4317 51 51 self.Sizer = dabo.ui.dSizer("V") 52 52 super(dDialog, self)._afterInit() 53 self.bindKey("esc", self._onEscape)54 53 55 54 … … 99 98 return retVals.get(ret) 100 99 101 102 def _onEscape(self, evt):103 evt.stop()104 self.hide()105 100 106 101 … … 235 230 236 231 def _addControls(self): 232 # Tell wx not to intercept the esc key. 233 self.SetEscapeId(wx.ID_NONE) 234 237 235 # Set some default Sizer properties (user can easily override): 238 236 sz = self.Sizer … … 281 279 elif id_ == wx.ID_NO: 282 280 self.btnNo = newbtn = dabo.ui.dButton(btn.Parent) 281 self.setEscapeButton(newbtn) 283 282 mthd = self._onNo 284 283 elif id_ == wx.ID_OK: … … 288 287 self.btnCancel = newbtn = dabo.ui.dButton(btn.Parent) 289 288 mthd = self._onCancel 289 self.setEscapeButton(newbtn) 290 290 elif id_ == wx.ID_HELP: 291 291 self.btnHelp = btn … … 316 316 for pos, btn in enumerate(buttons[1:]): 317 317 btn.MoveAfterInTabOrder(buttons[pos-1]) 318 self.SetEscapeId(wx.ID_NONE)319 self.bindKey("esc", self._onEscapePressed)320 318 321 319 # Let the user add their controls … … 334 332 335 333 336 def _onEscapePressed(self, evt):337 if self.CancelOnEscape:338 if self.CancelButton: 339 self._onCancel(evt)340 elif self.NoButton:341 self._onNo(evt)342 elif self.OKButton:343 self._onOK(evt)344 elif self.YesButton:345 self._onYes(evt) 334 def setEscapeButton(self, btn=None): 335 """Set which button gets hit when Esc pressed. 336 337 CancelOnEscape must be True for this to work. 338 """ 339 if not self.CancelOnEscape or not btn: 340 self.SetEscapeId(wx.ID_NONE) 341 else: 342 self.SetEscapeId(btn.GetId()) 343 346 344 347 345 … … 367 365 if self.runOK() is not False: 368 366 self.EndModal(kons.DLG_OK) 367 369 368 def _onCancel(self, evt): 370 369 self.Accepted = False … … 381 380 if self.runCancel() is not False: 382 381 self.EndModal(kons.DLG_CANCEL) 382 else: 383 evt.stop() 383 384 def _onYes(self, evt): 384 385 self.Accepted = True 385 386 if self.runYes() is not False: 386 387 self.EndModal(kons.DLG_YES) 388 387 389 def _onNo(self, evt): 388 390 self.Accepted = False 389 391 if self.runNo() is not False: 390 392 self.EndModal(kons.DLG_NO) 393 else: 394 evt.stop() 395 391 396 def _onHelp(self, evt): 392 397 self.runHelp() … … 461 466 if self._constructed(): 462 467 self._cancelOnEscape = val 468 self.setEscapeButton(None) 469 if val: 470 for trial in (self.btnCancel, self.btnNo): 471 if trial is not None: 472 self.setEscapeButton(trial) 473 break 463 474 else: 464 475 self._properties["CancelOnEscape"] = val
