Browse Source

*** empty log message ***

Mike Goslin 25 years ago
parent
commit
8ef6e582b3
3 changed files with 64 additions and 10 deletions
  1. 1 1
      direct/src/fsm/StateData.py
  2. 41 6
      direct/src/gui/PickList.py
  3. 22 3
      direct/src/gui/ScrollingLabel.py

+ 1 - 1
direct/src/fsm/StateData.py

@@ -11,7 +11,7 @@ class StateData(DirectObject):
         """__init__(self, Event)
         """__init__(self, Event)
         """
         """
 	self.doneEvent = doneEvent
 	self.doneEvent = doneEvent
-  	self.doneStatus = 0
+  	self.doneStatus = None
 	self.isLoaded = 0
 	self.isLoaded = 0
 	self.isEntered = 0
 	self.isEntered = 0
 	return None
 	return None

+ 41 - 6
direct/src/gui/PickList.py

@@ -20,9 +20,9 @@ class PickList(PandaObject.PandaObject):
         self.frame = Frame.Frame(name)
         self.frame = Frame.Frame(name)
         
         
         # listen for keyboard events
         # 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
         # initialization
         self.choice = -1
         self.choice = -1
@@ -54,6 +54,7 @@ class PickList(PandaObject.PandaObject):
             # reset the display
             # reset the display
             self.frame.unmanage()
             self.frame.unmanage()
 	    self.frame = None
 	    self.frame = None
+	    self.choiceList = []
 	return None
 	return None
         
         
     # accessing
     # accessing
@@ -79,15 +80,15 @@ class PickList(PandaObject.PandaObject):
             # set the rollover-up event
             # set the rollover-up event
             eventName = self.name + "-up-" + str(choiceIndex)
             eventName = self.name + "-up-" + str(choiceIndex)
             button.button.setUpRolloverEvent(eventName)
             button.button.setUpRolloverEvent(eventName)
-            self.accept(eventName, self.__updateButtonChoice, [choiceIndex])
+            #self.accept(eventName, self.__updateButtonChoice, [choiceIndex])
             # set the rollover-down event
             # set the rollover-down event
             eventName = self.name + "-down-" + str(choiceIndex)
             eventName = self.name + "-down-" + str(choiceIndex)
             button.button.setDownRolloverEvent(eventName)
             button.button.setDownRolloverEvent(eventName)
-            self.accept(eventName, self.__makeChoice)
+            #self.accept(eventName, self.__makeChoice)
             # set exit event
             # set exit event
             eventName = self.name + "-exit-" + str(choiceIndex)
             eventName = self.name + "-exit-" + str(choiceIndex)
             button.button.setUpEvent(eventName)
             button.button.setUpEvent(eventName)
-            self.accept(eventName, self.__exitChoice)
+            #self.accept(eventName, self.__exitChoice)
             # keep a list of the choice buttons
             # keep a list of the choice buttons
             self.frame.addItem(button)
             self.frame.addItem(button)
             self.choiceList.append(button)
             self.choiceList.append(button)
@@ -96,12 +97,46 @@ class PickList(PandaObject.PandaObject):
         self.frame.makeWideAsWidest()
         self.frame.makeWideAsWidest()
         self.frame.makeVertical()
         self.frame.makeVertical()
 
 
+	return None
+
     def manage(self):
     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()
         self.frame.manage()
 
 
+	return None
+
     def unmanage(self):
     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()
         self.frame.unmanage()
 
 
+	return None
+
     def recompute(self):
     def recompute(self):
         self.frame.recompute()
         self.frame.recompute()
 
 

+ 22 - 3
direct/src/gui/ScrollingLabel.py

@@ -68,11 +68,11 @@ class ScrollingLabel(PandaObject.PandaObject):
                             self.title)        
                             self.title)        
 
 
         # listen for the scroll buttons
         # 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
         # listen for keyboard hits
-        self.setKeyFocus(0)
+        #self.setKeyFocus(0)
 
 
         # set list to first element
         # set list to first element
         self.setItem(self.item)
         self.setItem(self.item)
@@ -157,10 +157,29 @@ class ScrollingLabel(PandaObject.PandaObject):
         self.frame.recompute()
         self.frame.recompute()
         
         
     def manage(self):
     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.frame.manage()
+        self.setKeyFocus(0)
+
+	return None
 
 
     def unmanage(self):
     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()
         self.frame.unmanage()
+
+	return None
         
         
     def handleLeftButton(self):
     def handleLeftButton(self):
         # update the current item and the scroll label
         # update the current item and the scroll label