Changeset View
Changeset View
Standalone View
Standalone View
release/scripts/startup/bl_ui/properties_data_curves.py
| Show All 12 Lines | class DataButtonsPanel: | ||||
| def poll(cls, context): | def poll(cls, context): | ||||
| engine = context.scene.render.engine | engine = context.scene.render.engine | ||||
| return hasattr(context, "curves") and context.curves and (engine in cls.COMPAT_ENGINES) | return hasattr(context, "curves") and context.curves and (engine in cls.COMPAT_ENGINES) | ||||
| class DATA_PT_context_curves(DataButtonsPanel, Panel): | class DATA_PT_context_curves(DataButtonsPanel, Panel): | ||||
| bl_label = "" | bl_label = "" | ||||
| bl_options = {'HIDE_HEADER'} | bl_options = {'HIDE_HEADER'} | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| ob = context.object | ob = context.object | ||||
| curves = context.curves | curves = context.curves | ||||
| space = context.space_data | space = context.space_data | ||||
| if ob: | if ob: | ||||
| layout.template_ID(ob, "data") | layout.template_ID(ob, "data") | ||||
| elif curves: | elif curves: | ||||
| layout.template_ID(space, "pin_id") | layout.template_ID(space, "pin_id") | ||||
| class DATA_PT_curves_surface(DataButtonsPanel, Panel): | class DATA_PT_curves_surface(DataButtonsPanel, Panel): | ||||
| bl_label = "Surface" | bl_label = "Surface" | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| ob = context.object | ob = context.object | ||||
| layout.use_property_split = True | layout.use_property_split = True | ||||
| layout.prop(ob.data, "surface") | layout.prop(ob.data, "surface") | ||||
| ▲ Show 20 Lines • Show All 66 Lines • ▼ Show 20 Lines | def draw_item(self, _context, layout, _data, attribute, _icon, _active_data, _active_propname, _index): | ||||
| sub.alignment = 'RIGHT' | sub.alignment = 'RIGHT' | ||||
| sub.active = False | sub.active = False | ||||
| sub.label(text=domain.name) | sub.label(text=domain.name) | ||||
| sub.label(text=data_type.name) | sub.label(text=data_type.name) | ||||
| class DATA_PT_CURVES_attributes(DataButtonsPanel, Panel): | class DATA_PT_CURVES_attributes(DataButtonsPanel, Panel): | ||||
| bl_label = "Attributes" | bl_label = "Attributes" | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| def draw(self, context): | def draw(self, context): | ||||
| curves = context.curves | curves = context.curves | ||||
| layout = self.layout | layout = self.layout | ||||
| row = layout.row() | row = layout.row() | ||||
| col = row.column() | col = row.column() | ||||
| col.template_list( | col.template_list( | ||||
| "CURVES_UL_attributes", | "CURVES_UL_attributes", | ||||
| "attributes", | "attributes", | ||||
| curves, | curves, | ||||
| "attributes", | "attributes", | ||||
| curves.attributes, | curves.attributes, | ||||
| "active_index", | "active_index", | ||||
| rows=3, | rows=3, | ||||
| ) | ) | ||||
| col = row.column(align=True) | col = row.column(align=True) | ||||
| col.menu("CURVES_MT_add_attribute", icon='ADD', text="") | col.menu("CURVES_MT_add_attribute", icon='ADD', text="") | ||||
| col.operator("geometry.attribute_remove", icon='REMOVE', text="") | col.operator("geometry.attribute_remove", icon='REMOVE', text="") | ||||
| class DATA_PT_custom_props_curves(DataButtonsPanel, PropertyPanel, Panel): | class DATA_PT_custom_props_curves(DataButtonsPanel, PropertyPanel, Panel): | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH','BLENDER_WORKBENCH_NEXT'} | ||||
| _context_path = "object.data" | _context_path = "object.data" | ||||
| _property_type = bpy.types.Curves if hasattr(bpy.types, "Curves") else None | _property_type = bpy.types.Curves if hasattr(bpy.types, "Curves") else None | ||||
| classes = ( | classes = ( | ||||
| DATA_PT_context_curves, | DATA_PT_context_curves, | ||||
| DATA_PT_CURVES_attributes, | DATA_PT_CURVES_attributes, | ||||
| DATA_PT_curves_surface, | DATA_PT_curves_surface, | ||||
| Show All 9 Lines | |||||