forked from bartvdbraak/blender
Move "From Cursor" operator which sets dupli group offset to own operator
Previously it used to use cursor location from time when panel was drawn, which in some cases lead to using previous cursor location instead of current.
This commit is contained in:
parent
44258c3c9a
commit
54e648d114
@ -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'}
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user