diff --git a/direct/src/gui/DialogBox.py b/direct/src/gui/DialogBox.py index 4c7c87697d..2cb33251e7 100644 --- a/direct/src/gui/DialogBox.py +++ b/direct/src/gui/DialogBox.py @@ -50,7 +50,7 @@ class DialogBox(OnscreenPanel.OnscreenPanel): """ if self.isLoaded == 0: self.load() - + base.transitions.fadeScreen() OnscreenPanel.OnscreenPanel.show(self) return None @@ -60,7 +60,7 @@ class DialogBox(OnscreenPanel.OnscreenPanel): """ if self.isLoaded == 0: return None - + base.transitions.noTransitions() OnscreenPanel.OnscreenPanel.hide(self) return None @@ -83,12 +83,12 @@ class DialogBox(OnscreenPanel.OnscreenPanel): if (self.style == TwoChoice): # create OK and CANCEL buttons self.makeButton("OK", pos = (-0.325, -0.25), - func = self.__handleOk) + func = self.handleOk) self.makeButton("Cancel", pos = (0.2, -0.25), - func = self.__handleCancel) + func = self.handleCancel) elif (self.style == Acknowledge): # create a centered OK button - self.makeButton("OK", pos = (0.0, -0.25), func = self.__handleOk) + self.makeButton("OK", pos = (0.0, -0.25), func = self.handleOk) elif (self.style == NoButtons): # No buttons at all pass @@ -111,15 +111,15 @@ class DialogBox(OnscreenPanel.OnscreenPanel): self.isLoaded = 0 return None - def __handleRollover(self): + def handleRollover(self): return None - def __handleOk(self): + def handleOk(self): assert(self.style != NoButtons) self.doneStatus = "ok" messenger.send(self.doneEvent) - def __handleCancel(self): + def handleCancel(self): assert(self.style == TwoChoice) self.doneStatus = "cancel" messenger.send(self.doneEvent) diff --git a/direct/src/showbase/Transitions.py b/direct/src/showbase/Transitions.py index c7e8873a4d..9bed95385a 100644 --- a/direct/src/showbase/Transitions.py +++ b/direct/src/showbase/Transitions.py @@ -83,6 +83,16 @@ class Transitions: 0,0,0,1, t) + def fadeScreen(self, alpha=0.6): + """ + Put a semitransparent screen over the camera plane + to darken out the world. Useful for drawing attention to + a dialog box for instance + """ + self.noTransitions() + self.fade.reparentTo(aspect2d) + self.fade.setColor(0,0,0,alpha) + def fadeOutTask(self, task, time=0.5, noFade=1): """ As a sequence: Fade out, execute the given task, then do a noFade