[Bf-blender-cvs] [9fe81c47190] temp-T96709-painting-target: Add specific UIList for color attribute selection.

Jeroen Bakker noreply at git.blender.org
Wed Apr 6 10:50:42 CEST 2022


Commit: 9fe81c47190a333c1e2cd78a3c2768c352c82f32
Author: Jeroen Bakker
Date:   Wed Apr 6 09:31:08 2022 +0200
Branches: temp-T96709-painting-target
https://developer.blender.org/rB9fe81c47190a333c1e2cd78a3c2768c352c82f32

Add specific UIList for color attribute selection.

===================================================================

M	release/scripts/startup/bl_ui/properties_data_mesh.py
M	release/scripts/startup/bl_ui/space_view3d_toolbar.py

===================================================================

diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py
index 929953dd411..4809060fad3 100644
--- a/release/scripts/startup/bl_ui/properties_data_mesh.py
+++ b/release/scripts/startup/bl_ui/properties_data_mesh.py
@@ -573,7 +573,7 @@ class DATA_PT_mesh_attributes(MeshButtonsPanel, Panel):
         layout.label(text="Name collisions: {}".format(", ".join(colliding_names)), icon='ERROR')
 
 
-class MESH_UL_color_attributes(UIList):
+class ColorAttributesListBase():
     display_domain_names = {
         'POINT': "Vertex",
         'EDGE': "Edge",
@@ -595,6 +595,8 @@ class MESH_UL_color_attributes(UIList):
 
         return ret, idxs
 
+
+class MESH_UL_color_attributes(UIList, ColorAttributesListBase):
     def draw_item(self, _context, layout, data, attribute, _icon, _active_data, _active_propname, _index):
         data_type = attribute.bl_rna.properties['data_type'].enum_items[attribute.data_type]
 
@@ -618,6 +620,12 @@ class MESH_UL_color_attributes(UIList):
         sub.label(text="%s ▶ %s" % (domain_name, data_type.name))
 
 
+class MESH_UL_color_attributes_selector(UIList, ColorAttributesListBase):
+    def draw_item(self, _context, layout, data, attribute, _icon, _active_data, _active_propname, _index):
+        layout.emboss = 'NONE'
+        layout.prop(attribute, "name", text="", icon='COLOR')
+
+
 class DATA_PT_vertex_colors(DATA_PT_mesh_attributes, Panel):
     bl_label = "Color Attributes"
     bl_options = {'DEFAULT_CLOSED'}
@@ -668,6 +676,7 @@ classes = (
     DATA_PT_customdata,
     DATA_PT_custom_props_mesh,
     MESH_UL_color_attributes,
+    MESH_UL_color_attributes_selector,
 )
 
 if __name__ == "__main__":  # only for live edit.
diff --git a/release/scripts/startup/bl_ui/space_view3d_toolbar.py b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
index 761edf3fca6..6eb85bf76cb 100644
--- a/release/scripts/startup/bl_ui/space_view3d_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_view3d_toolbar.py
@@ -523,7 +523,7 @@ class SelectPaintSlotHelper:
             case 'COLOR_ATTRIBUTE':
                 mesh = ob.data
                 layout.template_list(
-                    "MESH_UL_color_attributes",
+                    "MESH_UL_color_attributes_selector",
                     "color_attributes",
                     mesh,
                     "color_attributes",



More information about the Bf-blender-cvs mailing list