mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -04:00
added HotkeyBreaker
This commit is contained in:
parent
6a319cc778
commit
7454d3e33e
@ -23,7 +23,8 @@ __all__ = ['enumerate', 'unique', 'indent', 'nonRepeatingRandomList',
|
||||
'_equal', '_notEqual', '_isNone', '_notNone', '_contains', '_notIn',
|
||||
'ScratchPad', 'Sync', 'RefCounter', 'itype', 'getNumberedTypedString',
|
||||
'printNumberedTyped', 'DelayedCall', 'DelayedFunctor',
|
||||
'FrameDelayedCallback', 'ArgumentEater', 'ClassTree', 'getBase','superFlattenShip']
|
||||
'FrameDelayedCallback', 'ArgumentEater', 'ClassTree', 'getBase',
|
||||
'superFlattenShip','report','HotkeyBreaker']
|
||||
|
||||
import types
|
||||
import string
|
||||
@ -2579,6 +2580,34 @@ class GoldenRectangle:
|
||||
def getShorterEdge(longer):
|
||||
return longer / GoldenRatio
|
||||
|
||||
class HotkeyBreaker:
|
||||
def __init__(self,breakKeys = []):
|
||||
from direct.showbase.DirectObject import DirectObject
|
||||
self.do = DirectObject()
|
||||
self.breakKeys = {}
|
||||
for key in breakKeys:
|
||||
self.addBreakKey(key)
|
||||
|
||||
def addBreakKey(self,breakKey):
|
||||
if __dev__:
|
||||
self.do.accept(breakKey,self.breakFunc,extraArgs = [breakKey])
|
||||
|
||||
def removeBreakKey(self,breakKey):
|
||||
if __dev__:
|
||||
self.do.ignore(breakKey)
|
||||
|
||||
def breakFunc(self,breakKey):
|
||||
if __dev__:
|
||||
self.breakKeys[breakKey] = True
|
||||
|
||||
def setBreakPt(self,breakKey = None):
|
||||
if __dev__:
|
||||
if breakKey == None:
|
||||
import pdb;pdb.set_trace()
|
||||
if self.breakKeys.pop(breakKey,False):
|
||||
import pdb;pdb.set_trace()
|
||||
|
||||
|
||||
import __builtin__
|
||||
__builtin__.Functor = Functor
|
||||
__builtin__.Stack = Stack
|
||||
|
Loading…
x
Reference in New Issue
Block a user