diff --git a/direct/src/gui/OnscreenText.py b/direct/src/gui/OnscreenText.py index 8e962abbf3..39020d3fa0 100644 --- a/direct/src/gui/OnscreenText.py +++ b/direct/src/gui/OnscreenText.py @@ -36,7 +36,13 @@ class OnscreenText(PandaObject, NodePath): # assume 4:3 aspect ratio self.setScale( 0.069, 1.0, 0.069) - + + def __del__(self): + """__del__(self) + """ + del(self.textNode) + NodePath.__del__(self) + return None def setText(self, string): """setText(self, string) diff --git a/direct/src/gui/PickList.py b/direct/src/gui/PickList.py index 586ddf1948..0b3af38d92 100644 --- a/direct/src/gui/PickList.py +++ b/direct/src/gui/PickList.py @@ -32,6 +32,12 @@ class PickList(PandaObject.PandaObject): # display the menu self.__displayChoices(choiceList) + + def __del__(self): + """__del__(self) + """ + self.cleanup() + return None def cleanup(self): """cleanup(self) diff --git a/direct/src/gui/ScrollingLabel.py b/direct/src/gui/ScrollingLabel.py index dafa9c19dc..0436710832 100644 --- a/direct/src/gui/ScrollingLabel.py +++ b/direct/src/gui/ScrollingLabel.py @@ -79,6 +79,16 @@ class ScrollingLabel(PandaObject.PandaObject): # refresh the frame self.frame.recompute() + def __del__(self): + """__del__(self) + """ + self.cleanup() + del(self.label) + del(self.title) + del(self.itemSign) + del(self.leftButton) + del(self.rightButton) + return None def cleanup(self): # remove gui items diff --git a/direct/src/gui/Sign.py b/direct/src/gui/Sign.py index c3cfc46d31..efea106e19 100644 --- a/direct/src/gui/Sign.py +++ b/direct/src/gui/Sign.py @@ -1,53 +1,53 @@ -from ShowBaseGlobal import * -import GuiSign -import GuiManager - -guiMgr = GuiManager.GuiManager.getPtr(base.win, base.mak.node()) - -class Sign: - - def __init__(self, name, label): - self.name = name - self.label = label - self.sign = GuiSign.GuiSign(name, label) - self.setScale(0.1) - self.managed = 0 - - def __del__(self): - if (self.managed): - self.unmanage() - del(self.sign) - - def __str__(self): - return "sign: %s contains label: %s" % (self.name, self.label.name) - - # accessing - def getName(self): - return self.name - - def setText(self, text): - self.label.setText(text) - - def getLabel(self): - return self.label - - def getGuiItem(self): - return self.sign - - def setScale(self, scale): - self.sign.setScale(scale) - - def getWidth(self): - return self.label.getWidth() - - def setWidth(self, width): - self.label.setWidth(width) - - # actions - def manage(self): - self.managed = 1 - self.sign.manage(guiMgr, base.eventMgr.eventHandler) - - def unmanage(self): - self.managed = 0 - self.sign.unmanage() +from ShowBaseGlobal import * +import GuiSign +import GuiManager + +guiMgr = GuiManager.GuiManager.getPtr(base.win, base.mak.node()) + +class Sign: + + def __init__(self, name, label): + self.name = name + self.label = label + self.sign = GuiSign.GuiSign(name, label) + self.setScale(0.1) + self.managed = 0 + + def __del__(self): + if (self.managed): + self.unmanage() + del(self.sign) + + def __str__(self): + return "sign: %s contains label: %s" % (self.name, self.label.name) + + # accessing + def getName(self): + return self.name + + def setText(self, text): + self.label.setText(text) + + def getLabel(self): + return self.label + + def getGuiItem(self): + return self.sign + + def setScale(self, scale): + self.sign.setScale(scale) + + def getWidth(self): + return self.label.getWidth() + + def setWidth(self, width): + self.label.setWidth(width) + + # actions + def manage(self): + self.managed = 1 + self.sign.manage(guiMgr, base.eventMgr.eventHandler) + + def unmanage(self): + self.managed = 0 + self.sign.unmanage()