[Bf-blender-cvs] [d18cd768bb0] blender2.8: UI: use single column properties for object data

Campbell Barton noreply at git.blender.org
Fri Jun 1 19:28:31 CEST 2018


Commit: d18cd768bb0cc7dd9eba36e3f0c4e2189853c08f
Author: Campbell Barton
Date:   Fri Jun 1 18:44:06 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBd18cd768bb0cc7dd9eba36e3f0c4e2189853c08f

UI: use single column properties for object data

patch by @billreynish w/ minor edits

===================================================================

M	release/scripts/startup/bl_ui/properties_data_armature.py
M	release/scripts/startup/bl_ui/properties_data_bone.py
M	release/scripts/startup/bl_ui/properties_data_camera.py
M	release/scripts/startup/bl_ui/properties_data_curve.py
M	release/scripts/startup/bl_ui/properties_data_empty.py
M	release/scripts/startup/bl_ui/properties_data_lamp.py
M	release/scripts/startup/bl_ui/properties_data_lattice.py
M	release/scripts/startup/bl_ui/properties_data_lightprobe.py
M	release/scripts/startup/bl_ui/properties_data_mesh.py
M	release/scripts/startup/bl_ui/properties_data_metaball.py
M	release/scripts/startup/bl_ui/properties_data_modifier.py
M	release/scripts/startup/bl_ui/properties_data_speaker.py
M	release/scripts/startup/bl_ui/properties_data_workspace.py
M	release/scripts/startup/bl_ui/properties_render.py

===================================================================

diff --git a/release/scripts/startup/bl_ui/properties_data_armature.py b/release/scripts/startup/bl_ui/properties_data_armature.py
index 12f862d92a1..e58b4f56ffe 100644
--- a/release/scripts/startup/bl_ui/properties_data_armature.py
+++ b/release/scripts/startup/bl_ui/properties_data_armature.py
@@ -77,15 +77,13 @@ class DATA_PT_display(ArmatureButtonsPanel, Panel):
 
         layout.row().prop(arm, "draw_type", expand=True)
 
-        split = layout.split()
+        layout.use_property_split = True
 
-        col = split.column()
+        col = layout.column()
         col.prop(arm, "show_names", text="Names")
         col.prop(arm, "show_axes", text="Axes")
         col.prop(arm, "show_bone_custom_shapes", text="Shapes")
-
-        col = split.column()
-        col.prop(arm, "show_group_colors", text="Colors")
+        col.prop(arm, "show_group_colors", text="Group Colors")
         if ob:
             col.prop(ob, "show_x_ray", text="X-Ray")
         col.prop(arm, "use_deform_delay", text="Delay Refresh")
@@ -149,7 +147,8 @@ class DATA_PT_bone_groups(ArmatureButtonsPanel, Panel):
 
         sub = row.row(align=True)
         sub.operator("pose.group_assign", text="Assign")
-        sub.operator("pose.group_unassign", text="Remove")  # row.operator("pose.bone_group_remove_from", text="Remove")
+        # row.operator("pose.bone_group_remove_from", text="Remove")
+        sub.operator("pose.group_unassign", text="Remove")
 
         sub = row.row(align=True)
         sub.operator("pose.group_select", text="Select")
@@ -196,7 +195,11 @@ class DATA_PT_pose_library(ArmatureButtonsPanel, Panel):
 
             if pose_marker_active is not None:
                 col.operator("poselib.pose_remove", icon='ZOOMOUT', text="")
-                col.operator("poselib.apply_pose", icon='ZOOM_SELECTED', text="").pose_index = poselib.pose_markers.active_index
+                col.operator(
+                    "poselib.apply_pose",
+                    icon='ZOOM_SELECTED',
+                    text="",
+                ).pose_index = poselib.pose_markers.active_index
 
             col.operator("poselib.action_sanitize", icon='HELP', text="")  # XXX: put in menu?
 
@@ -216,21 +219,19 @@ class DATA_PT_ghost(ArmatureButtonsPanel, Panel):
 
         layout.row().prop(arm, "ghost_type", expand=True)
 
-        split = layout.split()
+        layout.use_property_split = True
 
-        col = split.column(align=True)
+        col = layout.column(align=True)
 
         if arm.ghost_type == 'RANGE':
-            col.prop(arm, "ghost_frame_start", text="Start")
+            col.prop(arm, "ghost_frame_start", text="Frame Start")
             col.prop(arm, "ghost_frame_end", text="End")
             col.prop(arm, "ghost_size", text="Step")
         elif arm.ghost_type == 'CURRENT_FRAME':
-            col.prop(arm, "ghost_step", text="Range")
+            col.prop(arm, "ghost_step", text="Frame Range")
             col.prop(arm, "ghost_size", text="Step")
 
-        col = split.column()
-        col.label(text="Display:")
-        col.prop(arm, "show_only_ghost_selected", text="Selected Only")
+        col.prop(arm, "show_only_ghost_selected", text="Display Selected Only")
 
 
 class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, Panel):
@@ -244,6 +245,7 @@ class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, Panel):
 
     def draw(self, context):
         layout = self.layout
+        layout.use_property_split = True
 
         ob = context.object
         itasc = ob.pose.ik_param
@@ -251,34 +253,37 @@ class DATA_PT_iksolver_itasc(ArmatureButtonsPanel, Panel):
         layout.prop(ob.pose, "ik_solver")
 
         if itasc:
+            layout.use_property_split = False
             layout.row().prop(itasc, "mode", expand=True)
+            layout.use_property_split = True
             simulation = (itasc.mode == 'SIMULATION')
             if simulation:
-                layout.label(text="Reiteration:")
-                layout.row().prop(itasc, "reiteration_method", expand=True)
+                layout.prop(itasc, "reiteration_method", expand=False)
 
-            row = layout.row()
-            row.active = not simulation or itasc.reiteration_method != 'NEVER'
-            row.prop(itasc, "precision")
-            row.prop(itasc, "iterations")
+            col = layout.column()
+            col.active = not simulation or itasc.reiteration_method != 'NEVER'
+            col.prop(itasc, "precision")
+            col.prop(itasc, "iterations")
 
             if simulation:
                 layout.prop(itasc, "use_auto_step")
-                row = layout.row()
+                col = layout.column(align=True)
                 if itasc.use_auto_step:
-                    row.prop(itasc, "step_min", text="Min")
-                    row.prop(itasc, "step_max", text="Max")
+                    col.prop(itasc, "step_min", text="Steps Min")
+                    col.prop(itasc, "step_max", text="Max")
                 else:
-                    row.prop(itasc, "step_count")
+                    col.prop(itasc, "step_count", text="Steps")
 
             layout.prop(itasc, "solver")
             if simulation:
                 layout.prop(itasc, "feedback")
                 layout.prop(itasc, "velocity_max")
             if itasc.solver == 'DLS':
-                row = layout.row()
-                row.prop(itasc, "damping_max", text="Damp", slider=True)
-                row.prop(itasc, "damping_epsilon", text="Eps", slider=True)
+                col = layout.column()
+                col.separator()
+                col.prop(itasc, "damping_max", text="Damping Max", slider=True)
+                col.prop(itasc, "damping_epsilon", text="Damping Epsilon", slider=True)
+
 
 from .properties_animviz import (
     MotionPathButtonsPanel,
diff --git a/release/scripts/startup/bl_ui/properties_data_bone.py b/release/scripts/startup/bl_ui/properties_data_bone.py
index e1763e363ae..079669dbd02 100644
--- a/release/scripts/startup/bl_ui/properties_data_bone.py
+++ b/release/scripts/startup/bl_ui/properties_data_bone.py
@@ -62,88 +62,63 @@ class BONE_PT_transform(BoneButtonsPanel, Panel):
 
     def draw(self, context):
         layout = self.layout
+        layout.use_property_split = True
 
         ob = context.object
         bone = context.bone
 
+        col = layout.column()
+
         if bone and ob:
             pchan = ob.pose.bones[bone.name]
-
-            row = layout.row()
-            col = row.column()
-            col.prop(pchan, "location")
             col.active = not (bone.parent and bone.use_connect)
 
-            col = row.column()
+            sub = col.row(align=True)
+            sub.prop(pchan, "location")
+            sub.prop(pchan, "lock_location", text="")
+
+            col = layout.column()
             if pchan.rotation_mode == 'QUATERNION':
-                col.prop(pchan, "rotation_quaternion", text="Rotation")
+                sub = col.row(align=True)
+                sub.prop(pchan, "rotation_quaternion", text="Rotation")
+                subsub = sub.column(align=True)
+                subsub.prop(pchan, "lock_rotation_w", text="")
+                subsub.prop(pchan, "lock_rotation", text="")
             elif pchan.rotation_mode == 'AXIS_ANGLE':
-                #col.label(text="Rotation")
+                # col.label(text="Rotation")
                 #col.prop(pchan, "rotation_angle", text="Angle")
                 #col.prop(pchan, "rotation_axis", text="Axis")
-                col.prop(pchan, "rotation_axis_angle", text="Rotation")
+                sub = col.row(align=True)
+                sub.prop(pchan, "rotation_axis_angle", text="Rotation")
+                subsub = sub.column(align=True)
+                subsub.prop(pchan, "lock_rotation_w", text="")
+                subsub.prop(pchan, "lock_rotation", text="")
             else:
-                col.prop(pchan, "rotation_euler", text="Rotation")
+                sub = col.row(align=True)
+                sub.prop(pchan, "rotation_euler", text="Rotation")
+                sub.prop(pchan, "lock_rotation", text="")
 
-            row.column().prop(pchan, "scale")
+            col = layout.column()
+            sub = col.row(align=True)
+            sub.prop(pchan, "scale")
+            sub.prop(pchan, "lock_scale", text="")
 
-            layout.prop(pchan, "rotation_mode")
+            col = layout.column()
+            col.prop(pchan, "rotation_mode")
 
         elif context.edit_bone:
             bone = context.edit_bone
-            row = layout.row()
-            row.column().prop(bone, "head")
-            row.column().prop(bone, "tail")
-
-            col = row.column()
-            sub = col.column(align=True)
-            sub.label(text="Roll:")
-            sub.prop(bone, "roll", text="")
-            sub.label()
-            sub.prop(bone, "lock")
-
-
-class BONE_PT_transform_locks(BoneButtonsPanel, Panel):
-    bl_label = "Transform Locks"
-    bl_options = {'DEFAULT_CLOSED'}
-
-    @classmethod
-    def poll(cls, context):
-        ob = context.object
-        return ob and ob.mode == 'POSE' and context.bone
-
-    def draw(self, context):
-        layout = self.layout
-
-        ob = context.object
-        bone = context.bone
-        pchan = ob.pose.bones[bone.name]
-
-        split = layout.split(percentage=0.1)
-
-        col = split.column(align=True)
-        col.label(text="")
-        col.label(text="X:")
-        col.label(text="Y:")
-        col.label(text="Z:")
-
-        col = split.column()
-        col.active = not (bone.parent and bone.use_connect)
-        col.prop(pchan, "lock_location", text="Location")
-
-        col = split.column()
-        col.prop(pchan, "lock_rotation", text="Rotation")
-
-        col = split.column()
-        col.prop(pchan, "lock_scale", text="Scale")
+            col = layout.column()
+            col.prop(bone, "head")
+            col.prop(bone, "tail")
 
-        if pchan.rotation_mode in {'QUATERNION', 'AXIS_ANGLE'}:
-            row = layout.row()
-            row.prop(pchan, "lock_rotations_4d", text="Lock Rotation")
+            col = layout.column()
+            col.prop(bone, "roll")
+            col.prop(bone, "lock")
 
-        

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list