From c3b70b120dc12611e0e2c1b1d2bc2b79a8ea6689 Mon Sep 17 00:00:00 2001 From: Gyedo Jeon Date: Sat, 6 Feb 2010 02:23:50 +0000 Subject: [PATCH] Added support undo selection in new LE --- direct/src/directtools/DirectSession.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/direct/src/directtools/DirectSession.py b/direct/src/directtools/DirectSession.py index 3920ddf748..7f1067ea19 100644 --- a/direct/src/directtools/DirectSession.py +++ b/direct/src/directtools/DirectSession.py @@ -141,8 +141,10 @@ class DirectSession(DirectObject): self.actionEvents = [ ['select', self.select], + ['DIRECT-select', self.selectCB], ['deselect', self.deselect], ['deselectAll', self.deselectAll], + ['DIRECT-preDeselectAll', self.deselectAllCB], ['highlightAll', self.selected.highlightAll], ['preRemoveNodePath', self.deselect], # Scene graph explorer functions @@ -649,9 +651,13 @@ class DirectSession(DirectObject): sf = 0.075 * nodeCamDist * math.tan(deg2Rad(direct.drList.getCurrentDr().fovV)) self.widget.setDirectScalingFactor(sf) return Task.cont - + def select(self, nodePath, fMultiSelect = 0, - fSelectTag = 1, fResetAncestry = 1, fLEPane = 0): + fSelectTag = 1, fResetAncestry = 1, fLEPane=0, fUndo=1): + messenger.send('DIRECT-select', [nodePath, fMultiSelect, fSelectTag, fResetAncestry, fLEPane, fUndo]) + + def selectCB(self, nodePath, fMultiSelect = 0, + fSelectTag = 1, fResetAncestry = 1, fLEPane = 0, fUndo=1): dnp = self.selected.select(nodePath, fMultiSelect, fSelectTag) if dnp: messenger.send('DIRECT_preSelectNodePath', [dnp]) @@ -725,6 +731,9 @@ class DirectSession(DirectObject): messenger.send('DIRECT_deselectedNodePath', [dnp]) def deselectAll(self): + messenger.send('DIRECT-preDeselectAll') + + def deselectAllCB(self): self.selected.deselectAll() # Hide the manipulation widget if self.manipulationControl.fMultiView: