From f2c62f162e1fe309a9d40ab9b4e71f2e4d67d069 Mon Sep 17 00:00:00 2001 From: Cary Sandvig Date: Fri, 20 Apr 2001 01:09:53 +0000 Subject: [PATCH] fun fun fun --- direct/src/gui/Button.py | 7 +++++-- direct/src/gui/ForceAcknowledge.py | 26 ++++++-------------------- direct/src/gui/GuiGlobals.py | 20 ++++++++++++++++---- 3 files changed, 27 insertions(+), 26 deletions(-) diff --git a/direct/src/gui/Button.py b/direct/src/gui/Button.py index 12244cd963..980cae7514 100644 --- a/direct/src/gui/Button.py +++ b/direct/src/gui/Button.py @@ -22,7 +22,7 @@ class Button(DirectObject): litStyle = Label.ButtonLit, downStyle = Label.ButtonDown, inactiveStyle = Label.ButtonInactive, - event = None): + event = None, rolloverSound = None, clickSound = None): self.name = name self.width = width @@ -94,8 +94,11 @@ class Button(DirectObject): self.lInactive = self.lUp self.button = GuiButton.GuiButton(self.name, self.lUp, self.lLit, - self.lDown, self.lDown, self.lInactive) + self.lDown, self.lDown, + self.lInactive) self.button.setDrawOrder(drawOrder) + self.button.setRolloverFunctor(getNewRolloverFunctor(rolloverSound)) + self.button.setBehaviorFunctor(getNewClickFunctor(clickSound)) if (event != None): self.button.setBehaviorEvent(event) diff --git a/direct/src/gui/ForceAcknowledge.py b/direct/src/gui/ForceAcknowledge.py index 22cc240646..038c99c67e 100644 --- a/direct/src/gui/ForceAcknowledge.py +++ b/direct/src/gui/ForceAcknowledge.py @@ -11,8 +11,6 @@ class ForceAcknowledge(StateData.StateData): def __init__(self, doneEvent, message): """___init___(self, Event)""" StateData.StateData.__init__(self, doneEvent) - self.soundRollover = None - self.soundOk = None return None def enter(self, message): @@ -27,7 +25,6 @@ class ForceAcknowledge(StateData.StateData): if self.okButton: self.okButton.manage() - self.accept("ForceAcknowledge-rollover", self.__handleRollover) self.accept("ForceAcknowledge-ok", self.__handleOk) return None @@ -37,7 +34,6 @@ class ForceAcknowledge(StateData.StateData): if self.isLoaded == 0: return None - self.ignore("ForceAcknowledge-rollover") self.ignore("ForceAcknowledge-ok") self.text.reparentTo(hidden) @@ -55,11 +51,10 @@ class ForceAcknowledge(StateData.StateData): scale = 0.08, pos = (0.0, 0.25)) # create a button - self.okButton = Button.Button("ForceAcknowledge", "OK") + self.okButton = Button.Button("ForceAcknowledge", "OK", + event = "ForceAcknowledge-ok") self.okButton.setPos(0.0, -0.5) # set rollover event - self.okButton.button.setUpRolloverEvent("ForceAcknowledge-rollover") - self.okButton.button.setDownRolloverEvent("ForceAcknowledge-ok") self.okButton.button.setPriority(self.okButton.button, GuiItem.PHighest) self.isLoaded = 1 @@ -79,16 +74,7 @@ class ForceAcknowledge(StateData.StateData): self.isLoaded = 0 return None - def __handleRollover(self): - return None - - def __handleOk(self): - self.doneStatus = "ok" - messenger.send(self.doneEvent) - - - - - - - + def __handleOk(self, item): + if (item == self.okButton.button): + self.doneStatus = "ok" + messenger.send(self.doneEvent) diff --git a/direct/src/gui/GuiGlobals.py b/direct/src/gui/GuiGlobals.py index 5b67c145ac..fb9c527f7b 100644 --- a/direct/src/gui/GuiGlobals.py +++ b/direct/src/gui/GuiGlobals.py @@ -9,6 +9,7 @@ guiMgr = GuiManager.GuiManager.getPtr(base.win, base.mak.node(), font = None panel = None drawOrder = 100 +massiveLeak = [] def getDefaultFont(): global font @@ -34,20 +35,31 @@ def setDefaultDrawOrder(newDrawOrder): global drawOrder drawOrder = newDrawOrder -def getNewRolloverFunctor(): +def getNewRolloverFunctor(sound = None): val = None if base.wantSound: - roll = loader.loadSound("phase_3/audio/sfr/GUI_rollover.mp3") + if sound: + roll = sound + else: + roll = loader.loadSound("phase_3/audio/sfr/GUI_rollover.mp3") val = AudioGuiFunctor(roll) else: val = AudioGuiFunctor() + global massiveLeak + massiveLeak.append(val) return val -def getNewClickFunctor(): +def getNewClickFunctor(sound = None): val = None if base.wantSound: - click = loader.loadSound("phase_3/audio/sfx/GUI_create_toon_fwd.mp3") + if sound: + click = sound + else: + click = loader.loadSound( + "phase_3/audio/sfx/GUI_create_toon_fwd.mp3") val = AudioGuiFunctor(click) else: val = AudioGuiFunctor() + global massiveLeak + massiveLeak.append(val) return val