Pose Library: Update to use the asset shelf (when enabled) #104546
@ -8,7 +8,6 @@ import bpy
|
|||||||
from bpy.types import (
|
from bpy.types import (
|
||||||
AssetHandle,
|
AssetHandle,
|
||||||
Context,
|
Context,
|
||||||
Header,
|
|
||||||
Menu,
|
Menu,
|
||||||
Panel,
|
Panel,
|
||||||
UIList,
|
UIList,
|
||||||
@ -43,19 +42,35 @@ class VIEW3D_AST_pose_library(bpy.types.AssetShelf):
|
|||||||
def asset_poll__(cls, asset: AssetHandle) -> bool:
|
def asset_poll__(cls, asset: AssetHandle) -> bool:
|
||||||
return asset.file_data.id_type == 'ACTION'
|
return asset.file_data.id_type == 'ACTION'
|
||||||
|
|
||||||
|
|
||||||
class VIEW3D_PT_pose_library(PoseLibraryPanel, Panel):
|
class VIEW3D_PT_pose_library(PoseLibraryPanel, Panel):
|
||||||
bl_space_type = "VIEW_3D"
|
bl_space_type = "VIEW_3D"
|
||||||
bl_region_type = "ASSET_SHELF"
|
bl_region_type = "UI"
|
||||||
|
bl_category = "Animation"
|
||||||
bl_label = "Pose Library"
|
bl_label = "Pose Library"
|
||||||
|
|
||||||
def draw(self, context: Context) -> None:
|
def draw(self, context: Context) -> None:
|
||||||
layout = self.layout
|
layout = self.layout
|
||||||
|
|
||||||
row = layout.row(align=True)
|
if hasattr(layout, "template_asset_view"):
|
||||||
row.operator("poselib.create_pose_asset").activate_new_action = False
|
workspace = context.workspace
|
||||||
if bpy.types.POSELIB_OT_restore_previous_action.poll(context):
|
wm = context.window_manager
|
||||||
row.operator("poselib.restore_previous_action", text="", icon='LOOP_BACK')
|
activate_op_props, drag_op_props = layout.template_asset_view(
|
||||||
row.operator("poselib.copy_as_asset", icon="COPYDOWN", text="")
|
"pose_assets",
|
||||||
|
workspace,
|
||||||
|
"asset_library_ref",
|
||||||
|
wm,
|
||||||
|
"pose_assets",
|
||||||
|
workspace,
|
||||||
|
"active_pose_asset_index",
|
||||||
|
filter_id_types={"filter_action"},
|
||||||
|
activate_operator="poselib.apply_pose_asset",
|
||||||
|
drag_operator="poselib.blend_pose_asset",
|
||||||
|
)
|
||||||
|
|
||||||
|
# Make sure operators properties match those used in
|
||||||
|
# `pose_library_list_item_context_menu` so shortcuts show in menus (see T103267).
|
||||||
|
activate_op_props.flipped = False
|
||||||
|
|
||||||
|
|
||||||
def pose_library_list_item_context_menu(self: UIList, context: Context) -> None:
|
def pose_library_list_item_context_menu(self: UIList, context: Context) -> None:
|
||||||
|
Loading…
Reference in New Issue
Block a user