patch [#36296] object->display-properties subpanel layout cleanup

from David Jeske (jeske), with minor edits of my own.
This commit is contained in:
Campbell Barton
2013-07-28 11:43:11 +00:00
parent 6864f2c285
commit 46aea9c0c8

View File

@@ -203,41 +203,54 @@ class OBJECT_PT_display(ObjectButtonsPanel, Panel):
def draw(self, context): def draw(self, context):
layout = self.layout layout = self.layout
obj = context.object obj = context.object
obj_type = obj.type
is_geometry = (obj_type in {'MESH', 'CURVE', 'SURFACE', 'META', 'FONT'})
is_empty_image = (obj_type == 'EMPTY' and obj.empty_draw_type == 'IMAGE')
# start top half
split = layout.split() split = layout.split()
col = split.column()
col.prop(obj, "draw_type", text="Type")
# left column checkboxes
col = split.column() col = split.column()
col.prop(obj, "show_name", text="Name")
col.prop(obj, "show_axis", text="Axis")
if is_geometry:
# Makes no sense for cameras, armtures, etc.!
col.prop(obj, "show_wire", text="Wire")
if obj_type == 'MESH':
col.prop(obj, "show_all_edges")
# right column checkboxes
col = split.column()
if 1: # for code nesting clarity
row = col.row() row = col.row()
row.prop(obj, "show_bounds", text="Bounds") row.prop(obj, "show_bounds", text="Bounds")
sub = row.row() sub = row.row()
sub.active = obj.show_bounds sub.active = obj.show_bounds
sub.prop(obj, "draw_bounds_type", text="") sub.prop(obj, "draw_bounds_type", text="")
split = layout.split() if is_geometry:
col = split.column()
col.prop(obj, "show_name", text="Name")
col.prop(obj, "show_axis", text="Axis")
obj_type = obj.type
if obj_type in {'MESH', 'CURVE', 'SURFACE', 'META', 'FONT'}:
# Makes no sense for cameras, armtures, etc.!
col.prop(obj, "show_wire", text="Wire")
# Only useful with object having faces/materials...
col.prop(obj, "color", text="Object Color")
col = split.column()
col.prop(obj, "show_texture_space", text="Texture Space") col.prop(obj, "show_texture_space", text="Texture Space")
col.prop(obj, "show_x_ray", text="X-Ray") col.prop(obj, "show_x_ray", text="X-Ray")
if obj_type == 'MESH' or (obj_type == 'EMPTY' and obj.empty_draw_type == 'IMAGE'): if obj_type == 'MESH' or is_empty_image:
col.prop(obj, "show_transparent", text="Transparency") col.prop(obj, "show_transparent", text="Transparency")
if obj_type == 'MESH':
col.prop(obj, "show_all_edges") # start bottom half
split = layout.split()
# left
col = split.column()
if obj_type not in {'CAMERA', 'EMPTY'}:
col.label(text="Maximum draw type:")
col.prop(obj, "draw_type", text="")
# right
col = split.column()
if is_geometry or is_empty_image:
# Only useful with object having faces/materials...
col.label(text="Object Color:")
col.prop(obj, "color", text="")
class OBJECT_PT_duplication(ObjectButtonsPanel, Panel): class OBJECT_PT_duplication(ObjectButtonsPanel, Panel):