*** empty log message ***

This commit is contained in:
Mark Mine 2003-10-27 06:22:05 +00:00
parent a2355fa37c
commit a42f2c6a94
2 changed files with 27 additions and 5 deletions

View File

@ -32,6 +32,8 @@ class DirectCameraControl(PandaObject):
self.actionEvents = [ self.actionEvents = [
['DIRECT-mouse2', self.mouseFlyStart], ['DIRECT-mouse2', self.mouseFlyStart],
['DIRECT-mouse2Up', self.mouseFlyStop], ['DIRECT-mouse2Up', self.mouseFlyStop],
]
self.keyEvents = [
['c', self.centerCamIn, 0.5], ['c', self.centerCamIn, 0.5],
['f', self.fitOnWidget], ['f', self.fitOnWidget],
['h', self.homeCam], ['h', self.homeCam],
@ -625,12 +627,15 @@ class DirectCameraControl(PandaObject):
# Continue # Continue
return Task.cont return Task.cont
def enableMouseFly(self): def enableMouseFly(self, fKeyEvents = 1):
# disable C++ fly interface # disable C++ fly interface
base.disableMouse() base.disableMouse()
# Enable events # Enable events
for event in self.actionEvents: for event in self.actionEvents:
self.accept(event[0], event[1], extraArgs = event[2:]) self.accept(event[0], event[1], extraArgs = event[2:])
if fKeyEvents:
for event in self.keyEvents:
self.accept(event[0], event[1], extraArgs = event[2:])
# Show marker # Show marker
self.coaMarker.reparentTo(direct.group) self.coaMarker.reparentTo(direct.group)
@ -640,6 +645,8 @@ class DirectCameraControl(PandaObject):
# Ignore events # Ignore events
for event in self.actionEvents: for event in self.actionEvents:
self.ignore(event[0]) self.ignore(event[0])
for event in self.keyEvents:
self.ignore(event[0])
# Kill tasks # Kill tasks
self.removeManipulateCameraTask() self.removeManipulateCameraTask()
taskMgr.remove('stickToWidget') taskMgr.remove('stickToWidget')

View File

@ -145,11 +145,14 @@ class DirectSession(PandaObject):
['SGE_Delete', self.removeNodePath], ['SGE_Delete', self.removeNodePath],
['SGE_Set Name', self.getAndSetName], ['SGE_Set Name', self.getAndSetName],
] ]
self.keyEvents = ['escape', 'delete', 'control', 'control-up', self.modifierEvents = ['control', 'control-up',
'shift', 'shift-up', 'alt', 'alt-up', 'shift', 'shift-up',
'page_up', 'page_down', 'alt', 'alt-up',
]
self.keyEvents = ['escape', 'delete', 'page_up', 'page_down',
'[', '{', ']', '}', '[', '{', ']', '}',
'shift-a', 'b', 'control-f', 'l', 'shift-l', 'o', 'p', 'r', 'shift-a', 'b', 'control-f',
'l', 'shift-l', 'o', 'p', 'r',
'shift-r', 's', 't', 'v', 'w'] 'shift-r', 's', 't', 'v', 'w']
self.mouseEvents = ['mouse1', 'mouse1-up', self.mouseEvents = ['mouse1', 'mouse1-up',
'shift-mouse1', 'shift-mouse1-up', 'shift-mouse1', 'shift-mouse1-up',
@ -199,6 +202,7 @@ class DirectSession(PandaObject):
self.selected.reset() self.selected.reset()
# Accept appropriate hooks # Accept appropriate hooks
self.enableKeyEvents() self.enableKeyEvents()
self.enableModifierEvents()
self.enableMouseEvents() self.enableMouseEvents()
self.enableActionEvents() self.enableActionEvents()
# Set flag # Set flag
@ -219,6 +223,7 @@ class DirectSession(PandaObject):
# Accept appropriate hooks # Accept appropriate hooks
self.enableMouseEvents() self.enableMouseEvents()
self.enableActionEvents() self.enableActionEvents()
self.enableModifierEvents()
# Set flag # Set flag
self.fEnabled = 1 self.fEnabled = 1
@ -230,6 +235,7 @@ class DirectSession(PandaObject):
# Turn off object manipulation # Turn off object manipulation
self.manipulationControl.disableManipulation() self.manipulationControl.disableManipulation()
self.disableKeyEvents() self.disableKeyEvents()
self.disableModifierEvents()
self.disableMouseEvents() self.disableMouseEvents()
self.disableActionEvents() self.disableActionEvents()
# Kill tasks # Kill tasks
@ -255,6 +261,7 @@ class DirectSession(PandaObject):
self.disableActionEvents() self.disableActionEvents()
# But let mouse events pass through # But let mouse events pass through
self.enableMouseEvents() self.enableMouseEvents()
self.enableModifierEvents()
def oobe(self): def oobe(self):
# If oobeMode was never set, set it to false and create the # If oobeMode was never set, set it to false and create the
@ -332,6 +339,10 @@ class DirectSession(PandaObject):
for event in self.actionEvents: for event in self.actionEvents:
self.accept(event[0], event[1], extraArgs = event[2:]) self.accept(event[0], event[1], extraArgs = event[2:])
def enableModifierEvents(self):
for event in self.modifierEvents:
self.accept(event, self.inputHandler, [event])
def enableKeyEvents(self): def enableKeyEvents(self):
for event in self.keyEvents: for event in self.keyEvents:
self.accept(event, self.inputHandler, [event]) self.accept(event, self.inputHandler, [event])
@ -344,6 +355,10 @@ class DirectSession(PandaObject):
for event, method in self.actionEvents: for event, method in self.actionEvents:
self.ignore(event) self.ignore(event)
def disableModifierEvents(self):
for event in self.modifierEvents:
self.ignore(event)
def disableKeyEvents(self): def disableKeyEvents(self):
for event in self.keyEvents: for event in self.keyEvents:
self.ignore(event) self.ignore(event)