- if self.desktop != None:
- self.currentWindow = eWindow(self.desktop)
-
- gui = GUIOutputDevice()
- gui.parent = self.currentWindow
- gui.create(self.currentDialog)
-
- applyGUIskin(self.currentDialog, self.currentWindow, None, self.currentDialog.skinName)
-
+ # read skin data
+ readSkin(dlg, None, dlg.skinName, self.desktop)
+
+ # create GUI view of this dialog
+ assert self.desktop != None
+ dlg.instance = eWindow(self.desktop)
+ applyAllAttributes(dlg.instance, self.desktop, dlg.skinAttributes)
+ gui = GUIOutputDevice()
+ gui.parent = dlg.instance
+ gui.create(dlg, self.desktop)
+
+ return dlg
+
+ def pushCurrent(self):
+ if self.currentDialog:
+ self.dialogStack.append(self.currentDialog)
+ self.execEnd()
+
+ def popCurrent(self):
+ if len(self.dialogStack):
+ self.currentDialog = self.dialogStack.pop()