mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
*** empty log message ***
This commit is contained in:
parent
3ef2d9f737
commit
f2609e28fb
@ -32,12 +32,33 @@ def apropos(obj, str = None, fOverloaded = 0, width = None,
|
|||||||
"""
|
"""
|
||||||
Print out a formatted list of members and methods of an instance or class
|
Print out a formatted list of members and methods of an instance or class
|
||||||
"""
|
"""
|
||||||
|
def printHeader(name):
|
||||||
|
name = ' ' + name + ' '
|
||||||
|
length = len(name)
|
||||||
|
if length < 70:
|
||||||
|
padBefore = int((70 - length)/2.0)
|
||||||
|
padAfter = max(0,70 - length - padBefore)
|
||||||
|
header = '*' * padBefore + name + '*' * padAfter
|
||||||
|
print header
|
||||||
|
def printInstanceHeader(i, printHeader = printHeader):
|
||||||
|
printHeader(i.__class__.__name__ + ' INSTANCE INFO')
|
||||||
|
def printClassHeader(c, printHeader = printHeader):
|
||||||
|
printHeader(c.__name__ + ' CLASS INFO')
|
||||||
|
def printDictionaryHeader(d, printHeader = printHeader):
|
||||||
|
printHeader('DICTIONARY INFO')
|
||||||
|
# Print Header
|
||||||
if type(obj) == types.InstanceType:
|
if type(obj) == types.InstanceType:
|
||||||
print "***************************INSTANCE INFO*****************************"
|
printInstanceHeader(obj)
|
||||||
|
elif type(obj) == types.ClassType:
|
||||||
|
printClassHeader(obj)
|
||||||
|
elif type (obj) == types.DictionaryType:
|
||||||
|
printDictionaryHeader(obj)
|
||||||
|
# Get dict
|
||||||
if type(obj) == types.DictionaryType:
|
if type(obj) == types.DictionaryType:
|
||||||
dict = obj
|
dict = obj
|
||||||
else:
|
else:
|
||||||
dict = obj.__dict__
|
dict = obj.__dict__
|
||||||
|
# Adjust width
|
||||||
if width:
|
if width:
|
||||||
maxWidth = width
|
maxWidth = width
|
||||||
else:
|
else:
|
||||||
@ -86,8 +107,12 @@ def apropos(obj, str = None, fOverloaded = 0, width = None,
|
|||||||
value = value[:max(1,lineWidth - maxWidth)]
|
value = value[:max(1,lineWidth - maxWidth)]
|
||||||
print (format % key)[:maxWidth] + '\t' + value
|
print (format % key)[:maxWidth] + '\t' + value
|
||||||
if type(obj) == types.InstanceType:
|
if type(obj) == types.InstanceType:
|
||||||
print "*****************************CLASS INFO******************************"
|
print
|
||||||
apropos(obj.__class__, str = str )
|
apropos(obj.__class__, str = str )
|
||||||
|
elif type(obj) == types.ClassType:
|
||||||
|
for parentClass in obj.__bases__:
|
||||||
|
print
|
||||||
|
apropos(parentClass, str = str)
|
||||||
|
|
||||||
def aproposAll(obj):
|
def aproposAll(obj):
|
||||||
"""
|
"""
|
||||||
|
@ -10,7 +10,7 @@ import Dial
|
|||||||
import Floater
|
import Floater
|
||||||
import EntryScale
|
import EntryScale
|
||||||
|
|
||||||
class MopathRecorder(AppShell):
|
class MopathRecorder(AppShell, PandaObject):
|
||||||
# Override class variables here
|
# Override class variables here
|
||||||
appname = 'Mopath Recorder Panel'
|
appname = 'Mopath Recorder Panel'
|
||||||
frameWidth = 450
|
frameWidth = 450
|
||||||
@ -43,6 +43,10 @@ class MopathRecorder(AppShell):
|
|||||||
self.tempCS = direct.group.attachNewNode('mopathRecorderTempCS')
|
self.tempCS = direct.group.attachNewNode('mopathRecorderTempCS')
|
||||||
# Count of point sets recorded
|
# Count of point sets recorded
|
||||||
self.pointSetCount = 0
|
self.pointSetCount = 0
|
||||||
|
# Count of number of points in a point set
|
||||||
|
self.pointCount = 0
|
||||||
|
# Curve fitter object
|
||||||
|
self.curveFitter = CurveFitter()
|
||||||
# Set up event hooks
|
# Set up event hooks
|
||||||
self.undoEvents = [('undo', self.undoHook),
|
self.undoEvents = [('undo', self.undoHook),
|
||||||
('pushUndo', self.pushUndoHook),
|
('pushUndo', self.pushUndoHook),
|
||||||
@ -213,7 +217,7 @@ class MopathRecorder(AppShell):
|
|||||||
relief = RAISED, borderwidth = 2, anchor = CENTER)
|
relief = RAISED, borderwidth = 2, anchor = CENTER)
|
||||||
self.getWidget('CV Controls', 'Constant Velocity').pack(
|
self.getWidget('CV Controls', 'Constant Velocity').pack(
|
||||||
fill = 'x', expand = 1)
|
fill = 'x', expand = 1)
|
||||||
self.createLabeledEntry(frame, 'CV Controls', 'Total Time',
|
self.createLabeledEntry(frame, 'CV Controls', 'Path Duration',
|
||||||
'Set total curve duration',
|
'Set total curve duration',
|
||||||
command = self.setTotalTime)
|
command = self.setTotalTime)
|
||||||
frame.pack(fill = 'x', expand = 1)
|
frame.pack(fill = 'x', expand = 1)
|
||||||
@ -240,17 +244,17 @@ class MopathRecorder(AppShell):
|
|||||||
'Zero refine curve offset',
|
'Zero refine curve offset',
|
||||||
self.resetOffset, side = 'left')
|
self.resetOffset, side = 'left')
|
||||||
self.createLabeledEntry(offsetFrame, 'Refine Page', 'X',
|
self.createLabeledEntry(offsetFrame, 'Refine Page', 'X',
|
||||||
'Refine pass X offset', expand = 1)
|
'Refine pass X offset', width = 3, expand = 1)
|
||||||
self.createLabeledEntry(offsetFrame, 'Refine Page', 'Y',
|
self.createLabeledEntry(offsetFrame, 'Refine Page', 'Y',
|
||||||
'Refine pass Y offset', expand = 1)
|
'Refine pass Y offset', width = 3, expand = 1)
|
||||||
self.createLabeledEntry(offsetFrame, 'Refine Page', 'Z',
|
self.createLabeledEntry(offsetFrame, 'Refine Page', 'Z',
|
||||||
'Refine pass Z offset', expand = 1)
|
'Refine pass Z offset', width = 3, expand = 1)
|
||||||
self.createLabeledEntry(offsetFrame, 'Refine Page', 'H',
|
self.createLabeledEntry(offsetFrame, 'Refine Page', 'H',
|
||||||
'Refine pass H offset', expand = 1)
|
'Refine pass H offset', width = 3, expand = 1)
|
||||||
self.createLabeledEntry(offsetFrame, 'Refine Page', 'P',
|
self.createLabeledEntry(offsetFrame, 'Refine Page', 'P',
|
||||||
'Refine pass P offset', expand = 1)
|
'Refine pass P offset', width = 3, expand = 1)
|
||||||
self.createLabeledEntry(offsetFrame, 'Refine Page', 'R',
|
self.createLabeledEntry(offsetFrame, 'Refine Page', 'R',
|
||||||
'Refine pass R offset', expand = 1)
|
'Refine pass R offset', width = 3, expand = 1)
|
||||||
offsetFrame.pack(fill = 'x')
|
offsetFrame.pack(fill = 'x')
|
||||||
|
|
||||||
frame = Frame(self.refinePage)
|
frame = Frame(self.refinePage)
|
||||||
@ -321,6 +325,7 @@ class MopathRecorder(AppShell):
|
|||||||
print self.getVariable('Recording', 'Recording Path').get()
|
print self.getVariable('Recording', 'Recording Path').get()
|
||||||
|
|
||||||
def setStartStopHook(self):
|
def setStartStopHook(self):
|
||||||
|
self.
|
||||||
print 'start stop'
|
print 'start stop'
|
||||||
|
|
||||||
def setPlaybackTime(self, time):
|
def setPlaybackTime(self, time):
|
||||||
@ -348,7 +353,7 @@ class MopathRecorder(AppShell):
|
|||||||
print self.getWidget('CV Controls', 'Constant Velocity').get()
|
print self.getWidget('CV Controls', 'Constant Velocity').get()
|
||||||
|
|
||||||
def setTotalTime(self):
|
def setTotalTime(self):
|
||||||
print 'total time'
|
print 'path duration'
|
||||||
|
|
||||||
def setRefineStart(self,value):
|
def setRefineStart(self,value):
|
||||||
print 'refine start'
|
print 'refine start'
|
||||||
@ -379,9 +384,10 @@ class MopathRecorder(AppShell):
|
|||||||
Label(frame, text = text).pack(side = 'left', fill = 'x')
|
Label(frame, text = text).pack(side = 'left', fill = 'x')
|
||||||
entry = Entry(frame, width = width, relief = relief)
|
entry = Entry(frame, width = width, relief = relief)
|
||||||
entry.pack(side = 'left', fill = 'x', expand = expand)
|
entry.pack(side = 'left', fill = 'x', expand = expand)
|
||||||
|
self.widgetDict[category + '-' + text] = entry
|
||||||
if command:
|
if command:
|
||||||
entry.bind('<Return>', command)
|
entry.bind('<Return>', command)
|
||||||
frame.pack(side = side, expand = expand)
|
frame.pack(side = side, fill = 'x', expand = expand)
|
||||||
|
|
||||||
def createButton(self, parent, category, text, balloonHelp, command,
|
def createButton(self, parent, category, text, balloonHelp, command,
|
||||||
side = 'top', expand = 0):
|
side = 'top', expand = 0):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user