Browse Source

PandaObject to DirectObject

Dave Schuyler 20 years ago
parent
commit
8900f25533

+ 1 - 1
direct/src/directdevices/DirectFastrak.py

@@ -1,6 +1,6 @@
 """ Class used to create and control radamec device """
 from math import *
-from direct.showbase.DirectObject import *
+from direct.showbase.DirectObject import DirectObject
 from DirectDeviceManager import *
 
 from direct.directnotify import DirectNotifyGlobal

+ 1 - 1
direct/src/directdevices/DirectJoybox.py

@@ -1,5 +1,5 @@
 """ Class used to create and control joybox device """
-from direct.showbase.DirectObject import *
+from direct.showbase.DirectObject import DirectObject
 from DirectDeviceManager import *
 from direct.directtools.DirectUtil import *
 from direct.gui import OnscreenText

+ 1 - 1
direct/src/directdevices/DirectRadamec.py

@@ -1,6 +1,6 @@
 """ Class used to create and control radamec device """
 from math import *
-from direct.showbase.DirectObject import *
+from direct.showbase.DirectObject import DirectObject
 from DirectDeviceManager import *
 
 from direct.directnotify import DirectNotifyGlobal

+ 1 - 1
direct/src/directtools/DirectCameraControl.py

@@ -1,4 +1,4 @@
-from direct.showbase.DirectObject import *
+from direct.showbase.DirectObject import DirectObject
 from DirectUtil import *
 from DirectGeometry import *
 from DirectGlobals import *

+ 1 - 1
direct/src/directtools/DirectManipulation.py

@@ -1,4 +1,4 @@
-from direct.showbase.DirectObject import *
+from direct.showbase.DirectObject import DirectObject
 from DirectGlobals import *
 from DirectUtil import *
 from DirectGeometry import *

+ 1 - 1
direct/src/directtools/DirectSelection.py

@@ -1,4 +1,4 @@
-from direct.showbase.DirectObject import *
+from direct.showbase.DirectObject import DirectObject
 from DirectGlobals import *
 from DirectUtil import *
 from DirectGeometry import *

+ 1 - 1
direct/src/directtools/DirectSession.py

@@ -1,4 +1,4 @@
-from direct.showbase.DirectObject import *
+from direct.showbase.DirectObject import DirectObject
 from DirectGlobals import *
 from DirectUtil import*
 from DirectCameraControl import *

+ 1 - 1
direct/src/directutil/Mopath.py

@@ -1,4 +1,4 @@
-from direct.showbase.DirectObject import *
+from direct.showbase.DirectObject import DirectObject
 from direct.directtools.DirectGeometry import *
 
 from pandac.PandaModules import NodePath

+ 2 - 1
direct/src/fsm/ClassicFSM.py

@@ -4,7 +4,8 @@ This module and class exist only for backward compatibility with
 existing code.  New code should use the FSM module instead.
 """
 
-from direct.showbase.DirectObject import *
+from direct.directnotify.DirectNotifyGlobal import directNotify
+from direct.showbase.DirectObject import DirectObject
 import types
 import weakref
 

+ 2 - 1
direct/src/fsm/State.py

@@ -1,7 +1,8 @@
 
 """State module: contains State class"""
 
-from direct.showbase.DirectObject import *
+from direct.directnotify.DirectNotifyGlobal import directNotify
+from direct.showbase.DirectObject import DirectObject
 import types
 
 # This gets set by a dconfig variable in ShowBase.py

+ 3 - 2
direct/src/fsm/StateData.py

@@ -1,7 +1,8 @@
 
 """StateData module: contains StateData class"""
 
-from direct.showbase.DirectObject import *
+from direct.directnotify.DirectNotifyGlobal import directNotify
+from direct.showbase.DirectObject import DirectObject
 
 from direct.directnotify import DirectNotifyGlobal
 
@@ -11,7 +12,7 @@ class StateData(DirectObject):
     State Machine (ClassicFSM).
     """
 
-    notify = DirectNotifyGlobal.directNotify.newCategory('StateData')
+    notify = directNotify.newCategory('StateData')
 
     def __init__(self, doneEvent):
         self.doneEvent = doneEvent

+ 1 - 1
direct/src/interval/FunctionInterval.py

@@ -2,7 +2,7 @@
 
 from pandac.PandaModules import *
 from direct.showbase.MessengerGlobal import *
-from direct.directnotify.DirectNotifyGlobal import *
+from direct.directnotify.DirectNotifyGlobal import directNotify
 import Interval
 import types
 

+ 2 - 1
direct/src/interval/Interval.py

@@ -1,6 +1,7 @@
 """Interval module: contains the Interval class"""
 
-from direct.showbase.DirectObject import *
+from direct.directnotify.DirectNotifyGlobal import directNotify
+from direct.showbase.DirectObject import DirectObject
 from pandac.PandaModules import *
 from direct.task import Task
 from direct.showbase import PythonUtil

+ 1 - 1
direct/src/particles/ForceGroup.py

@@ -1,5 +1,5 @@
 from pandac.PandaModules import *
-from direct.showbase.DirectObject import *
+from direct.showbase.DirectObject import DirectObject
 from direct.showbase.PhysicsManagerGlobal import *
 
 from direct.directnotify import DirectNotifyGlobal

+ 8 - 8
direct/src/showbase/PandaObject.py

@@ -1,8 +1,8 @@
-from DirectObject import *
-from pandac.PandaModules import *
-
-class PandaObject(DirectObject):
-    """
-    This is the class that all Panda/Show classes should inherit from
-    """
-    pass
+## from DirectObject import *
+## from pandac.PandaModules import *
+## 
+## class PandaObject(DirectObject):
+##     """
+##     This is the class that all Panda/Show classes should inherit from
+##     """
+##     pass

+ 101 - 101
direct/src/showbase/pandaSqueezeTool.py

@@ -54,9 +54,9 @@ import base64, imp, marshal, os, string, sys, md5
 # usage
 
 def usage():
-	print
-	print "SQUEEZE", VERSION, "(c) 1997-1998 by Secret Labs AB"
-	print """\
+        print
+        print "SQUEEZE", VERSION, "(c) 1997-1998 by Secret Labs AB"
+        print """\
 Convert a Python application to a compressed module package.
 
 Usage: squeeze [-1ux] -o app [-b start] modules... [-d files...]
@@ -84,7 +84,7 @@ The -x option can be used with -d to create a self-extracting archive,
 instead of a package.  When the resulting script is executed, the
 data files are extracted.  Omit the -b option in this case.
 """
-	sys.exit(1)
+        sys.exit(1)
 
 
 # --------------------------------------------------------------------
@@ -92,44 +92,44 @@ data files are extracted.  Omit the -b option in this case.
 
 class Squeezer:
 
-	def __init__(self):
+        def __init__(self):
 
-		self.rawbytes = self.bytes = 0
-		self.modules = {}
+                self.rawbytes = self.bytes = 0
+                self.modules = {}
 
-	def addmodule(self, file):
+        def addmodule(self, file):
 
-		if file[-1] == "c":
-			file = file[:-1]
+                if file[-1] == "c":
+                        file = file[:-1]
 
-		m = os.path.splitext(os.path.split(file)[1])[0]
+                m = os.path.splitext(os.path.split(file)[1])[0]
 
-		# read sourcefile
-		f = open(file)
-		codestring = f.read()
-		f.close()
+                # read sourcefile
+                f = open(file)
+                codestring = f.read()
+                f.close()
 
-		# dump to file
-		self.modules[m] = compile(codestring, m, "exec")
+                # dump to file
+                self.modules[m] = compile(codestring, m, "exec")
 
-	def adddata(self, file):
+        def adddata(self, file):
 
-		self.modules["+"+file] = open(file, "rb").read()
+                self.modules["+"+file] = open(file, "rb").read()
 
-	def getarchive(self):
+        def getarchive(self):
 
-		# marshal our module dictionary
-		data = marshal.dumps(self.modules)
-		self.rawbytes = len(data)
+                # marshal our module dictionary
+                data = marshal.dumps(self.modules)
+                self.rawbytes = len(data)
 
-		# return (compressed) dictionary
-		data = zlib.compress(data, 9)
-		self.bytes = len(data)
+                # return (compressed) dictionary
+                data = zlib.compress(data, 9)
+                self.bytes = len(data)
 
-		return data
+                return data
 
-	def getstatus(self):
-		return self.bytes, self.rawbytes
+        def getstatus(self):
+                return self.bytes, self.rawbytes
 
 
 # --------------------------------------------------------------------
@@ -217,22 +217,22 @@ def explode():
 
 def getloader(data, package):
 
-	s = loader
+        s = loader
 
-	if data:
-		if explode:
-			s = s + loaderexplode
-		else:
-			s = s + loaderopen
+        if data:
+                if explode:
+                        s = s + loaderexplode
+                else:
+                        s = s + loaderopen
 
-	dict = {
-		"modules": "marshal, zlib",
-		"data":    "zlib.decompress(data)",
-		}
+        dict = {
+                "modules": "marshal, zlib",
+                "data":    "zlib.decompress(data)",
+                }
 
-	s = s % dict
+        s = s % dict
 
-	return marshal.dumps(compile(s, "<package>", "exec"))
+        return marshal.dumps(compile(s, "<package>", "exec"))
 
 
 # --------------------------------------------------------------------
@@ -249,63 +249,63 @@ embed = 0
 explode = 0
 
 def squeeze(app, start, filelist, outputDir):
-	localMagic = MAGIC
-	data = None
+        localMagic = MAGIC
+        data = None
 
-	bootstrap = os.path.join(outputDir, app + ".py")
+        bootstrap = os.path.join(outputDir, app + ".py")
         archiveBase = app + ".pyz"
-	archive   = os.path.join(outputDir, archiveBase)
+        archive   = os.path.join(outputDir, archiveBase)
 
-	archiveid = app
+        archiveid = app
 
-	#
-	# avoid overwriting files not generated by squeeze
+        #
+        # avoid overwriting files not generated by squeeze
 
-	try:
-		fp = open(bootstrap)
-		s = fp.readline()
-		string.index(s, MAGIC)
-	except IOError:
-		pass
-	except ValueError:
-		print bootstrap, "was not created by squeeze.  You have to manually"
-		print "remove the file to proceed."
-		sys.exit(1)
+        try:
+                fp = open(bootstrap)
+                s = fp.readline()
+                string.index(s, MAGIC)
+        except IOError:
+                pass
+        except ValueError:
+                print bootstrap, "was not created by squeeze.  You have to manually"
+                print "remove the file to proceed."
+                sys.exit(1)
 
-	#
-	# collect modules
+        #
+        # collect modules
 
-	sq = Squeezer()
-	for file in filelist:
-		# print 'addmodule:', file
-		sq.addmodule(file)
+        sq = Squeezer()
+        for file in filelist:
+                # print 'addmodule:', file
+                sq.addmodule(file)
 
-	package = sq.getarchive()
-	size = len(package)
+        package = sq.getarchive()
+        size = len(package)
 
-	#
-	# get loader
+        #
+        # get loader
 
-	loader = getloader(data, package)
+        loader = getloader(data, package)
 
-	zbegin, zend = "zlib.decompress(", ")"
-	loader = zlib.compress(loader, 9)
+        zbegin, zend = "zlib.decompress(", ")"
+        loader = zlib.compress(loader, 9)
 
-	loaderlen = len(loader)
+        loaderlen = len(loader)
 
-	magic = repr(imp.get_magic())
-	version = string.split(sys.version)[0]
+        magic = repr(imp.get_magic())
+        version = string.split(sys.version)[0]
 
-	#
-	# generate script and package files
+        #
+        # generate script and package files
 
-	if embed:
+        if embed:
 
-		# embedded archive
-		data = base64.encodestring(loader + package)
+                # embedded archive
+                data = base64.encodestring(loader + package)
 
-		fp = open(bootstrap, "w")
-		fp.write('''\
+                fp = open(bootstrap, "w")
+                fp.write('''\
 #%(localMagic)s %(archiveid)s
 import ihooks,zlib,base64,marshal
 s=base64.decodestring("""
@@ -314,25 +314,25 @@ exec marshal.loads(%(zbegin)ss[:%(loaderlen)d]%(zend)s)
 boot("%(app)s",s,%(size)d,%(loaderlen)d)
 exec "import %(start)s"
 ''' % locals())
-		bytes = fp.tell()
+                bytes = fp.tell()
 
-	else:
+        else:
 
-		# separate archive file
+                # separate archive file
 
-		fp = open(archive, "wb")
+                fp = open(archive, "wb")
 
-		fp.write(loader)
-		fp.write(package)
+                fp.write(loader)
+                fp.write(package)
 
-		bytes = fp.tell()
-		fp.close()
-		#
-		# create bootstrap code
+                bytes = fp.tell()
+                fp.close()
+                #
+                # create bootstrap code
 
-		fp = open(bootstrap, "w")
-		# Note: David Rose adjusted the following to be panda-specific.
-		fp.write("""\
+                fp = open(bootstrap, "w")
+                # Note: David Rose adjusted the following to be panda-specific.
+                fp.write("""\
 #%(localMagic)s %(archiveid)s
 import ihooks,zlib,marshal,os,sys
 
@@ -360,13 +360,13 @@ boot("%(app)s",f,%(size)d)
 exec "from %(start)s import *"
 #exec "run()"
 """ % locals())
-		bytes = bytes + fp.tell()
-		fp.close()
+                bytes = bytes + fp.tell()
+                fp.close()
 
-	#
-	# show statistics
+        #
+        # show statistics
 
-	dummy, rawbytes = sq.getstatus()
+        dummy, rawbytes = sq.getstatus()
 
-	print "squeezed", rawbytes, "to", bytes, "bytes",
-	print "(%d%%)" % (bytes * 100 / rawbytes)
+        print "squeezed", rawbytes, "to", bytes, "bytes",
+        print "(%d%%)" % (bytes * 100 / rawbytes)

+ 35 - 35
direct/src/tkwidgets/Slider.py

@@ -81,15 +81,15 @@ class Slider(Valuator):
 class SliderWidget(Pmw.MegaWidget):
     def __init__(self, parent = None, **kw):
 
-	# Define the megawidget options.
-	INITOPT = Pmw.INITOPT
-	optiondefs = (
+        # Define the megawidget options.
+        INITOPT = Pmw.INITOPT
+        optiondefs = (
             # Appearance
-	    ('style',           VALUATOR_MINI,      INITOPT),
+            ('style',           VALUATOR_MINI,      INITOPT),
             ('relief',          RAISED,             self.setRelief),
             ('borderwidth',     2,                  self.setBorderwidth),
             ('background',      'grey75',           self.setBackground),
-	    ('fliparrow',       0,                  INITOPT),
+            ('fliparrow',       0,                  INITOPT),
             # Behavior
             # Bounds
             ('min',             0.0,            self.setMin),
@@ -106,14 +106,14 @@ class SliderWidget(Pmw.MegaWidget):
             ('postCallback',    None,           None),
             # Extra data to be passed to callback function, needs to be a list
             ('callbackData',    [],             None),
-	)
-	self.defineoptions(kw, optiondefs)
+        )
+        self.defineoptions(kw, optiondefs)
 
-	# Initialise the base class (after defining the options).
-	Pmw.MegaWidget.__init__(self, parent)
+        # Initialise the base class (after defining the options).
+        Pmw.MegaWidget.__init__(self, parent)
 
-	# Create the components.
-	interior = self.interior()
+        # Create the components.
+        interior = self.interior()
 
         # Current value
         self.value = self['value']
@@ -199,36 +199,36 @@ class SliderWidget(Pmw.MegaWidget):
             self._maxLabel.pack(side = LEFT)
 
         # Create slider
-	if self['style'] == VALUATOR_MINI:
+        if self['style'] == VALUATOR_MINI:
 
-	    # Create the arrow button to invoke slider
-	    self._arrowBtn = self.createcomponent(
+            # Create the arrow button to invoke slider
+            self._arrowBtn = self.createcomponent(
                 'arrowbutton',
                 (), None,
                 Canvas, (interior,), borderwidth = 0,
                 relief = FLAT, width = 14, height = 14,
                 scrollregion = (-7,-7,7,7))
-	    self._arrowBtn.pack(expand = 1, fill = BOTH)
+            self._arrowBtn.pack(expand = 1, fill = BOTH)
             self._arrowBtn.create_polygon(-5, -5, 5, -5, 0, 5,
                                           fill = 'grey50',
                                           tags = 'arrow')
             self._arrowBtn.create_line(-5, 5, 5, 5,
                                        fill = 'grey50',
                                        tags = 'arrow')
-	    # Create the dropdown window.
-	    self._popup = self.createcomponent(
+            # Create the dropdown window.
+            self._popup = self.createcomponent(
                 'popup',
                 (), None,
                 Toplevel, (interior,),
                 relief = RAISED, borderwidth = 2)
-	    self._popup.withdraw()
-	    self._popup.overrideredirect(1)
+            self._popup.withdraw()
+            self._popup.overrideredirect(1)
 
             # Create popup slider
             createSlider(self._popup)
 
-	    # Bind events to the arrow button.
-	    self._arrowBtn.bind('<1>', self._postSlider)
+            # Bind events to the arrow button.
+            self._arrowBtn.bind('<1>', self._postSlider)
             self._arrowBtn.bind('<Enter>', self.highlightWidget)
             self._arrowBtn.bind('<Leave>', self.restoreWidget)
             # Need to unpost the popup if the arrow Button is unmapped (eg: 
@@ -236,10 +236,10 @@ class SliderWidget(Pmw.MegaWidget):
             # displayed.
             self._arrowBtn.bind('<Unmap>', self._unpostSlider)
             
-	    # Bind events to the dropdown window.
-	    self._popup.bind('<Escape>', self._unpostSlider)
-	    self._popup.bind('<ButtonRelease-1>', self._widgetBtnRelease)
-	    self._popup.bind('<ButtonPress-1>', self._widgetBtnPress)
+            # Bind events to the dropdown window.
+            self._popup.bind('<Escape>', self._unpostSlider)
+            self._popup.bind('<ButtonRelease-1>', self._widgetBtnRelease)
+            self._popup.bind('<ButtonPress-1>', self._widgetBtnPress)
             self._popup.bind('<Motion>', self._widgetMove)
             
             self._widget.bind('<Left>', self._decrementValue)
@@ -248,14 +248,14 @@ class SliderWidget(Pmw.MegaWidget):
             self._widget.bind('<Shift-Right>', self._bigIncrementValue)
             self._widget.bind('<Home>', self._goToMin)
             self._widget.bind('<End>', self._goToMax)
-	else:
+        else:
             createSlider(interior)
             self._widget['command'] = self._firstScaleCommand
-	    self._widget.bind('<ButtonRelease-1>', self._scaleBtnRelease)
-	    self._widget.bind('<ButtonPress-1>', self._scaleBtnPress)
+            self._widget.bind('<ButtonRelease-1>', self._scaleBtnRelease)
+            self._widget.bind('<ButtonPress-1>', self._scaleBtnPress)
             
-	# Check keywords and initialise options.
-	self.initialiseoptions(SliderWidget)
+        # Check keywords and initialise options.
+        self.initialiseoptions(SliderWidget)
 
         # Adjust relief
         if not kw.has_key('relief'):
@@ -265,7 +265,7 @@ class SliderWidget(Pmw.MegaWidget):
         self.updateIndicator(self['value'])
 
     def destroy(self):
-	if (self['style'] == VALUATOR_MINI) and self._isPosted:
+        if (self['style'] == VALUATOR_MINI) and self._isPosted:
             Pmw.popgrab(self._popup)
         Pmw.MegaWidget.destroy(self)
 
@@ -416,10 +416,10 @@ class SliderWidget(Pmw.MegaWidget):
         self._fPressInside = 0
 
     def _unpostOnNextRelease(self, event = None):
-	self._fUnpost = 1
+        self._fUnpost = 1
 
     def _unpostSlider(self, event=None):
-	if not self._isPosted:
+        if not self._isPosted:
             # It is possible to get events on an unposted popup.  For
             # example, by repeatedly pressing the space key to post
             # and unpost the popup.  The <space> event may be
@@ -433,9 +433,9 @@ class SliderWidget(Pmw.MegaWidget):
         # can't redirect it.  Also, return the grab to the next active
         # window in the stack, if any.
         Pmw.popgrab(self._popup)
-	self._popup.withdraw()
+        self._popup.withdraw()
 
-	self._isPosted = 0
+        self._isPosted = 0
 
         # Raise up arrow button
         self.interior()['relief'] = RAISED

+ 114 - 114
doc/SceneEditor/sceneEditor.py

@@ -154,7 +154,7 @@ class myLevelEditor(AppShell):
         self.initialiseoptions(myLevelEditor)
 
         self.parent.resizable(False,False) ## Disable the ability to resize for this Window.
-	
+        
         ######### Set the event handler ##########
         self.dataFlowEvents = [
             ## Event from Side Window
@@ -209,14 +209,14 @@ class myLevelEditor(AppShell):
             ['SEditor-ToggleBackface',self.toggleBackface],
             ['SEditor-ToggleTexture',self.toggleTexture],
             ['SEditor-ToggleWireframe',self.toggleWireframe],
-	    ['ParticlePanel_Added_Effect',self.addParticleEffect],
+            ['ParticlePanel_Added_Effect',self.addParticleEffect],
             ]
         
 
         #################################
         ###  Collision detection
         #################################
-       	self.cTrav = CollisionTraverser()
+        self.cTrav = CollisionTraverser()
         base.cTrav = self.cTrav
 
         for event in self.dataFlowEvents:
@@ -230,7 +230,7 @@ class myLevelEditor(AppShell):
             ['SGE_Remove', self.remove],
             ['SGE_Add Dummy', self.addDummyNode],
             ['SGE_Add Collision Object', self.addCollisionObj],
-	    ['SGE_Metadata', self.openMetadataPanel],
+            ['SGE_Metadata', self.openMetadataPanel],
             ['SGE_Set as Reparent Target', self.setAsReparentTarget],
             ['SGE_Reparent to Target', self.reparentToNode],
             ['SGE_Animation Panel', self.openAnimPanel],
@@ -262,17 +262,17 @@ class myLevelEditor(AppShell):
         ### Create SceneEditor Ver. DirectSession
         self.seSession = SeSession()
         self.seSession.enable()
-	SEditor.camera.setPos(0,-50,10)
+        SEditor.camera.setPos(0,-50,10)
 
-	self.placer=None
-	self.MopathPanel = None
-	self.alignPanelDict = {}
-	#self.quadview=QuadView()
-	
+        self.placer=None
+        self.MopathPanel = None
+        self.alignPanelDict = {}
+        #self.quadview=QuadView()
+        
 
-	self.lightingPanel = None
-	self.controllerPanel = None
-	self.particlePanel = None
+        self.lightingPanel = None
+        self.controllerPanel = None
+        self.particlePanel = None
 
         ### Create Side Window
         self.sideWindow = sideWindow(worldColor = self.worldColor,
@@ -305,7 +305,7 @@ class myLevelEditor(AppShell):
         ### Creating the Buttons in the window frame
         #######################################################
         buttonFrame = Frame(interior)
-	self.image=[]
+        self.image=[]
 
         self.image.append(self.getPhotoImage('models/icons/new.gif'))#0
         self.image.append(self.getPhotoImage('models/icons/open.gif'))#1
@@ -327,20 +327,20 @@ class myLevelEditor(AppShell):
         self.image.append(self.getPhotoImage('models/icons/blank.gif'))
         self.image.append(self.getPhotoImage('models/icons/blank.gif'))
         self.image.append(self.getPhotoImage('models/icons/blank.gif'))
-	self.image.append(self.getPhotoImage('models/icons/blank.gif'))
-	self.image.append(self.getPhotoImage('models/icons/blank.gif'))
-	self.image.append(self.getPhotoImage('models/icons/blank.gif'))
+        self.image.append(self.getPhotoImage('models/icons/blank.gif'))
+        self.image.append(self.getPhotoImage('models/icons/blank.gif'))
+        self.image.append(self.getPhotoImage('models/icons/blank.gif'))
 
         i = 0
         for element in self.image:
             i += 1
             button = Button(buttonFrame, image = element, command=lambda n=i : self.buttonPushed(n))
             button.pack(fill=X, side = LEFT)
-	    
+            
 
         buttonFrame.pack(fill=X, side=LEFT,expand=True)
-	
-	
+        
+        
     def buttonPushed(self, buttonIndex):
         #################################################################
         # buttonPushed(self, buttonNum)
@@ -351,8 +351,8 @@ class myLevelEditor(AppShell):
         ####  Change here to process the button event further.
         ####
         if buttonIndex==1: # New Scene
-	    self.newScene()
-	    return
+            self.newScene()
+            return
         elif buttonIndex==2: # Open Scene
             self.openScene()
             return
@@ -369,13 +369,13 @@ class myLevelEditor(AppShell):
             self.openPlacerPanel()
             return
         elif buttonIndex==7: # Open Mopath Panel
-	    self.openMoPathPanel()
+            self.openMoPathPanel()
             return
         elif buttonIndex==8: # Open Lighting Panel
             self.openLightingPanel()
             return
         elif buttonIndex==9: # Open Particle Panel
-	    self.openParticlePanel()
+            self.openParticlePanel()
             return
         elif buttonIndex==10: 
             self.openInputPanel()
@@ -582,7 +582,7 @@ class myLevelEditor(AppShell):
     ## Processing message events
 
     def makeDirty(self):
-	self.Dirty=1
+        self.Dirty=1
 
     def removeLight(self, lightNode):
         #################################################################
@@ -639,7 +639,7 @@ class myLevelEditor(AppShell):
         list, lightNode = AllScene.createLight(type = type)
         if self.lightingPanel != None:
             self.lightingPanel.updateList(list,lightNode)
-	self.makeDirty()
+        self.makeDirty()
         return
     
     def lightingPanelClose(self):
@@ -674,9 +674,9 @@ class myLevelEditor(AppShell):
         return
 
     def openMetadataPanel(self,nodePath=None):
-	print nodePath
-	self.MetadataPanel=MetadataPanel(nodePath)
-	pass
+        print nodePath
+        self.MetadataPanel=MetadataPanel(nodePath)
+        pass
 
     def duplicate(self, nodePath = None):
         #################################################################
@@ -718,7 +718,7 @@ class myLevelEditor(AppShell):
         #
         #################################################################
         AllScene.addDummyNode(nodepath)
-	self.makeDirty()
+        self.makeDirty()
         pass
 
     def addCollisionObj(self, nodepath = None):
@@ -832,67 +832,67 @@ class myLevelEditor(AppShell):
         # and will reset the application title to "New Scene"
         #################################################################
         self.closeAllSubWindows() ## Close all sub window
-	if(self.CurrentFileName):
-	    currentF=Filename(self.CurrentFileName)
-	    self.CurrentFileName=None
+        if(self.CurrentFileName):
+            currentF=Filename(self.CurrentFileName)
+            self.CurrentFileName=None
             AllScene.resetAll()
-	    currentModName=currentF.getBasenameWoExtension()
- 	    # Let us actually remove the scene from sys modules... this is done because every scene is loaded as a module
-	    # And if we reload a scene python wont reload since its already in sys.modules... and hence we delete it
-	    # If there is ever a garbage colleciton bug..this might be a point to look at 
-	    if sys.modules.has_key(currentModName):
-	        del sys.modules[currentModName]
-	        print sys.getrefcount(AllScene.theScene)
-	        del AllScene.theScene
-	else:
-	    AllScene.resetAll()
-	self.parent.title('Scene Editor - New Scene')
+            currentModName=currentF.getBasenameWoExtension()
+             # Let us actually remove the scene from sys modules... this is done because every scene is loaded as a module
+            # And if we reload a scene python wont reload since its already in sys.modules... and hence we delete it
+            # If there is ever a garbage colleciton bug..this might be a point to look at 
+            if sys.modules.has_key(currentModName):
+                del sys.modules[currentModName]
+                print sys.getrefcount(AllScene.theScene)
+                del AllScene.theScene
+        else:
+            AllScene.resetAll()
+        self.parent.title('Scene Editor - New Scene')
         pass
 
     def openScene(self):
         #################################################################
         # openScene(self)
         #################################################################
-	# In the future try and provide merging of two scenes
-	
+        # In the future try and provide merging of two scenes
+        
         if(self.CurrentFileName or self.Dirty):
-	    saveScene = tkMessageBox._show("Load scene","Save the current scene?",icon = tkMessageBox.QUESTION,type = tkMessageBox.YESNOCANCEL)
-	    if (saveScene == "yes"):
-		self.saveScene()
-	    elif (saveScene == "cancel"):
-		return
+            saveScene = tkMessageBox._show("Load scene","Save the current scene?",icon = tkMessageBox.QUESTION,type = tkMessageBox.YESNOCANCEL)
+            if (saveScene == "yes"):
+                self.saveScene()
+            elif (saveScene == "cancel"):
+                return
         
         self.closeAllSubWindows() ## Close all sub window
-	if(self.CurrentFileName):
-	    currentF=Filename(self.CurrentFileName)
-	    AllScene.resetAll()
-	    currentModName=currentF.getBasenameWoExtension()
-	    # Let us actually remove the scene from sys modules... this is done because every scene is loaded as a module
-	    # And if we reload a scene python wont reload since its already in sys.modules... and hence we delete it
-	    # If there is ever a garbage colleciton bug..this might be a point to look at 
-	    if sys.modules.has_key(currentModName):
-	        del sys.modules[currentModName]
-	        print sys.getrefcount(AllScene.theScene)
-	        del AllScene.theScene
+        if(self.CurrentFileName):
+            currentF=Filename(self.CurrentFileName)
+            AllScene.resetAll()
+            currentModName=currentF.getBasenameWoExtension()
+            # Let us actually remove the scene from sys modules... this is done because every scene is loaded as a module
+            # And if we reload a scene python wont reload since its already in sys.modules... and hence we delete it
+            # If there is ever a garbage colleciton bug..this might be a point to look at 
+            if sys.modules.has_key(currentModName):
+                del sys.modules[currentModName]
+                print sys.getrefcount(AllScene.theScene)
+                del AllScene.theScene
         else:
-	    AllScene.resetAll()
-
-	self.CurrentFileName = AllScene.loadScene()
-	
-	if(self.CurrentFileName==None):
-	    return
-
-	thefile=Filename(self.CurrentFileName)
-	thedir=thefile.getFullpathWoExtension()
-	print "SCENE EDITOR::" + thedir
-	self.CurrentDirName=thedir
-	if self.CurrentFileName != None:
+            AllScene.resetAll()
+
+        self.CurrentFileName = AllScene.loadScene()
+        
+        if(self.CurrentFileName==None):
+            return
+
+        thefile=Filename(self.CurrentFileName)
+        thedir=thefile.getFullpathWoExtension()
+        print "SCENE EDITOR::" + thedir
+        self.CurrentDirName=thedir
+        if self.CurrentFileName != None:
             self.parent.title('Scene Editor - '+ Filename.fromOsSpecific(self.CurrentFileName).getBasenameWoExtension())
-	if self.lightingPanel !=None:
+        if self.lightingPanel !=None:
             lightList=AllScene.getList()
             self.lightingPanel.updateList(lightList)
         messenger.send('SGE_Update Explorer',[render])
-	
+        
 
         # Close the side window in order to reset all world settings to fit the scene we have loaded.
         self.sideWindow.quit()
@@ -917,45 +917,45 @@ class myLevelEditor(AppShell):
         # If this filename exists in sys.modules you cannot use it
         #################################################################
 
-	if(self.CurrentFileName):
-	    f=FileSaver()	
-	    f.SaveFile(AllScene,self.CurrentFileName,self.CurrentDirName,1)
-	    self.Dirty=0
-	else:
-      	    self.saveAsScene()
+        if(self.CurrentFileName):
+            f=FileSaver()        
+            f.SaveFile(AllScene,self.CurrentFileName,self.CurrentDirName,1)
+            self.Dirty=0
+        else:
+                  self.saveAsScene()
         pass
    
 
     def saveAsScene(self):
         #################################################################
-	# saveAsScene(self)
+        # saveAsScene(self)
         # Ask for filename using a file save dialog
         # If this filename exists in sys.modules you cannot use it
         # Instantiate FileSaver from seFileSaver.py and pass it the filename
         #################################################################
 
         fileName = tkFileDialog.asksaveasfilename(filetypes = [("PY","py")],title = "Save Scene")
-	if(not fileName):
-	    return
-	fCheck=Filename(fileName)
-	#print fCheck.getBasenameWoExtension()
-	###############################################################################
-	# !!!!! See if a module exists by this name... if it does you cannot use this filename !!!!!
-	###############################################################################
-	if(sys.modules.has_key(fCheck.getBasenameWoExtension())):
-	    tkMessageBox.showwarning(
+        if(not fileName):
+            return
+        fCheck=Filename(fileName)
+        #print fCheck.getBasenameWoExtension()
+        ###############################################################################
+        # !!!!! See if a module exists by this name... if it does you cannot use this filename !!!!!
+        ###############################################################################
+        if(sys.modules.has_key(fCheck.getBasenameWoExtension())):
+            tkMessageBox.showwarning(
             "Save file",
             "Cannot save with this name because there is a system module with the same name. Please resave as something else."
-	        )
+                )
 
-	    return
-	self.CurrentDirName=fileName
-	fileName=fileName+".py"
+            return
+        self.CurrentDirName=fileName
+        fileName=fileName+".py"
         f=FileSaver()
-	self.CurrentFileName=fileName
-	f.SaveFile(AllScene,fileName,self.CurrentDirName,0)
-	self.Dirty=0
-	self.parent.title('Scene Editor - '+ Filename.fromOsSpecific(self.CurrentFileName).getBasenameWoExtension())
+        self.CurrentFileName=fileName
+        f.SaveFile(AllScene,fileName,self.CurrentDirName,0)
+        self.Dirty=0
+        self.parent.title('Scene Editor - '+ Filename.fromOsSpecific(self.CurrentFileName).getBasenameWoExtension())
         pass
 
     def loadModel(self):
@@ -974,7 +974,7 @@ class myLevelEditor(AppShell):
             title = 'Load New Model',
             parent = self.parent)
         if modelFilename:
-	    self.makeDirty()
+            self.makeDirty()
             if not AllScene.loadModel(modelFilename, Filename.fromOsSpecific(modelFilename)):
                 print '----Error! No Such Model File!'
         pass
@@ -995,9 +995,9 @@ class myLevelEditor(AppShell):
             title = 'Load New Actor',
             parent = self.parent)
 
-	
+        
         if ActorFilename:
-	    self.makeDirty()
+            self.makeDirty()
             if not AllScene.loadActor(ActorFilename, Filename.fromOsSpecific(ActorFilename)):
                 print '----Error! No Such Model File!'
         pass
@@ -1174,24 +1174,24 @@ class myLevelEditor(AppShell):
         return
     
     def addParticleEffect(self,effect_name,effect,node):
-	AllScene.particleDict[effect_name]=effect
-	AllScene.particleNodes[effect_name]=node
-	if not self.ParticleEnable:
+        AllScene.particleDict[effect_name]=effect
+        AllScene.particleNodes[effect_name]=node
+        if not self.ParticleEnable:
             AllScene.particleNodes[effect_name].setTransparency(True)
             AllScene.particleNodes[effect_name].setAlphaScale(0)
             AllScene.particleNodes[effect_name].setBin("fixed",1)
-	return
+        return
 
     def openParticlePanel(self):
         if self.particlePanel != None:
             ## There already has a Particle panel!
             return
-	if(len(AllScene.particleDict)==0):
-	    self.particlePanel=seParticlePanel.ParticlePanel()
-	else:
-	    for effect in AllScene.particleDict:
-	        theeffect=AllScene.particleDict[effect]
-	    self.particlePanel=seParticlePanel.ParticlePanel(particleEffect=theeffect,effectsDict=AllScene.particleDict)
+        if(len(AllScene.particleDict)==0):
+            self.particlePanel=seParticlePanel.ParticlePanel()
+        else:
+            for effect in AllScene.particleDict:
+                theeffect=AllScene.particleDict[effect]
+            self.particlePanel=seParticlePanel.ParticlePanel(particleEffect=theeffect,effectsDict=AllScene.particleDict)
 
         pass
 
@@ -1337,7 +1337,7 @@ class myLevelEditor(AppShell):
             self.menuEdit.entryconfig('Duplicate', state=NORMAL)
             self.menuEdit.entryconfig('Remove', state=NORMAL)
             self.menuEdit.entryconfig('Object Properties', state=NORMAL)
-	    if callBack:
+            if callBack:
                 self.seSession.select(nodePath,fResetAncestry=1)
             messenger.send('SGE_Update Explorer',[render])
             if not taskMgr.hasTaskNamed('seMonitorSelectedNode'):

+ 4 - 4
doc/makepanda/makepanda.py

@@ -149,7 +149,7 @@ def oscmd(cmd):
     else:
         res = os.system(cmd)
     if res != 0:
-	exit("")
+        exit("")
 
 def getbuilding(opts):
     building = 0
@@ -1180,7 +1180,7 @@ def EnqueueIgate(ipath=0, opts=0, outd=0, obj=0, src=0, module=0, library=0, als
     if ((ipath==0)|(opts==0)|(outd==0)|(obj==0)|(src==0)|(module==0)|(library==0)|(also==0)|(skip==0)):
         exit("syntax error in EnqueueIgate directive")
     if (COMPILER=="MSVC7"):
-       	altdep = "built/bin/interrogate.exe"
+               altdep = "built/bin/interrogate.exe"
         wobj = "built/tmp/"+obj
         fn = CompileIgateMSVC7
     if (COMPILER=="LINUXA"):
@@ -1234,11 +1234,11 @@ def EnqueueImod(ipath=0, opts=0, obj=0, module=0, library=0, files=0):
     if ((ipath==0)|(opts==0)|(obj==0)|(module==0)|(library==0)|(files==0)):
         exit("syntax error in EnqueueImod directive")
     if (COMPILER=="MSVC7"):
-       	altdep = "built/bin/interrogate_module.exe"
+               altdep = "built/bin/interrogate_module.exe"
         wobj = "built/tmp/"+obj[:-4]+".obj"
         fn = CompileImodMSVC7
     if (COMPILER=="LINUXA"):
-       	altdep = "built/bin/interrogate_module"
+               altdep = "built/bin/interrogate_module"
         wobj = "built/tmp/"+obj[:-4]+".o"
         fn = CompileImodLINUXA
     if (SLAVEBUILD!=0) and (SLAVEBUILD!=wobj): return