diff options
Diffstat (limited to 'source/blender/editors/space_graph/graph_header.c')
-rw-r--r-- | source/blender/editors/space_graph/graph_header.c | 73 |
1 files changed, 24 insertions, 49 deletions
diff --git a/source/blender/editors/space_graph/graph_header.c b/source/blender/editors/space_graph/graph_header.c index 8d8c8702987..63c95b18e2d 100644 --- a/source/blender/editors/space_graph/graph_header.c +++ b/source/blender/editors/space_graph/graph_header.c @@ -81,6 +81,7 @@ static void graph_viewmenu(bContext *C, uiLayout *layout, void *arg_unused) uiItemS(layout); uiItemR(layout, NULL, 0, &spaceptr, "show_cframe_indicator", 0); + uiItemR(layout, NULL, 0, &spaceptr, "show_cursor", 0); uiItemR(layout, NULL, 0, &spaceptr, "show_sliders", 0); uiItemR(layout, NULL, 0, &spaceptr, "automerge_keyframes", 0); @@ -158,54 +159,11 @@ static void graph_edit_transformmenu(bContext *C, uiLayout *layout, void *arg_un uiItemEnumO(layout, "Scale", 0, "TFM_OT_transform", "mode", TFM_TIME_SCALE); } -static void graph_edit_snapmenu(bContext *C, uiLayout *layout, void *arg_unused) -{ - uiLayoutSetOperatorContext(layout, WM_OP_EXEC_DEFAULT); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_snap", "type", GRAPHKEYS_SNAP_CFRA); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_snap", "type", GRAPHKEYS_SNAP_NEAREST_FRAME); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_snap", "type", GRAPHKEYS_SNAP_NEAREST_SECOND); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_snap", "type", GRAPHKEYS_SNAP_NEAREST_MARKER); -} - -static void graph_edit_mirrormenu(bContext *C, uiLayout *layout, void *arg_unused) -{ - uiLayoutSetOperatorContext(layout, WM_OP_EXEC_DEFAULT); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_mirror", "type", GRAPHKEYS_MIRROR_CFRA); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_mirror", "type", GRAPHKEYS_MIRROR_YAXIS); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_mirror", "type", GRAPHKEYS_MIRROR_XAXIS); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_mirror", "type", GRAPHKEYS_MIRROR_MARKER); -} - -static void graph_edit_handlesmenu(bContext *C, uiLayout *layout, void *arg_unused) -{ - uiLayoutSetOperatorContext(layout, WM_OP_EXEC_DEFAULT); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_handle_type", "type", HD_FREE); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_handle_type", "type", HD_AUTO); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_handle_type", "type", HD_VECT); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_handle_type", "type", HD_ALIGN); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_handle_type", "type", HD_AUTO_ANIM); // xxx? -} - -static void graph_edit_ipomenu(bContext *C, uiLayout *layout, void *arg_unused) -{ - uiLayoutSetOperatorContext(layout, WM_OP_EXEC_DEFAULT); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_interpolation_type", "type", BEZT_IPO_CONST); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_interpolation_type", "type", BEZT_IPO_LIN); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_interpolation_type", "type", BEZT_IPO_BEZ); -} - -static void graph_edit_expomenu(bContext *C, uiLayout *layout, void *arg_unused) -{ - uiLayoutSetOperatorContext(layout, WM_OP_EXEC_DEFAULT); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_extrapolation_type", "type", FCURVE_EXTRAPOLATE_CONSTANT); - uiItemEnumO(layout, NULL, 0, "GRAPH_OT_extrapolation_type", "type", FCURVE_EXTRAPOLATE_LINEAR); -} - static void graph_editmenu(bContext *C, uiLayout *layout, void *arg_unused) { uiItemMenuF(layout, "Transform", 0, graph_edit_transformmenu, NULL); - uiItemMenuF(layout, "Snap", 0, graph_edit_snapmenu, NULL); - uiItemMenuF(layout, "Mirror", 0, graph_edit_mirrormenu, NULL); + uiItemMenuEnumO(layout, "Snap", 0, "GRAPH_OT_snap", "type"); + uiItemMenuEnumO(layout, "Mirror", 0, "GRAPH_OT_mirror", "type"); uiItemS(layout); @@ -219,9 +177,9 @@ static void graph_editmenu(bContext *C, uiLayout *layout, void *arg_unused) uiItemS(layout); - uiItemMenuF(layout, "Handle Type", 0, graph_edit_handlesmenu, NULL); - uiItemMenuF(layout, "Interpolation Mode", 0, graph_edit_ipomenu, NULL); - uiItemMenuF(layout, "Extrapolation Mode", 0, graph_edit_expomenu, NULL); + uiItemMenuEnumO(layout, "Handle Type", 0, "GRAPH_OT_handle_type", "type"); + uiItemMenuEnumO(layout, "Interpolation Mode", 0, "GRAPH_OT_interpolation_type", "type"); + uiItemMenuEnumO(layout, "Extrapolation Mode", 0, "GRAPH_OT_extrapolation_type", "type"); uiItemS(layout); @@ -248,17 +206,30 @@ static void do_graph_buttons(bContext *C, void *arg, int event) ED_area_tag_redraw(CTX_wm_area(C)); } +static char *garound_pup(const bContext *C) +{ + static char string[512]; + char *str = string; + + str += sprintf(str, "%s", "Pivot: %t"); + str += sprintf(str, "%s", "|Bounding Box Center %x0"); + //str += sprintf(str, "%s", "|Median Point %x3"); + str += sprintf(str, "%s", "|2D Cursor %x1"); + str += sprintf(str, "%s", "|Individual Centers %x2"); + return string; +} void graph_header_buttons(const bContext *C, ARegion *ar) { - ScrArea *sa= CTX_wm_area(C); SpaceIpo *sipo= CTX_wm_space_graph(C); + ScrArea *sa= CTX_wm_area(C); uiBlock *block; int xco, yco= 3; block= uiBeginBlock(C, ar, "header buttons", UI_EMBOSS); uiBlockSetHandleFunc(block, do_graph_buttons, NULL); + /* standard buttosn in header - viewtype selector and menus */ xco= ED_area_header_standardbuttons(C, block, yco); if ((sa->flag & HEADER_NO_PULLDOWN)==0) { @@ -308,6 +279,10 @@ void graph_header_buttons(const bContext *C, ARegion *ar) } xco += 98; + /* pivot mode setting */ + uiDefIconTextButI(block, ICONTEXTROW,B_REDR, ICON_ROTATE, garound_pup(C), xco,yco,XIC+10,YIC, &(sipo->around), 0, 3.0, 0, 0, "Rotation/Scaling Pivot"); + xco+= XIC+10; + /* copy + paste */ uiBlockBeginAlign(block); uiDefIconButO(block, BUT, "GRAPH_OT_copy", WM_OP_INVOKE_REGION_WIN, ICON_COPYDOWN, xco+=XIC,yco,XIC,YIC, "Copies the selected keyframes from the selected channel(s) to the buffer"); |