COLORSPACE SELECTOR: Group box fails to show all possible colour transforms
Open, LowPublic

Description

System Information
Debian Stretch

Blender Version
Trunk

Short description of error
Trial against ACES 1.0.3 set won't show all possible colour transforms when choosing via the UV Image Editor

Exact steps for others to reproduce the error
Load the ACES 1.0.3 configuration from the official repository. Try to change the colour transform on a loaded image.

Details

Type
To Do

This is a general UI problem related to displaying a lot of entries in an EnumProperty. You can try this text code. Not only that the prop is going to miss the entries on the left, but also the whole pop-up going to be cut on the left if the Blender window is resized (for instance half of the screen).

import bpy
from bpy.props import (
    EnumProperty,
    PointerProperty,
)    

RANGE_MAX = 500


class whatever_props(bpy.types.PropertyGroup):
    def add_props(self, context):
        this_is_something = [(str(i), "Entry about something {}".format(i), 
                             "This is an entry number") for i in range(RANGE_MAX + 1)]
        return this_is_something
    
    some_something = EnumProperty(
        name="This is a test for EnumProperty size",
        items=add_props
    )
            


class LayoutDemoPanel(bpy.types.Panel):
    bl_label = "EnumProperty size screen fit Test"
    bl_idname = "SCENE_PT_layout"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "scene"

    def draw(self, context):
        layout = self.layout

        scene = context.scene

        # Create a simple row
        col = layout.column()
        col.label(text="Test for the EnumProperty:")
        col.prop(scene.whatever, "some_something", text="")
        


def register():
    bpy.utils.register_class(whatever_props)
    bpy.utils.register_class(LayoutDemoPanel)
    bpy.types.Scene.whatever = PointerProperty(type=whatever_props)


def unregister():
    bpy.utils.unregister_class(LayoutDemoPanel)
    bpy.utils.unregister_class(whatever_props)
    del bpy.types.Scene.whatever


if __name__ == "__main__":
    register()

Edit: the workaround would be to use an operator with invoke_props_dialog and calling the look with the col.prop(scene.view_settings, "look", expand=True)
The similar would apply to the color spaces (get the right prop and expanding it if it uses some custom ui wrapper).

Still it is annoying as it only expands downwards, however it can be navigated with up and down arrow keys and double pressing enter.

The real solution would be to rethink the widget to handle better a lot of items.

Aaron Carlisle (Blendify) triaged this task as Low priority.Wed, Nov 15, 7:58 PM
Aaron Carlisle (Blendify) changed Type from Bug to To Do.