*** empty log message ***

This commit is contained in:
Mike Goslin 2000-12-08 19:21:02 +00:00
parent 91127e578a
commit 20987630f3
9 changed files with 63 additions and 37 deletions

View File

@ -14,11 +14,9 @@ class StateData(DirectObject):
self.isLoaded = 0 self.isLoaded = 0
self.isEntered = 0 self.isEntered = 0
return None return None
def __del__(self): def cleanup(self):
"""__del__(self) """cleanup(self)
Only define this if you construct any classes in your __init__()
so you can del them explicitly
""" """
self.unload() self.unload()
return None return None

View File

@ -1,4 +1,5 @@
from ShowBaseGlobal import * from ShowBaseGlobal import *
from DirectObject import *
import GuiManager import GuiManager
import GuiLabel import GuiLabel
import GuiButton import GuiButton
@ -7,7 +8,7 @@ import Vec3
guiMgr = GuiManager.GuiManager.getPtr(base.win, base.mak.node()) guiMgr = GuiManager.GuiManager.getPtr(base.win, base.mak.node())
font = (loader.loadModelOnce("phase_3/models/fonts/ttf-comic")).node() font = (loader.loadModelOnce("phase_3/models/fonts/ttf-comic")).node()
class Button: class Button(DirectObject):
def __init__(self, name, label=None): def __init__(self, name, label=None):
self.name = name self.name = name
@ -31,14 +32,15 @@ class Button:
self.l3, self.l3, self.l1) self.l3, self.l3, self.l1)
self.setScale(0.1) self.setScale(0.1)
self.managed = 0 self.managed = 0
return None
def cleanup(self):
def __del__(self):
if (self.managed): if (self.managed):
self.button.unmanage() self.button.unmanage()
del(self.l1) self.l1 = None
del(self.l2) self.l2 = None
del(self.button) self.button = None
return None
def __str__(self): def __str__(self):
return "Button: %s" % self.name return "Button: %s" % self.name

View File

@ -29,7 +29,6 @@ class ForceAcknowledge(StateData.StateData):
self.okButton.manage() self.okButton.manage()
self.accept("ForceAcknowledge-rollover", self.__handleRollover) self.accept("ForceAcknowledge-rollover", self.__handleRollover)
self.accept("ForceAcknowledge-ok", self.__handleOk) self.accept("ForceAcknowledge-ok", self.__handleOk)
return None return None
def exit(self): def exit(self):
@ -79,7 +78,10 @@ class ForceAcknowledge(StateData.StateData):
# GUI # GUI
self.text.removeNode() self.text.removeNode()
del(self.okButton) self.text.cleanup()
self.text = None
self.okButton.cleanup()
self.okButton = None
self.isLoaded = 0 self.isLoaded = 0
return None return None

View File

@ -1,4 +1,5 @@
from ShowBaseGlobal import * from ShowBaseGlobal import *
from DirectObject import *
import GuiManager import GuiManager
import GuiFrame import GuiFrame
import Vec3 import Vec3
@ -6,7 +7,7 @@ import Vec3
guiMgr = GuiManager.GuiManager.getPtr(base.win, base.mak.node()) guiMgr = GuiManager.GuiManager.getPtr(base.win, base.mak.node())
font = (loader.loadModelOnce("phase_3/models/fonts/ttf-comic")).node() font = (loader.loadModelOnce("phase_3/models/fonts/ttf-comic")).node()
class Frame: class Frame(DirectObject):
# special methods # special methods
def __init__(self, name): def __init__(self, name):
@ -15,11 +16,15 @@ class Frame:
self.offset = 0 self.offset = 0
self.frame = GuiFrame.GuiFrame(name) self.frame = GuiFrame.GuiFrame(name)
self.items = [] self.items = []
return None
def __del__(self): def cleanup(self):
"""cleanup(self)
"""
if (self.managed): if (self.managed):
self.frame.unmanage() self.frame.unmanage()
del(self.frame) self.frame = None
return None
def __str__(self): def __str__(self):
return "Frame: %s = %s" % (self.name, self.items) return "Frame: %s = %s" % (self.name, self.items)

View File

@ -36,12 +36,16 @@ class OnscreenText(PandaObject, NodePath):
# assume 4:3 aspect ratio # assume 4:3 aspect ratio
self.setScale( 0.069, 1.0, 0.069) self.setScale( 0.069, 1.0, 0.069)
self.isClean = 0
return None
def __del__(self): def cleanup(self):
"""__del__(self) """cleanup(self)
""" """
del(self.textNode) self.textNode = None
NodePath.__del__(self) if self.isClean == 0:
self.isClean = 1
NodePath.__del__(self)
return None return None
def setText(self, string): def setText(self, string):

View File

@ -32,9 +32,10 @@ class PickList(PandaObject.PandaObject):
# display the menu # display the menu
self.__displayChoices(choiceList) self.__displayChoices(choiceList)
return None
def __del__(self): def cleanup(self):
"""__del__(self) """cleanup(self)
""" """
# remove keyboard events # remove keyboard events
self.ignore("up-up") self.ignore("up-up")
@ -49,7 +50,7 @@ class PickList(PandaObject.PandaObject):
# reset the display # reset the display
self.frame.unmanage() self.frame.unmanage()
del(self.frame) self.frame = None
return None return None
# accessing # accessing

View File

@ -78,24 +78,25 @@ class ScrollingLabel(PandaObject.PandaObject):
# refresh the frame # refresh the frame
self.frame.recompute() self.frame.recompute()
return None
def __del__(self): def cleanup(self):
"""__del__(self) """cleanup(self)
""" """
# remove gui items
del(self.frame)
del(self.items)
# ignore events # ignore events
self.ignore(self.name + "-left") self.ignore(self.name + "-left")
self.ignore(self.name + "-right") self.ignore(self.name + "-right")
self.setKeyFocus(0) self.setKeyFocus(0)
del(self.label) # remove gui items
del(self.title) self.frame = None
del(self.itemSign) self.items = None
del(self.leftButton)
del(self.rightButton) self.label = None
self.title = None
self.itemSign = None
self.leftButton = None
self.rightButton = None
return None return None
# accessing # accessing

View File

@ -1,10 +1,11 @@
from ShowBaseGlobal import * from ShowBaseGlobal import *
from DirectObject import *
import GuiSign import GuiSign
import GuiManager import GuiManager
guiMgr = GuiManager.GuiManager.getPtr(base.win, base.mak.node()) guiMgr = GuiManager.GuiManager.getPtr(base.win, base.mak.node())
class Sign: class Sign(DirectObject):
def __init__(self, name, label): def __init__(self, name, label):
self.name = name self.name = name
@ -12,11 +13,15 @@ class Sign:
self.sign = GuiSign.GuiSign(name, label) self.sign = GuiSign.GuiSign(name, label)
self.setScale(0.1) self.setScale(0.1)
self.managed = 0 self.managed = 0
return None
def __del__(self): def cleanup(self):
"""cleanup(self)
"""
if (self.managed): if (self.managed):
self.unmanage() self.unmanage()
del(self.sign) self.sign = None
return None
def __str__(self): def __str__(self):
return "sign: %s contains label: %s" % (self.name, self.label.name) return "sign: %s contains label: %s" % (self.name, self.label.name)

View File

@ -6,6 +6,14 @@ class DirectObject:
""" """
This is the class that all Direct/SAL classes should inherit from This is the class that all Direct/SAL classes should inherit from
""" """
def __del__(self):
"""__del__(self)
"""
try:
self.cleanup()
except:
directNotify.notify.warning('No cleanup() method defined!')
# Event Handling # Event Handling
# object.accept('mouse', object.handleMouse) # object.accept('mouse', object.handleMouse)