mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 10:54:24 -04:00
*** empty log message ***
This commit is contained in:
parent
a2355fa37c
commit
a42f2c6a94
@ -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')
|
||||||
|
@ -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)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user