From 8ef6e582b3768da1d1aa98307a28ad90179744d2 Mon Sep 17 00:00:00 2001 From: Mike Goslin Date: Fri, 22 Dec 2000 00:28:55 +0000 Subject: [PATCH] *** empty log message *** --- direct/src/fsm/StateData.py | 2 +- direct/src/gui/PickList.py | 47 ++++++++++++++++++++++++++++---- direct/src/gui/ScrollingLabel.py | 25 +++++++++++++++-- 3 files changed, 64 insertions(+), 10 deletions(-) diff --git a/direct/src/fsm/StateData.py b/direct/src/fsm/StateData.py index 84d0252be0..e0552acb77 100644 --- a/direct/src/fsm/StateData.py +++ b/direct/src/fsm/StateData.py @@ -11,7 +11,7 @@ class StateData(DirectObject): """__init__(self, Event) """ self.doneEvent = doneEvent - self.doneStatus = 0 + self.doneStatus = None self.isLoaded = 0 self.isEntered = 0 return None diff --git a/direct/src/gui/PickList.py b/direct/src/gui/PickList.py index be84bcd753..bbbbc988af 100644 --- a/direct/src/gui/PickList.py +++ b/direct/src/gui/PickList.py @@ -20,9 +20,9 @@ class PickList(PandaObject.PandaObject): self.frame = Frame.Frame(name) # listen for keyboard events - self.accept("up-up", self.__decrementChoice) - self.accept("down-up", self.__incrementChoice) - self.accept("enter-up", self.__makeChoice, [1]) + #self.accept("up-up", self.__decrementChoice) + #self.accept("down-up", self.__incrementChoice) + #self.accept("enter-up", self.__makeChoice, [1]) # initialization self.choice = -1 @@ -54,6 +54,7 @@ class PickList(PandaObject.PandaObject): # reset the display self.frame.unmanage() self.frame = None + self.choiceList = [] return None # accessing @@ -79,15 +80,15 @@ class PickList(PandaObject.PandaObject): # set the rollover-up event eventName = self.name + "-up-" + str(choiceIndex) button.button.setUpRolloverEvent(eventName) - self.accept(eventName, self.__updateButtonChoice, [choiceIndex]) + #self.accept(eventName, self.__updateButtonChoice, [choiceIndex]) # set the rollover-down event eventName = self.name + "-down-" + str(choiceIndex) button.button.setDownRolloverEvent(eventName) - self.accept(eventName, self.__makeChoice) + #self.accept(eventName, self.__makeChoice) # set exit event eventName = self.name + "-exit-" + str(choiceIndex) button.button.setUpEvent(eventName) - self.accept(eventName, self.__exitChoice) + #self.accept(eventName, self.__exitChoice) # keep a list of the choice buttons self.frame.addItem(button) self.choiceList.append(button) @@ -96,12 +97,46 @@ class PickList(PandaObject.PandaObject): self.frame.makeWideAsWidest() self.frame.makeVertical() + return None + def manage(self): + # listen for keyboard events + self.accept("up-up", self.__decrementChoice) + self.accept("down-up", self.__incrementChoice) + self.accept("enter-up", self.__makeChoice, [1]) + + for choice in self.choiceList: + choiceIndex = self.choiceList.index(choice) + # set the rollover-up event + eventName = self.name + "-up-" + str(choiceIndex) + self.accept(eventName, self.__updateButtonChoice, [choiceIndex]) + # set the rollover-down event + eventName = self.name + "-down-" + str(choiceIndex) + self.accept(eventName, self.__makeChoice) + # set exit event + eventName = self.name + "-exit-" + str(choiceIndex) + self.accept(eventName, self.__exitChoice) + self.frame.manage() + return None + def unmanage(self): + # remove keyboard events + self.ignore("up-up") + self.ignore("down-up") + self.ignore("enter-up") + + # ignore all the buttons + for item in self.frame.getItems(): + self.ignore(item.getGuiItem().getUpEvent()) + self.ignore(item.getGuiItem().getUpRolloverEvent()) + self.ignore(item.getGuiItem().getDownRolloverEvent()) + self.frame.unmanage() + return None + def recompute(self): self.frame.recompute() diff --git a/direct/src/gui/ScrollingLabel.py b/direct/src/gui/ScrollingLabel.py index 5da1d06ccd..57c363e557 100644 --- a/direct/src/gui/ScrollingLabel.py +++ b/direct/src/gui/ScrollingLabel.py @@ -68,11 +68,11 @@ class ScrollingLabel(PandaObject.PandaObject): self.title) # listen for the scroll buttons - self.accept(self.name + "-left", self.handleLeftButton) - self.accept(self.name + "-right", self.handleRightButton) + #self.accept(self.name + "-left", self.handleLeftButton) + #self.accept(self.name + "-right", self.handleRightButton) # listen for keyboard hits - self.setKeyFocus(0) + #self.setKeyFocus(0) # set list to first element self.setItem(self.item) @@ -157,10 +157,29 @@ class ScrollingLabel(PandaObject.PandaObject): self.frame.recompute() def manage(self): + # listen for the scroll buttons + self.accept(self.name + "-left", self.handleLeftButton) + self.accept(self.name + "-right", self.handleRightButton) + self.frame.manage() + self.setKeyFocus(0) + + return None def unmanage(self): + # ignore keyboard hits + self.ignore("left-up") + self.ignore("right-up") + + # ignore events + self.ignore(self.name + "-left") + self.ignore(self.name + "-right") + self.ignore(self.name + "-rollover") + self.setKeyFocus(0) + self.frame.unmanage() + + return None def handleLeftButton(self): # update the current item and the scroll label