forked from bartvdbraak/blender
display_properties was being re-defined for each keymap item.
This commit is contained in:
parent
27fff49335
commit
b60bc0ee85
@ -211,6 +211,19 @@ class InputKeyMapPanel(bpy.types.Panel):
|
||||
for entry in children:
|
||||
self.draw_entry(display_keymaps, entry, col, level + 1)
|
||||
|
||||
@staticmethod
|
||||
def draw_kmi_properties(box, properties, title=None):
|
||||
box.separator()
|
||||
if title:
|
||||
box.label(text=title)
|
||||
flow = box.column_flow(columns=2)
|
||||
for pname, value in properties.bl_rna.properties.items():
|
||||
if pname != "rna_type" and not properties.is_property_hidden(pname):
|
||||
if isinstance(value, bpy.types.OperatorProperties):
|
||||
__class__.draw_kmi_properties(box, value, title=pname)
|
||||
else:
|
||||
flow.prop(properties, pname)
|
||||
|
||||
def draw_kmi(self, display_keymaps, kc, km, kmi, layout, level):
|
||||
map_type = kmi.map_type
|
||||
|
||||
@ -293,22 +306,10 @@ class InputKeyMapPanel(bpy.types.Panel):
|
||||
subrow.prop(kmi, "oskey", text="Cmd")
|
||||
subrow.prop(kmi, "key_modifier", text="", event=True)
|
||||
|
||||
def display_properties(properties, title=None):
|
||||
box.separator()
|
||||
if title:
|
||||
box.label(text=title)
|
||||
flow = box.column_flow(columns=2)
|
||||
for pname, value in properties.bl_rna.properties.items():
|
||||
if pname != "rna_type" and not properties.is_property_hidden(pname):
|
||||
if isinstance(value, bpy.types.OperatorProperties):
|
||||
display_properties(value, title=pname)
|
||||
else:
|
||||
flow.prop(properties, pname)
|
||||
|
||||
# Operator properties
|
||||
props = kmi.properties
|
||||
if props is not None:
|
||||
display_properties(props)
|
||||
__class__.draw_kmi_properties(box, props)
|
||||
|
||||
# Modal key maps attached to this operator
|
||||
if not km.is_modal:
|
||||
@ -387,7 +388,6 @@ def export_properties(prefix, properties, lines=None):
|
||||
lines = []
|
||||
|
||||
for pname, value in properties.items():
|
||||
print()
|
||||
if not properties.is_property_hidden(pname):
|
||||
if isinstance(value, bpy.types.OperatorProperties):
|
||||
export_properties(prefix + "." + pname, value, lines)
|
||||
|
Loading…
Reference in New Issue
Block a user