Skip to content

Commit 8240e8a

Browse files
committed
rot_mode, ui: ui and classes rearrangement
1 parent 2cddd0f commit 8240e8a

File tree

3 files changed

+53
-75
lines changed

3 files changed

+53
-75
lines changed

__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,8 +319,8 @@ def update_mode(self, context):
319319
default="")
320320

321321
IDStore.rigify_transfer_only_selected = bpy.props.BoolProperty(name="Transfer Only Selected", description="Transfer selected bones only", default=True)
322-
IDStore.rigify_transfer_start_frame = bpy.props.IntProperty(name="Transfer Start Frame", description="First Frame to Transfer", default=0, min= 0)
323-
IDStore.rigify_transfer_end_frame = bpy.props.IntProperty(name="Transfer End Frame", description="Last Frame to Transfer", default=0, min= 0)
322+
IDStore.rigify_transfer_start_frame = bpy.props.IntProperty(name="Start Frame", description="First Frame to Transfer", default=0, min= 0)
323+
IDStore.rigify_transfer_end_frame = bpy.props.IntProperty(name="End Frame", description="Last Frame to Transfer", default=0, min= 0)
324324

325325
if (ui and 'legacy' in str(ui)) or bpy.context.user_preferences.addons['rigify'].preferences.legacy_mode:
326326
# update legacy on restart or reload

rot_mode.py

Lines changed: 42 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -256,50 +256,29 @@ def draw(self, context):
256256

257257
col = layout.column(align=True)
258258
row = col.row(align=True)
259+
id_store = context.window_manager
259260

260261
layout.prop(scn, 'order_list')
261262

262-
col = layout.column(align=True)
263-
row = col.row(align=True)
263+
if id_store.rigify_convert_only_selected:
264+
icon = 'OUTLINER_DATA_ARMATURE'
265+
else:
266+
icon = 'ARMATURE_DATA'
264267

265-
col.label(text="Current Action:")
266-
col.operator('current.selected')
267-
col.operator('current.every')
268+
layout.prop(id_store, 'rigify_convert_only_selected', toggle=True, icon=icon)
268269

269-
row = col.row(align=True)
270270
col = layout.column(align=True)
271+
row = col.row(align=True)
271272

272-
col.label(text="All Actions:")
273-
col.operator('all.selected')
274-
col.operator('all.every')
275-
276-
277-
class CONVERT_OT_current_action_selected_bones(bpy.types.Operator):
278-
bl_label = 'Selected Bones'
279-
bl_idname = 'current.selected'
280-
bl_description = 'Converts selected bones in current Action'
281-
bl_options = {'REGISTER', 'UNDO'}
282-
283-
# on mouse up:
284-
def invoke(self, context, event):
285-
self.execute(context)
286-
return {'FINISHED'}
287-
288-
def execute(op, context):
289-
obj = bpy.context.active_object
290-
pose_bones = bpy.context.selected_pose_bones
291-
action = obj.animation_data.action
292-
order = order_list[bpy.context.scene['order_list']]
293-
294-
convert.one_act_sel_bon(obj, action, pose_bones, order)
295-
296-
return {'FINISHED'}
273+
row.operator('rigify_quat2eu.current', icon='ACTION')
274+
row = col.row(align=True)
275+
row.operator('rigify_quat2eu.all', icon='NLA')
297276

298277

299-
class CONVERT_OT_current_action_every_bones(bpy.types.Operator):
300-
bl_label = 'All Bones'
301-
bl_idname = 'current.every'
302-
bl_description = 'Converts every bone in current Action'
278+
class CONVERT_OT_quat2eu_current_action(bpy.types.Operator):
279+
bl_label = 'Convert Current Action'
280+
bl_idname = 'rigify_quat2eu.current'
281+
bl_description = 'Converts bones in current Action'
303282
bl_options = {'REGISTER', 'UNDO'}
304283

305284
# on mouse up:
@@ -312,16 +291,20 @@ def execute(op, context):
312291
pose_bones = bpy.context.selected_pose_bones
313292
action = obj.animation_data.action
314293
order = order_list[bpy.context.scene['order_list']]
294+
id_store = context.window_manager
315295

316-
convert.one_act_every_bon(obj, action, order)
296+
if id_store.rigify_convert_only_selected:
297+
convert.one_act_sel_bon(obj, action, pose_bones, order)
298+
else:
299+
convert.one_act_every_bon(obj, action, order)
317300

318301
return {'FINISHED'}
319302

320303

321-
class CONVERT_OT_all_actions_selected_bones(bpy.types.Operator):
322-
bl_label = 'Selected Bone'
323-
bl_idname = 'all.selected'
324-
bl_description = 'Converts selected bones in every Action'
304+
class CONVERT_OT_quat2eu_all_actions(bpy.types.Operator):
305+
bl_label = 'Convert All Actions'
306+
bl_idname = 'rigify_quat2eu.all'
307+
bl_description = 'Converts bones in every Action'
325308
bl_options = {'REGISTER', 'UNDO'}
326309

327310
# on mouse up:
@@ -333,32 +316,19 @@ def execute(op, context):
333316
obj = bpy.context.active_object
334317
pose_bones = bpy.context.selected_pose_bones
335318
order = order_list[bpy.context.scene['order_list']]
319+
id_store = context.window_manager
336320

337-
convert.all_act_sel_bon(obj, pose_bones, order)
338-
339-
return {'FINISHED'}
340-
341-
342-
class CONVERT_OT_all_action_every_bones(bpy.types.Operator):
343-
bl_label = 'All Bone'
344-
bl_idname = 'all.every'
345-
bl_description = 'Converts every bone in every Action'
346-
bl_options = {'REGISTER', 'UNDO'}
347-
348-
# on mouse up:
349-
def invoke(self, context, event):
350-
self.execute(context)
351-
return {'FINISHED'}
352-
353-
def execute(op, context):
354-
obj = bpy.context.active_object
355-
order = order_list[bpy.context.scene['order_list']]
321+
if id_store.rigify_convert_only_selected:
322+
convert.all_act_sel_bon(obj, pose_bones, order)
323+
else:
324+
convert.all_act_every_bon(obj, order)
356325

357-
convert.all_act_every_bon(obj, order)
358326
return {'FINISHED'}
359327

360328

361329
def register():
330+
IDStore = bpy.types.WindowManager
331+
362332
items = [('QUATERNION', 'QUATERNION', 'QUATERNION'),
363333
('XYZ', 'XYZ', 'XYZ'),
364334
('XZY', 'XZY', 'XZY'),
@@ -367,21 +337,23 @@ def register():
367337
('ZXY', 'ZXY', 'ZXY'),
368338
('ZYX', 'ZYX', 'ZYX')]
369339

370-
bpy.types.Scene.order_list = bpy.props.EnumProperty(items=items, name='Order',
340+
bpy.types.Scene.order_list = bpy.props.EnumProperty(items=items, name='Convert to',
371341
description="The target rotation mode", default='QUATERNION')
372342

373-
bpy.utils.register_class(ToolsPanel)
374-
bpy.utils.register_class(CONVERT_OT_all_action_every_bones)
375-
bpy.utils.register_class(CONVERT_OT_all_actions_selected_bones)
376-
bpy.utils.register_class(CONVERT_OT_current_action_every_bones)
377-
bpy.utils.register_class(CONVERT_OT_current_action_selected_bones)
343+
IDStore.rigify_convert_only_selected = bpy.props.BoolProperty(
344+
name="Convert Only Selected", description="Convert selected bones only", default=True)
378345

346+
bpy.utils.register_class(ToolsPanel)
347+
bpy.utils.register_class(CONVERT_OT_quat2eu_current_action)
348+
bpy.utils.register_class(CONVERT_OT_quat2eu_all_actions)
379349

380350
def unregister():
351+
IDStore = bpy.types.WindowManager
352+
381353
bpy.utils.unregister_class(ToolsPanel)
382-
bpy.utils.unregister_class(CONVERT_OT_all_action_every_bones)
383-
bpy.utils.unregister_class(CONVERT_OT_all_actions_selected_bones)
384-
bpy.utils.unregister_class(CONVERT_OT_current_action_every_bones)
385-
bpy.utils.unregister_class(CONVERT_OT_current_action_selected_bones)
354+
bpy.utils.unregister_class(CONVERT_OT_quat2eu_current_action)
355+
bpy.utils.unregister_class(CONVERT_OT_quat2eu_all_actions)
356+
357+
del IDStore.rigify_convert_only_selected
386358

387359
# bpy.utils.register_module(__name__)

ui.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -640,7 +640,13 @@ def draw(self, context):
640640
id_store = context.window_manager
641641
if obj is not None:
642642
row = self.layout.row()
643-
row.prop(id_store, 'rigify_transfer_only_selected')
643+
644+
if id_store.rigify_transfer_only_selected:
645+
icon = 'OUTLINER_DATA_ARMATURE'
646+
else:
647+
icon = 'ARMATURE_DATA'
648+
649+
row.prop(id_store, 'rigify_transfer_only_selected', toggle=True, icon=icon)
644650

645651
row = self.layout.row(align=True)
646652
row.operator("rigify.ik2fk", text='IK2FK Pose', icon='SNAP_ON')
@@ -655,11 +661,11 @@ def draw(self, context):
655661
row.operator("rigify.clear_animation", text="Clear FK Action", icon='CANCEL').type = "FK"
656662

657663
row = self.layout.row(align=True)
658-
op = row.operator("rigify.rotation_pole", icon='SCRIPTWIN', text='Switch to pole')
664+
op = row.operator("rigify.rotation_pole", icon='FORCE_HARMONIC', text='Switch to pole')
659665
op.value = True
660666
op.toggle = False
661667
op.bake = True
662-
op = row.operator("rigify.rotation_pole", icon='SCRIPTWIN', text='Switch to rotation')
668+
op = row.operator("rigify.rotation_pole", icon='FORCE_MAGNETIC', text='Switch to rotation')
663669
op.value = False
664670
op.toggle = False
665671
op.bake = True

0 commit comments

Comments
 (0)