2023-01-27 13:44:06 +00:00
|
|
|
import bpy
|
|
|
|
from bl_ui.generic_ui_list import draw_ui_list
|
|
|
|
|
|
|
|
|
|
|
|
class MyPropGroup(bpy.types.PropertyGroup):
|
|
|
|
name: bpy.props.StringProperty()
|
|
|
|
|
|
|
|
|
|
|
|
class MyPanel(bpy.types.Panel):
|
|
|
|
bl_label = "My Label"
|
|
|
|
bl_idname = "SCENE_PT_list_demo"
|
|
|
|
bl_space_type = 'VIEW_3D'
|
|
|
|
bl_region_type = 'UI'
|
2023-04-18 00:42:00 +00:00
|
|
|
bl_category = "My Category"
|
2023-01-27 13:44:06 +00:00
|
|
|
|
|
|
|
def draw(self, context):
|
|
|
|
layout = self.layout
|
|
|
|
draw_ui_list(
|
|
|
|
layout,
|
|
|
|
context,
|
2023-06-20 01:45:45 +00:00
|
|
|
list_path="scene.my_list",
|
|
|
|
active_index_path="scene.my_list_active_index",
|
2023-06-20 01:48:41 +00:00
|
|
|
unique_id="my_list_id",
|
2023-01-27 13:44:06 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
classes = [
|
|
|
|
MyPropGroup,
|
|
|
|
MyPanel
|
|
|
|
]
|
|
|
|
|
|
|
|
class_register, class_unregister = bpy.utils.register_classes_factory(classes)
|
|
|
|
|
|
|
|
|
|
|
|
def register():
|
|
|
|
class_register()
|
|
|
|
bpy.types.Scene.my_list = bpy.props.CollectionProperty(type=MyPropGroup)
|
2023-02-03 03:52:16 +00:00
|
|
|
bpy.types.Scene.my_list_active_index = bpy.props.IntProperty()
|
2023-01-27 13:44:06 +00:00
|
|
|
|
|
|
|
|
|
|
|
def unregister():
|
|
|
|
class_unregister()
|
|
|
|
del bpy.types.Scene.my_list
|
2023-02-03 03:52:16 +00:00
|
|
|
del bpy.types.Scene.my_list_active_index
|
2023-01-27 13:44:06 +00:00
|
|
|
|
|
|
|
|
|
|
|
register()
|