This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
blender-archive/release/scripts/templates_py/ui_list_generic.py
Campbell Barton c468aeefb5 PyAPI: updates to bl_ui.generic_ui_list which didn't follow conventions
- Replace type annotations with doc-strings, the current conventions is
  not to use type annotations in startup scripts.
- Replace abbreviation "idx" with "index" in public arguments/properties.
- Replace `len(..) > 0` with boolean checks.
- Add `__all__` to list public members.
- Use `arg` instead of `param` for doc-strings.
- Locate the doc-string so it shows as `__doc__`.
2023-02-03 15:07:14 +11:00

47 lines
1013 B
Python

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'
bl_category = 'My Category'
def draw(self, context):
layout = self.layout
draw_ui_list(
layout,
context,
list_context_path="scene.my_list",
active_index_context_path="scene.my_list_active_index"
)
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)
bpy.types.Scene.my_list_active_index = bpy.props.IntProperty()
def unregister():
class_unregister()
del bpy.types.Scene.my_list
del bpy.types.Scene.my_list_active_index
register()