UI: Transform Orientations panel as popover
Functionality fits in the Transform Orientations, no need for a dedicated panel in the viewport sidebar. See D3511
This commit is contained in:
parent
9f80429ab6
commit
12603826ea
|
@ -270,6 +270,34 @@ class TOPBAR_PT_snapping(Panel):
|
|||
col.prop(toolsettings, "use_snap_peel_object")
|
||||
|
||||
|
||||
class TOPBAR_PT_transform_orientations(Panel):
|
||||
bl_space_type = 'TOPBAR'
|
||||
bl_region_type = 'HEADER'
|
||||
bl_label = "Transform Orientations"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
view = context.space_data
|
||||
return (view)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
layout.label("Tranform Orientations")
|
||||
|
||||
scene = context.scene
|
||||
orientation = scene.current_orientation
|
||||
|
||||
col = layout.split(percentage=0.9)
|
||||
col.prop(scene, "transform_orientation", expand=True)
|
||||
col.operator("transform.create_orientation", text="", icon='ZOOMIN', emboss=False)
|
||||
|
||||
if orientation:
|
||||
row = layout.row(align=False)
|
||||
row.prop(orientation, "name", text="")
|
||||
row.operator("transform.delete_orientation", text="", icon='X', emboss=False)
|
||||
|
||||
|
||||
class INFO_MT_editor_menus(Menu):
|
||||
bl_idname = "INFO_MT_editor_menus"
|
||||
bl_label = ""
|
||||
|
@ -629,6 +657,7 @@ classes = (
|
|||
TOPBAR_HT_lower_bar,
|
||||
TOPBAR_PT_pivot_point,
|
||||
TOPBAR_PT_snapping,
|
||||
TOPBAR_PT_transform_orientations,
|
||||
TOPBAR_MT_file_specials,
|
||||
TOPBAR_MT_window_specials,
|
||||
INFO_MT_editor_menus,
|
||||
|
|
|
@ -119,7 +119,26 @@ class VIEW3D_HT_header(Header):
|
|||
|
||||
# Orientation
|
||||
if object_mode in {'OBJECT', 'EDIT', 'POSE'}:
|
||||
layout.prop(scene, "transform_orientation", text="")
|
||||
orientation = scene.transform_orientation
|
||||
current_orientation = scene.current_orientation
|
||||
|
||||
if not current_orientation:
|
||||
trans_orientation = \
|
||||
bpy.types.Scene.bl_rna.properties["transform_orientation"].enum_items[orientation]
|
||||
trans_icon = getattr(trans_orientation, "icon", "BLANK1")
|
||||
trans_name = getattr(trans_orientation, "name", "Orientation")
|
||||
else:
|
||||
trans_icon = "VISIBLE_IPO_OFF"
|
||||
trans_name = getattr(current_orientation, "name", "Orientation")
|
||||
|
||||
row = layout.row(align=True)
|
||||
row.popover(
|
||||
space_type='TOPBAR',
|
||||
region_type='HEADER',
|
||||
panel_type="TOPBAR_PT_transform_orientations",
|
||||
text=trans_name,
|
||||
icon=trans_icon,
|
||||
)
|
||||
|
||||
# Snap
|
||||
show_snap = False
|
||||
|
@ -191,7 +210,7 @@ class VIEW3D_HT_header(Header):
|
|||
sub.active = tool_settings.proportional_edit != 'DISABLED'
|
||||
sub.prop(tool_settings, "proportional_edit_falloff", icon_only=True)
|
||||
|
||||
# Orientation & Pivot
|
||||
# Pivot
|
||||
if object_mode in {'OBJECT', 'EDIT', 'POSE'}:
|
||||
pivot_point = tool_settings.transform_pivot_point
|
||||
act_pivot_point = bpy.types.ToolSettings.bl_rna.properties["transform_pivot_point"].enum_items[pivot_point]
|
||||
|
@ -4124,33 +4143,6 @@ class VIEW3D_PT_view3d_stereo(Panel):
|
|||
split.prop(view, "stereo_3d_volume_alpha", text="Alpha")
|
||||
|
||||
|
||||
class VIEW3D_PT_transform_orientations(Panel):
|
||||
bl_space_type = 'VIEW_3D'
|
||||
bl_region_type = 'UI'
|
||||
bl_label = "Transform Orientations"
|
||||
bl_options = {'DEFAULT_CLOSED'}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
view = context.space_data
|
||||
return (view)
|
||||
|
||||
def draw(self, context):
|
||||
layout = self.layout
|
||||
|
||||
scene = context.scene
|
||||
orientation = scene.current_orientation
|
||||
|
||||
row = layout.row(align=True)
|
||||
row.prop(scene, "transform_orientation", text="")
|
||||
row.operator("transform.create_orientation", text="", icon='ZOOMIN')
|
||||
|
||||
if orientation:
|
||||
row = layout.row(align=True)
|
||||
row.prop(orientation, "name", text="")
|
||||
row.operator("transform.delete_orientation", text="", icon='X')
|
||||
|
||||
|
||||
class VIEW3D_PT_context_properties(Panel):
|
||||
bl_space_type = 'VIEW_3D'
|
||||
bl_region_type = 'UI'
|
||||
|
@ -4338,7 +4330,6 @@ classes = (
|
|||
VIEW3D_PT_overlay_pose,
|
||||
VIEW3D_PT_overlay_paint,
|
||||
VIEW3D_PT_overlay_sculpt,
|
||||
VIEW3D_PT_transform_orientations,
|
||||
VIEW3D_PT_context_properties,
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in New Issue