+ self.currentDialog = None
+
+ def execDialog(self, dialog):
+ self.pushCurrent()
+ self.currentDialog = dialog
+ self.currentDialog.isTmp = False
+ self.currentDialog.callback = None # would cause re-entrancy problems.
+ self.execBegin()
+
+ def openWithCallback(self, callback, screen, *arguments):
+ dlg = self.open(screen, *arguments)
+ dlg.callback = callback
+
+ def open(self, screen, *arguments):
+ self.pushCurrent()
+ dlg = self.currentDialog = self.instantiateDialog(screen, *arguments)
+ dlg.isTmp = True
+ dlg.callback = None
+ self.execBegin()
+ return dlg