diff options
-rw-r--r-- | release/scripts/startup/bl_operators/object.py | 26 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/properties_object.py | 6 |
2 files changed, 28 insertions, 4 deletions
diff --git a/release/scripts/startup/bl_operators/object.py b/release/scripts/startup/bl_operators/object.py index 433c4403055..4ade55c0af6 100644 --- a/release/scripts/startup/bl_operators/object.py +++ b/release/scripts/startup/bl_operators/object.py @@ -691,3 +691,29 @@ class TransformsToDeltasAnim(Operator): context.scene.frame_set(context.scene.frame_current) return {'FINISHED'} + + +class DupliOffsetFromCursor(Operator): + '''Set offset used for DupliGroup based on cursor position''' + bl_idname = "object.dupli_offset_from_cursor" + bl_label = "Set Offset From Cursor" + bl_options = {'REGISTER', 'UNDO'} + + group = IntProperty( + name="Group", + description="Group index to set offset for", + default=0, + ) + + @classmethod + def poll(cls, context): + return context.active_object is not None + + def execute(self, context): + scene = context.scene + ob = context.active_object + group = self.group + + ob.users_group[group].dupli_offset = scene.cursor_location + + return {'FINISHED'} diff --git a/release/scripts/startup/bl_ui/properties_object.py b/release/scripts/startup/bl_ui/properties_object.py index c03aeab1f37..d8d3bd5fd97 100644 --- a/release/scripts/startup/bl_ui/properties_object.py +++ b/release/scripts/startup/bl_ui/properties_object.py @@ -162,7 +162,6 @@ class OBJECT_PT_groups(ObjectButtonsPanel, Panel): # XXX, this is bad practice, yes, I wrote it :( - campbell index = 0 - value = str(tuple(context.scene.cursor_location)) for group in bpy.data.groups: if ob.name in group.objects: col = layout.column(align=True) @@ -181,9 +180,8 @@ class OBJECT_PT_groups(ObjectButtonsPanel, Panel): col = split.column() col.prop(group, "dupli_offset", text="") - props = col.operator("wm.context_set_value", text="From Cursor") - props.data_path = "object.users_group[%d].dupli_offset" % index - props.value = value + props = col.operator("object.dupli_offset_from_cursor", text="From Cursor") + props.index = index index += 1 |