소스 검색

Various fixes for cog hq editor
changed manipulateObjectCleanup event to include list of affected node paths

Mark Mine 22 년 전
부모
커밋
e7f567692f

+ 4 - 2
direct/src/directtools/DirectManipulation.py

@@ -115,7 +115,8 @@ class DirectManipulationControl(PandaObject):
         self.objectHandles.hideGuides()
         self.objectHandles.hideGuides()
         # Restart followSelectedNodePath task
         # Restart followSelectedNodePath task
         self.spawnFollowSelectedNodePathTask()
         self.spawnFollowSelectedNodePathTask()
-        messenger.send('DIRECT_manipulateObjectCleanup')
+        messenger.send('DIRECT_manipulateObjectCleanup',
+                       [direct.selected.getSelectedAsList()])
 
 
     def spawnFollowSelectedNodePathTask(self):
     def spawnFollowSelectedNodePathTask(self):
         # If nothing selected, just return
         # If nothing selected, just return
@@ -498,7 +499,8 @@ class DirectManipulationControl(PandaObject):
             # Move the objects with the widget
             # Move the objects with the widget
             direct.selected.moveWrtWidgetAll()
             direct.selected.moveWrtWidgetAll()
             # Let everyone know that something was moved
             # Let everyone know that something was moved
-            messenger.send('DIRECT_manipulateObjectCleanup')
+            messenger.send('DIRECT_manipulateObjectCleanup',
+                           [direct.selected.getSelectedAsList()])
 
 
 class ObjectHandles(NodePath,PandaObject):
 class ObjectHandles(NodePath,PandaObject):
     def __init__(self):
     def __init__(self):

+ 2 - 0
direct/src/level/LevelSpec.py

@@ -203,10 +203,12 @@ class LevelSpec:
 
 
         def saveToDisk(self, filename=None, makeBackup=1):
         def saveToDisk(self, filename=None, makeBackup=1):
             """returns zero on failure"""
             """returns zero on failure"""
+            print 'saveToDisk', filename
             if filename is None:
             if filename is None:
                 filename = self.filename
                 filename = self.filename
 
 
             if makeBackup and self.privFileExists(filename):
             if makeBackup and self.privFileExists(filename):
+                print 'HERE'
                 # create a backup
                 # create a backup
                 try:
                 try:
                     backupFilename = self.privGetBackupFilename()
                     backupFilename = self.privGetBackupFilename()

+ 2 - 2
direct/src/leveleditor/LevelEditor.py

@@ -1184,11 +1184,11 @@ class LevelEditor(NodePath, PandaObject):
             # If it exists, set the name of the DNA Node
             # If it exists, set the name of the DNA Node
             dnaNode.setName(newName)
             dnaNode.setName(newName)
 
 
-    def updateSelectedPose(self):
+    def updateSelectedPose(self, nodePathList):
         """
         """
         Update the DNA database to reflect selected objects current positions
         Update the DNA database to reflect selected objects current positions
         """
         """
-        for selectedNode in direct.selected:
+        for selectedNode in nodePathList:
             # Is this a DNA Object in the DNASTORE database?
             # Is this a DNA Object in the DNASTORE database?
             dnaObject = self.findDNANode(selectedNode)
             dnaObject = self.findDNANode(selectedNode)
             if dnaObject:
             if dnaObject:

+ 1 - 1
direct/src/tkpanels/MopathRecorder.py

@@ -748,7 +748,7 @@ class MopathRecorder(AppShell, PandaObject):
             elif direct.selected.last.id() == self.tangentMarker.id():
             elif direct.selected.last.id() == self.tangentMarker.id():
                 self.manipulandumId = self.tangentMarker.id()
                 self.manipulandumId = self.tangentMarker.id()
               
               
-    def manipulateObjectCleanupHook(self):
+    def manipulateObjectCleanupHook(self, nodePathList = []):
         # Clear flag
         # Clear flag
         self.manipulandumId = None
         self.manipulandumId = None
             
             

+ 2 - 1
direct/src/tkpanels/Placer.py

@@ -567,7 +567,8 @@ class Placer(AppShell):
         
         
     def xformStop(self, data):
     def xformStop(self, data):
         # Throw event to signal manipulation done
         # Throw event to signal manipulation done
-        messenger.send('DIRECT_manipulateObjectCleanup')
+        # Send nodepath as a list
+        messenger.send('DIRECT_manipulateObjectCleanup', [[self['nodePath']]])
         # Update placer to reflect new state
         # Update placer to reflect new state
         self.updatePlacer()
         self.updatePlacer()
         # If moving widget restart follow task
         # If moving widget restart follow task