Files
test2/scripts/startup/bl_ui/utils.py
Campbell Barton 0cbcf48e69 Cleanup: move PlayheadSnappingPanel out of tool-system module
This panel is unrelated to the tool-system.
2025-06-01 15:11:51 +10:00

68 lines
1.7 KiB
Python

# SPDX-FileCopyrightText: 2009-2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
from bpy.types import Menu
# Panel mix-in class (don't register).
class PresetPanel:
bl_space_type = 'PROPERTIES'
bl_region_type = 'HEADER'
bl_label = "Presets"
path_menu = Menu.path_menu
@classmethod
def draw_panel_header(cls, layout):
layout.emboss = 'NONE'
layout.popover(
panel=cls.__name__,
icon='PRESET',
text="",
)
@classmethod
def draw_menu(cls, layout, text=None):
if text is None:
text = cls.bl_label
layout.popover(
panel=cls.__name__,
icon='PRESET',
text=text,
)
def draw(self, context):
layout = self.layout
layout.emboss = 'PULLDOWN_MENU'
layout.operator_context = 'EXEC_DEFAULT'
Menu.draw_preset(self, context)
class PlayheadSnappingPanel:
bl_region_type = 'HEADER'
bl_label = "Playhead"
@classmethod
def poll(cls, context):
del context
return True
def draw(self, context):
tool_settings = context.tool_settings
layout = self.layout
col = layout.column()
col.prop(tool_settings, "use_snap_playhead")
col.prop(tool_settings, "playhead_snap_distance")
col.separator()
col.label(text="Snap Target")
col.prop(tool_settings, "snap_playhead_element", expand=True)
col.separator()
if 'FRAME' in tool_settings.snap_playhead_element:
col.prop(tool_settings, "snap_playhead_frame_step")
if 'SECOND' in tool_settings.snap_playhead_element:
col.prop(tool_settings, "snap_playhead_second_step")