diff options
author | Joshua Leung <aligorith@gmail.com> | 2009-07-21 09:08:59 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2009-07-21 09:08:59 +0400 |
commit | ca466dc8d825e06255e4b76507dbb5e052ede693 (patch) | |
tree | 03463d2263aa1bc4c6982cad7d08200385339747 /source/blender/editors/space_view3d/view3d_header.c | |
parent | 93f2743b0f569f0e7b6d9d8c9cc5f0b5cd1bedfa (diff) |
2.5 - Porting 'Pose' Menu (and its submenus) to Layout Engine
It's alarming how many tools are still missing here!
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_header.c')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_header.c | 287 |
1 files changed, 68 insertions, 219 deletions
diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c index 5e6f5d9a96b..1047e8ee7e5 100644 --- a/source/blender/editors/space_view3d/view3d_header.c +++ b/source/blender/editors/space_view3d/view3d_header.c @@ -2091,12 +2091,11 @@ static void view3d_edit_objectmenu(bContext *C, uiLayout *layout, void *arg_unus uiItemS(layout); -#if 0 - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Insert Keyframe|I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 11, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Delete Keyframe|Alt I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, ""); + // TODO: these operators may get renamed + uiItemO(layout, NULL, 0, "ANIM_OT_insert_keyframe_menu"); + uiItemO(layout, NULL, 0, "ANIM_OT_delete_keyframe_old"); uiItemS(layout); -#endif uiItemO(layout, NULL, 0, "OBJECT_OT_duplicate"); uiItemBooleanO(layout, "Duplicate Linked", 0, "OBJECT_OT_duplicate", "linked", 1); @@ -2118,14 +2117,17 @@ static void view3d_edit_objectmenu(bContext *C, uiLayout *layout, void *arg_unus uiItemMenuF(layout, "Constraints", 0, view3d_edit_object_constraintsmenu); #if 0 - uiItemS(layout); - if(ob && ob->type == OB_MESH) { uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Boolean Operation...|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, ""); } - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Join Objects|Ctrl J", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 8, ""); + + // join... (added already) + uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Convert Object Type...|Alt C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, ""); #endif + uiItemS(layout); + + uiItemO(layout, NULL, 0, "OBJECT_OT_join"); uiItemS(layout); @@ -3002,155 +3004,45 @@ static uiBlock *view3d_edit_armaturemenu(bContext *C, ARegion *ar, void *arg_unu return block; } -static void do_view3d_pose_armature_transformmenu(bContext *C, void *arg, int event) -{ -#if 0 - Scene *scene= CTX_data_scene(C); - Object *ob= CTX_data_active_object(C); - - switch(event) { - case 0: /* clear origin */ - clear_object('o'); - break; - case 1: /* clear scale */ - clear_object('s'); - break; - case 2: /* clear rotation */ - clear_object('r'); - break; - case 3: /* clear location */ - clear_object('g'); - break; - case 4: /* clear user transform */ - clear_user_transform(scene, ob); - break; - } -#endif -} -static uiBlock *view3d_pose_armature_transformmenu(bContext *C, ARegion *ar, void *arg_unused) +static void view3d_pose_armature_transformmenu(bContext *C, uiLayout *layout, void *arg_unused) { - uiBlock *block; - short yco = 20, menuwidth = 120; - - block= uiBeginBlock(C, ar, "view3d_pose_armature_transformmenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_pose_armature_transformmenu, NULL); + //uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear User Transform|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, ""); + //used: clear_user_transform(scene, ob); + //uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear User Transform|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, ""); - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Location|Alt G", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Rotation|Alt R", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Scale|Alt S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Origin|Alt O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, ""); + uiItemO(layout, NULL, 0, "POSE_OT_loc_clear"); + uiItemO(layout, NULL, 0, "POSE_OT_rot_clear"); + uiItemO(layout, NULL, 0, "POSE_OT_scale_clear"); - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - return block; + // ??? + //uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Origin|Alt O", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, ""); + //used:clear_object('o'); } -static void do_view3d_pose_armature_showhidemenu(bContext *C, void *arg, int event) +static void view3d_pose_armature_showhidemenu(bContext *C, uiLayout *layout, void *arg_unused) { -#if 0 + uiItemO(layout, "Show Hidden", 0, "POSE_OT_reveal"); - switch(event) { - - case 0: /* show hidden bones */ - show_all_pose_bones(); - break; - case 1: /* hide selected bones */ - hide_selected_pose_bones(); - break; - case 2: /* hide deselected bones */ - hide_unselected_pose_bones(); - break; - } -#endif + uiItemO(layout, "Hide Selected", 0, "POSE_OT_hide"); + uiItemBooleanO(layout, "Hide Unselected", 0, "POSE_OT_hide", "unselected", 1); } -static uiBlock *view3d_pose_armature_showhidemenu(bContext *C, ARegion *ar, void *arg_unused) +static void view3d_pose_armature_ikmenu(bContext *C, uiLayout *layout, void *arg_unused) { - uiBlock *block; - short yco = 20, menuwidth = 120; - - block= uiBeginBlock(C, ar, "view3d_pose_armature_showhidemenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_pose_armature_showhidemenu, NULL); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Show Hidden|Alt H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Hide Selected|H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Hide Unselected|Shift H", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - return block; -} - -static void do_view3d_pose_armature_ikmenu(bContext *C, void *arg, int event) -{ -#if 0 - - switch(event) { - - case 1: - pose_add_IK(); - break; - case 2: - pose_clear_IK(); - break; - } -#endif + uiItemO(layout, NULL, 0, "POSE_OT_ik_add"); + uiItemO(layout, NULL, 0, "POSE_OT_ik_clear"); } -static uiBlock *view3d_pose_armature_ikmenu(bContext *C, ARegion *ar, void *arg_unused) +static void view3d_pose_armature_constraintsmenu(bContext *C, uiLayout *layout, void *arg_unused) { - uiBlock *block; - short yco = 20, menuwidth = 120; - - block= uiBeginBlock(C, ar, "view3d_pose_armature_ikmenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_pose_armature_ikmenu, NULL); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Add IK to Bone...|Shift I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear IK...|Ctrl Alt I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - return block; + uiItemO(layout, NULL, 0, "POSE_OT_constraint_add_with_targets"); + uiItemO(layout, NULL, 0, "POSE_OT_constraints_clear"); } -static void do_view3d_pose_armature_constraintsmenu(bContext *C, void *arg, int event) -{ #if 0 - - switch(event) { - - case 1: - add_constraint(0); - break; - case 2: - pose_clear_constraints(); - break; - } -#endif -} - -static uiBlock *view3d_pose_armature_constraintsmenu(bContext *C, ARegion *ar, void *arg_unused) -{ - uiBlock *block; - short yco = 20, menuwidth = 120; - - block= uiBeginBlock(C, ar, "view3d_pose_armature_constraintsmenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_pose_armature_constraintsmenu, NULL); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Add Constraint to Bone...|Ctrl Alt C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Clear Constraints...|Alt C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - return block; -} - static void do_view3d_pose_armature_groupmenu(bContext *C, void *arg, int event) { -#if 0 switch (event) { case 1: pose_assign_to_posegroup(1); @@ -3168,7 +3060,6 @@ static void do_view3d_pose_armature_groupmenu(bContext *C, void *arg, int event) pose_remove_posegroup(); break; } -#endif } static uiBlock *view3d_pose_armature_groupmenu(bContext *C, ARegion *ar, void *arg_unused) @@ -3192,8 +3083,6 @@ static uiBlock *view3d_pose_armature_groupmenu(bContext *C, ARegion *ar, void *a static void do_view3d_pose_armature_motionpathsmenu(bContext *C, void *arg, int event) { -#if 0 - switch(event) { case 1: @@ -3203,9 +3092,9 @@ static void do_view3d_pose_armature_motionpathsmenu(bContext *C, void *arg, int pose_clear_paths(OBACT); break; } -#endif } + static uiBlock *view3d_pose_armature_motionpathsmenu(bContext *C, ARegion *ar, void *arg_unused) { uiBlock *block; @@ -3221,54 +3110,22 @@ static uiBlock *view3d_pose_armature_motionpathsmenu(bContext *C, ARegion *ar, v uiTextBoundsBlock(block, 60); return block; } - -static void do_view3d_pose_armature_poselibmenu(bContext *C, void *arg, int event) -{ -#if 0 - Object *ob= OBACT; - - switch(event) { - case 1: - poselib_preview_poses(ob, 0); - break; - case 2: - poselib_add_current_pose(ob, 0); - break; - case 3: - poselib_rename_pose(ob); - break; - case 4: - poselib_remove_pose(ob, NULL); - break; - } - #endif -} -static uiBlock *view3d_pose_armature_poselibmenu(bContext *C, ARegion *ar, void *arg_unused) +static void view3d_pose_armature_poselibmenu(bContext *C, uiLayout *layout, void *arg_unused) { - uiBlock *block; - short yco = 20, menuwidth = 120; - - block= uiBeginBlock(C, ar, "view3d_pose_armature_poselibmenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_pose_armature_poselibmenu, NULL); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Browse Poses|Ctrl L", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); - - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); + uiItemO(layout, NULL, 0, "POSELIB_OT_browse_interactive"); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Add/Replace Pose|Shift L", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 2, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Rename Pose|Ctrl Shift L", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Remove Pose|Alt L", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, ""); + uiItemS(layout); - uiBlockSetDirection(block, UI_RIGHT); - uiTextBoundsBlock(block, 60); - return block; + uiItemO(layout, NULL, 0, "POSELIB_OT_pose_add"); + uiItemO(layout, NULL, 0, "POSELIB_OT_pose_rename"); + uiItemO(layout, NULL, 0, "POSELIB_OT_pose_remove"); } +#if 0 static void do_view3d_pose_armaturemenu(bContext *C, void *arg, int event) { -#if 0 Object *ob; ob=OBACT; @@ -3322,33 +3179,30 @@ static void do_view3d_pose_armaturemenu(bContext *C, void *arg, int event) common_deletekey(); break; } - -#endif } +#endif -static uiBlock *view3d_pose_armaturemenu(bContext *C, ARegion *ar, void *arg_unused) +static void view3d_pose_armaturemenu(bContext *C, uiLayout *layout, void *arg_unused) { - uiBlock *block; - short yco= 0, menuwidth=120; - - block= uiBeginBlock(C, ar, "view3d_pose_armaturemenu", UI_EMBOSSP); - uiBlockSetButmFunc(block, do_view3d_pose_armaturemenu, NULL); - - uiDefIconTextBut(block, BUTM, 1, ICON_MENU_PANEL, "Transform Properties|N", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, ""); +#if 0 // XXX to be ported, using uiItemMenuF(layout, "<Name>", 0, view3d_pose_armature_<category>menu); uiDefIconTextBlockBut(block, view3d_transformmenu, NULL, ICON_RIGHTARROW_THIN, "Transform", 0, yco-=20, 120, 19, ""); - uiDefIconTextBlockBut(block, view3d_pose_armature_transformmenu, NULL, ICON_RIGHTARROW_THIN, "Clear Transform", 0, yco-=20, 120, 19, ""); + // ... clear transfrom sub-menu was here.... uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Scale Envelope Distance|Alt S", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 13, ""); +#endif + uiItemMenuF(layout, "Clear Transform", 0, view3d_pose_armature_transformmenu); - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Insert Keyframe|I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 4, ""); - uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Delete Keyframe|Alt I", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 20, ""); + uiItemS(layout); - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); + // TODO: these operators may get renamed + uiItemO(layout, NULL, 0, "ANIM_OT_insert_keyframe_menu"); + uiItemO(layout, NULL, 0, "ANIM_OT_delete_keyframe_old"); + uiItemS(layout); + +#if 0 uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Relax Pose|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 15, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Apply Pose as Restpose|Ctrl A", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 19, ""); - + uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Copy Current Pose", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 1, ""); @@ -3356,16 +3210,22 @@ static uiBlock *view3d_pose_armaturemenu(bContext *C, ARegion *ar, void *arg_unu uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Paste Flipped Pose", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 3, ""); uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); +#endif + + uiItemMenuF(layout, "Pose Library", 0, view3d_pose_armature_poselibmenu); + //uiItemMenuF(layout, "Motion Paths", 0, view3d_pose_armature_motionpathsmenu); + //uiItemMenuF(layout, "Bone Groups", 0, view3d_pose_armature_groupmenu); - uiDefIconTextBlockBut(block, view3d_pose_armature_poselibmenu, NULL, ICON_RIGHTARROW_THIN, "Pose Library", 0, yco-=20, 120, 19, ""); - uiDefIconTextBlockBut(block, view3d_pose_armature_motionpathsmenu, NULL, ICON_RIGHTARROW_THIN, "Motion Paths", 0, yco-=20, 120, 19, ""); - uiDefIconTextBlockBut(block, view3d_pose_armature_groupmenu, NULL, ICON_RIGHTARROW_THIN, "Bone Groups", 0, yco-=20, 120, 19, ""); - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - uiDefIconTextBlockBut(block, view3d_pose_armature_ikmenu, NULL, ICON_RIGHTARROW_THIN, "Inverse Kinematics", 0, yco-=20, 120, 19, ""); - uiDefIconTextBlockBut(block, view3d_pose_armature_constraintsmenu, NULL, ICON_RIGHTARROW_THIN, "Constraints", 0, yco-=20, 120, 19, ""); + uiItemS(layout); - uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); + uiItemMenuF(layout, "Inverse Kinematics", 0, view3d_pose_armature_ikmenu); + uiItemMenuF(layout, "Constraints", 0, view3d_pose_armature_constraintsmenu); + + uiItemS(layout); + + uiItemMenuF(layout, "Show/Hide Bones", 0, view3d_pose_armature_showhidemenu); +#if 0 uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "AutoName Left-Right|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 16, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "AutoName Front-Back|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 17, ""); uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "AutoName Top-Bottom|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 18, ""); @@ -3380,24 +3240,13 @@ static uiBlock *view3d_pose_armaturemenu(bContext *C, ARegion *ar, void *arg_unu uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, ""); - uiDefIconTextBlockBut(block, view3d_pose_armature_showhidemenu, - NULL, ICON_RIGHTARROW_THIN, "Show/Hide Bones", 0, yco-=20, 120, 19, ""); + // ... show/hide bones was here uiDefIconTextBlockBut(block, view3d_armature_settingsmenu, NULL, ICON_RIGHTARROW_THIN, "Bone Settings", 0, yco-=20, 120, 19, ""); - - if(ar->alignment==RGN_ALIGN_TOP) { - uiBlockSetDirection(block, UI_DOWN); - } - else { - uiBlockSetDirection(block, UI_TOP); - uiBlockFlipOrder(block); - } - - uiTextBoundsBlock(block, 50); - - return block; +#endif } + /* vertex paint menu */ static void do_view3d_vpaintmenu(bContext *C, void *arg, int event) { @@ -4384,7 +4233,7 @@ static void view3d_header_pulldowns(const bContext *C, uiBlock *block, Object *o else { if (ob && (ob->flag & OB_POSEMODE)) { xmax= GetButStringLength("Pose"); - uiDefPulldownBut(block, view3d_pose_armaturemenu, NULL, "Pose", xco,yco, xmax-3, 20, ""); + uiDefMenuBut(block, view3d_pose_armaturemenu, NULL, "Pose", xco,yco, xmax-3, 20, ""); xco+= xmax; } else { |