Browse Source

Added command to start direct and tk

Mark Mine 23 years ago
parent
commit
e26c37a923
2 changed files with 26 additions and 26 deletions
  1. 10 16
      direct/src/extensions/NodePath-extensions.py
  2. 16 10
      direct/src/showbase/ShowBase.py

+ 10 - 16
direct/src/extensions/NodePath-extensions.py

@@ -884,37 +884,31 @@
 
             
     def place(self):
-        base.wantTk = 1
-        base.wantDIRECT = 1
-        import DirectSession
-        direct.enable()
+        base.startTk()
+        #base.startDirect()
         import Placer
         return Placer.place(self)
 
     def explore(self):
-        base.wantTk = 1
-        base.wantDIRECT = 1
-        import TkGlobal
+        base.startTk()
+        #base.startDirect()
         import SceneGraphExplorer
         return SceneGraphExplorer.explore(self)
 
     def rgbPanel(self, cb = None):
-        base.wantTk = 1
-        base.wantDIRECT = 1
-        import TkGlobal
+        base.startTk()
+        #base.startDirect()
         import Slider
         return Slider.rgbPanel(self, cb)
 
     def select(self):
-        base.wantTk = 1
-        base.wantDIRECT = 1
-        import DirectSession
+        base.startTk()
+        base.startDirect()
         direct.select(self)
 
     def deselect(self):
-        base.wantTk = 1
-        base.wantDIRECT = 1
-        import DirectSession
+        base.startTk()
+        base.startDirect()
         direct.deselect(self)
 
     def setAlphaScale(self, alpha):

+ 16 - 10
direct/src/showbase/ShowBase.py

@@ -45,7 +45,6 @@ class ShowBase(DirectObject.DirectObject):
             vfs = None
 
         # Store dconfig variables
-        self.wantTk = self.config.GetBool('want-tk', 0)
         self.sfxActive = self.config.GetBool('audio-sfx-active', 1)
         self.musicActive = self.config.GetBool('audio-music-active', 1)
         self.wantFog = self.config.GetBool('want-fog', 1)
@@ -56,7 +55,6 @@ class ShowBase(DirectObject.DirectObject):
         self.sfxManagerList = []
         self.sfxManagerIsValidList = []
 
-        self.wantDIRECT = self.config.GetBool('want-directtools', 0)
         self.wantStats = self.config.GetBool('want-stats', 0)
 
         # Fill this in with a function to invoke when the user "exits"
@@ -200,14 +198,9 @@ class ShowBase(DirectObject.DirectObject):
         import Transitions
         self.transitions = Transitions.Transitions(self.loader)
 
-        # Tk
-        if self.wantTk:
-            import TkGlobal
-        if self.wantDIRECT:
-            import DirectSession
-            direct.enable()
-        else:
-            __builtins__["direct"] = self.direct = None
+        # Start Tk and DIRECT if specified by Configrc
+        self.startTk(self.config.GetBool('want-tk', 0))
+        self.startDirect(self.config.GetBool('want-directtools', 0))
 
         self.restart()
 
@@ -1202,6 +1195,19 @@ class ShowBase(DirectObject.DirectObject):
         self.notify.info("Exiting ShowBase.")
         sys.exit()
 
+    def startTk(self, fWantTk = 1):
+        self.wantTk = fWantTk
+        if self.wantTk:
+            import TkGlobal
+
+    def startDirect(self, fWantDirect = 1):
+        self.wantDirect = fWantDirect
+        if self.wantDirect:
+            import DirectSession
+            direct.enable()
+        else:
+            __builtins__["direct"] = self.direct = None
+
     def run(self):
         self.taskMgr.run()