Multi-dragging a user-defined property ignores 'PROPORTIONAL' option #42233

Closed
opened 2014-10-15 01:04:32 +02:00 by CodeManX · 6 comments
Member

Blender Version
Broken: 2.72 official

Short description of error
https://developer.blender.org/rB127330d6c added multi-drag with proportional scaling of values for e.g. Object.scale. A Python-defined property with options={'PROPORTIONAL'} does not scale proportionally however.

Exact steps for others to reproduce the error
Run the following code and try the vector prop in Object tab:

import bpy


class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

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

        col = layout.column(True)
        col.prop(ob, "prop")


def register():
    bpy.utils.register_class(HelloWorldPanel)
    bpy.types.Object.prop = bpy.props.FloatVectorProperty(name="PROPORTIONAL", min=-10, max=10, subtype="XYZ", options={'PROPORTIONAL'})


def unregister():
    bpy.utils.unregister_class(HelloWorldPanel)
    del bpy.types.Object.prop

if __name__ == "__main__":
    register()

1.0
2.0
3.0

should become
2.0
4.0
6.0

but instead it will be
2.0
3.0
4.0

BTW: bla_rna.properties[...] does not seem to expose options

**Blender Version** Broken: 2.72 official **Short description of error** https://developer.blender.org/rB127330d6c added multi-drag with proportional scaling of values for e.g. `Object.scale`. A Python-defined property with `options={'PROPORTIONAL'}` does not scale proportionally however. **Exact steps for others to reproduce the error** Run the following code and try the vector prop in Object tab: ``` import bpy class HelloWorldPanel(bpy.types.Panel): """Creates a Panel in the Object properties window""" bl_label = "Hello World Panel" bl_idname = "OBJECT_PT_hello" bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' bl_context = "object" def draw(self, context): layout = self.layout ob = context.object col = layout.column(True) col.prop(ob, "prop") def register(): bpy.utils.register_class(HelloWorldPanel) bpy.types.Object.prop = bpy.props.FloatVectorProperty(name="PROPORTIONAL", min=-10, max=10, subtype="XYZ", options={'PROPORTIONAL'}) def unregister(): bpy.utils.unregister_class(HelloWorldPanel) del bpy.types.Object.prop if __name__ == "__main__": register() ``` 1.0 2.0 3.0 should become 2.0 4.0 6.0 but instead it will be 2.0 3.0 4.0 BTW: bla_rna.properties[...] does not seem to expose `options`
Author
Member

Changed status to: 'Open'

Changed status to: 'Open'
Author
Member

Added subscriber: @CodeManX

Added subscriber: @CodeManX
Campbell Barton was assigned by Bastien Montagne 2014-10-15 09:24:23 +02:00

Added subscriber: @mont29

Added subscriber: @mont29

This issue was referenced by blender/blender@db5493ec7a

This issue was referenced by blender/blender@db5493ec7a103675387fff6ab15c962f872be157

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'

Closed by commit blender/blender@db5493ec7a.

Closed by commit blender/blender@db5493ec7a.
Sign in to join this conversation.
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#42233
No description provided.