mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-18 20:53:50 -04:00
*** empty log message ***
This commit is contained in:
parent
c84cf520b1
commit
42add2a951
@ -96,6 +96,9 @@ class Inspector:
|
|||||||
|
|
||||||
def getLastPartNumber(self):
|
def getLastPartNumber(self):
|
||||||
return self.lastPartNumber
|
return self.lastPartNumber
|
||||||
|
|
||||||
|
def selectedPart(self):
|
||||||
|
return self.partNumber(self.getLastPartNumber())
|
||||||
|
|
||||||
def namedParts(self):
|
def namedParts(self):
|
||||||
return dir(self.object)
|
return dir(self.object)
|
||||||
@ -224,6 +227,9 @@ class InspectorWindow:
|
|||||||
def topInspector(self):
|
def topInspector(self):
|
||||||
return self.inspectors[len(self.inspectors) - 1]
|
return self.inspectors[len(self.inspectors) - 1]
|
||||||
|
|
||||||
|
def selectedPart(self):
|
||||||
|
return self.topInspector().selectedPart()
|
||||||
|
|
||||||
def inspectedObject(self):
|
def inspectedObject(self):
|
||||||
return self.topInspector().object
|
return self.topInspector().object
|
||||||
|
|
||||||
@ -239,7 +245,7 @@ class InspectorWindow:
|
|||||||
# Paned widget for dividing two halves
|
# Paned widget for dividing two halves
|
||||||
self.framePane = Pmw.PanedWidget(self.top, orient = HORIZONTAL)
|
self.framePane = Pmw.PanedWidget(self.top, orient = HORIZONTAL)
|
||||||
self.createListWidget()
|
self.createListWidget()
|
||||||
self.createTextWidget()
|
self.createTextWidgets()
|
||||||
self.framePane.pack(expand = 1, fill = BOTH)
|
self.framePane.pack(expand = 1, fill = BOTH)
|
||||||
|
|
||||||
def setTitle(self):
|
def setTitle(self):
|
||||||
@ -264,13 +270,22 @@ class InspectorWindow:
|
|||||||
listbox.bind('<KeyRelease-Right>', lambda e, s = self: s.dive())
|
listbox.bind('<KeyRelease-Right>', lambda e, s = self: s.dive())
|
||||||
listbox.bind('<Return>', self.popOrDive)
|
listbox.bind('<Return>', self.popOrDive)
|
||||||
|
|
||||||
def createTextWidget(self):
|
def createTextWidgets(self):
|
||||||
textFrame = self.framePane.add('text')
|
textWidgetsFrame = self.framePane.add('textWidgets')
|
||||||
|
self.textPane = Pmw.PanedWidget(textWidgetsFrame, orient = VERTICAL)
|
||||||
|
textFrame = self.textPane.add('text', size = 200)
|
||||||
self.textWidget = Pmw.ScrolledText(
|
self.textWidget = Pmw.ScrolledText(
|
||||||
textFrame, vscrollmode = 'static')
|
textFrame, vscrollmode = 'static', text_state = 'disabled')
|
||||||
self.textWidget.pack(fill=BOTH, expand=1)
|
self.textWidget.pack(fill=BOTH, expand=1)
|
||||||
# self.textWidget.grid(row=0, column=1, columnspan=2, sticky=N+W+S+E)
|
commandFrame = self.textPane.add('command')
|
||||||
|
self.commandWidget = Pmw.ScrolledText(
|
||||||
|
commandFrame, vscrollmode = 'static')
|
||||||
|
self.commandWidget.insert(1.0, '>>> ')
|
||||||
|
self.commandWidget.pack(fill = BOTH, expand = 1)
|
||||||
|
self.commandWidget.component('text').bind(
|
||||||
|
'<KeyRelease-Return>', self.evalCommand)
|
||||||
|
self.textPane.pack(expand = 1, fill = BOTH)
|
||||||
|
|
||||||
def createMenus(self):
|
def createMenus(self):
|
||||||
self.menuBar = Menu(self.top)
|
self.menuBar = Menu(self.top)
|
||||||
self.top.config(menu=self.menuBar)
|
self.top.config(menu=self.menuBar)
|
||||||
@ -295,17 +310,36 @@ class InspectorWindow:
|
|||||||
if partNumber == None:
|
if partNumber == None:
|
||||||
partNumber = 0
|
partNumber = 0
|
||||||
string = self.topInspector().stringForPartNumber(partNumber)
|
string = self.topInspector().stringForPartNumber(partNumber)
|
||||||
|
self.textWidget.component('text').configure(state = 'normal')
|
||||||
self.textWidget.delete('1.0', END)
|
self.textWidget.delete('1.0', END)
|
||||||
self.textWidget.insert(END, string)
|
self.textWidget.insert(END, string)
|
||||||
|
self.textWidget.component('text').configure(state = 'disabled')
|
||||||
|
|
||||||
def popOrDive(self, event):
|
def popOrDive(self, event):
|
||||||
'''The list has been double-clicked. If the selection is 'self' then pop,
|
"""The list has been double-clicked. If the selection is 'self' then pop,
|
||||||
otherwise dive into the selected part'''
|
otherwise dive into the selected part"""
|
||||||
if self.selectedIndex() == 0:
|
if self.selectedIndex() == 0:
|
||||||
self.pop()
|
self.pop()
|
||||||
else:
|
else:
|
||||||
self.dive()
|
self.dive()
|
||||||
|
|
||||||
|
def evalCommand(self, event):
|
||||||
|
"""Eval text in commandWidget"""
|
||||||
|
insertPt = self.commandWidget.index(INSERT)
|
||||||
|
commandLineStart = self.commandWidget.search(
|
||||||
|
'>>> ', INSERT, backwards = 1)
|
||||||
|
if commandLineStart:
|
||||||
|
commandStart = self.commandWidget.index(
|
||||||
|
commandLineStart + ' + 4 chars')
|
||||||
|
command = self.commandWidget.get(commandStart,
|
||||||
|
commandStart + ' lineend')
|
||||||
|
if command:
|
||||||
|
partDict = { 'this' : self.selectedPart(),
|
||||||
|
'object' : self.topInspector().object }
|
||||||
|
result = eval(command, partDict)
|
||||||
|
self.commandWidget.insert(INSERT, `result` + '\n>>> ')
|
||||||
|
self.commandWidget.see(INSERT)
|
||||||
|
|
||||||
# Menu Events
|
# Menu Events
|
||||||
def inspect(self):
|
def inspect(self):
|
||||||
inspector = self.inspectorForSelectedPart()
|
inspector = self.inspectorForSelectedPart()
|
||||||
@ -346,7 +380,10 @@ class InspectorWindow:
|
|||||||
help.title("Inspector Help")
|
help.title("Inspector Help")
|
||||||
frame = Frame(help)
|
frame = Frame(help)
|
||||||
frame.pack()
|
frame.pack()
|
||||||
text = Label(frame, text="Double click an instance variable to dive down\nDouble click self to pop back up")
|
text = Label(
|
||||||
|
frame, justify = LEFT,
|
||||||
|
text = "ListBox shows selected object's attributes\nDouble click or use right arrow on an instance variable to dive down.\nDouble click self or use left arrow to pop back up.\nUse up and down arrow keys to move from item to item in the current level.\n\nnResult box (upper right) shows current value of selected item\n\nCommand box (lower right) is used to evaluate python commands\nLocal variables 'object' and 'this' are defined as the current object being inspected\nand the current attribute selected."
|
||||||
|
)
|
||||||
text.pack()
|
text.pack()
|
||||||
|
|
||||||
#Private
|
#Private
|
||||||
|
Loading…
x
Reference in New Issue
Block a user