From affc6a7348b689f1f23c23d2d80d779dc518ff04 Mon Sep 17 00:00:00 2001 From: Mark Mine Date: Mon, 5 Jun 2006 16:33:15 +0000 Subject: [PATCH] New parameter --- direct/src/leveleditor/PieMenu.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/direct/src/leveleditor/PieMenu.py b/direct/src/leveleditor/PieMenu.py index 0e1dc13407..56ef4d0a77 100644 --- a/direct/src/leveleditor/PieMenu.py +++ b/direct/src/leveleditor/PieMenu.py @@ -6,7 +6,7 @@ from direct.task import Task class PieMenu(NodePath, DirectObject): def __init__(self, visibleMenu, menuItems, - action = None, fUpdateOnlyOnChange = 1): + action = None, fUpdateOnlyOnChange = 1, selectedSF = 1): NodePath.__init__(self) # Create a toplevel node for aspect ratio scaling self.assign(hidden.attachNewNode('PieMenu')) @@ -21,7 +21,7 @@ class PieMenu(NodePath, DirectObject): self.menuItems = menuItems self.numItems = len(self.menuItems) if self.numItems == 0: - self.degreesPerItem = 0.0 + self.degreesPerItem = 360.0 else: self.degreesPerItem = 360.0/self.numItems self.itemOffset = self.degreesPerItem / 2.0 @@ -69,7 +69,12 @@ class PieMenu(NodePath, DirectObject): self.currItem = -1 taskMgr.add(self.pieMenuTask, 'pieMenuTask') - def pieMenuTask(self, state): + def pieMenuTask(self,state): + # Don't do anything if nothing in the menu + if self.numItems == 0: + self.currItem = -1 + return Task.cont + mouseX = self.dr.mouseX mouseY = self.dr.mouseY deltaX = mouseX - self.originX @@ -98,7 +103,6 @@ class PieMenu(NodePath, DirectObject): menuAngle = menuAngle + 360.0 menuAngle = menuAngle % 360.0 newItem = int(math.floor(menuAngle / self.degreesPerItem)) - if self.fUpdateOnlyOnChange: if (self.currItem != newItem): self.performAction(self.menuItems[newItem])