diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-04-25 08:52:40 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-04-25 08:55:50 +0300 |
commit | b00d971efe67799042577cf0391bb34e9f870835 (patch) | |
tree | 256b9796c0090c5ff2340bbe3b02d4b32ca65b12 /source/blender/editors/space_view3d/view3d_toolbar.c | |
parent | e944e215bf300cd1cea8698391679df1e3802a92 (diff) |
UI: Apply remove redo region
This was a disabled part of the top-bar merge (code by @Severin)
The only change made is to move to redo UI into a popover.
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_toolbar.c')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_toolbar.c | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/source/blender/editors/space_view3d/view3d_toolbar.c b/source/blender/editors/space_view3d/view3d_toolbar.c index 8c77cf36c91..26dca5bf252 100644 --- a/source/blender/editors/space_view3d/view3d_toolbar.c +++ b/source/blender/editors/space_view3d/view3d_toolbar.c @@ -62,73 +62,6 @@ #include "view3d_intern.h" /* own include */ - -#ifndef WITH_REDO_REGION_REMOVAL -/* ******************* view3d space & buttons ************** */ - -static void view3d_panel_operator_redo_buts(const bContext *C, Panel *pa, wmOperator *op) -{ - uiTemplateOperatorPropertyButs(C, pa->layout, op, NULL, UI_BUT_LABEL_ALIGN_COLUMN, 0); -} - -static void view3d_panel_operator_redo_header(const bContext *C, Panel *pa) -{ - wmOperator *op = WM_operator_last_redo(C); - - if (op) - BLI_strncpy(pa->drawname, RNA_struct_ui_name(op->type->srna), sizeof(pa->drawname)); - else - BLI_strncpy(pa->drawname, IFACE_("Operator"), sizeof(pa->drawname)); -} - -static void view3d_panel_operator_redo_operator(const bContext *C, Panel *pa, wmOperator *op) -{ - if (op->type->flag & OPTYPE_MACRO) { - for (op = op->macro.first; op; op = op->next) { - uiItemL(pa->layout, RNA_struct_ui_name(op->type->srna), ICON_NONE); - view3d_panel_operator_redo_operator(C, pa, op); - } - } - else { - view3d_panel_operator_redo_buts(C, pa, op); - } -} - -/* TODO de-duplicate redo panel functions - campbell */ -static void view3d_panel_operator_redo(const bContext *C, Panel *pa) -{ - wmOperator *op = WM_operator_last_redo(C); - ARegion *ar; - ARegion *ar1; - - if (op == NULL) { - return; - } - - /* keep in sync with logic in ED_undo_operator_repeat() */ - ar = CTX_wm_region(C); - ar1 = BKE_area_find_region_active_win(CTX_wm_area(C)); - if (ar1) - CTX_wm_region_set((bContext *)C, ar1); - - if (WM_operator_poll((bContext *)C, op->type)) { - uiBlock *block = uiLayoutGetBlock(pa->layout); - - if (!WM_operator_check_ui_enabled(C, op->type->name)) - uiLayoutSetEnabled(pa->layout, false); - - /* note, blockfunc is a default but->func, use Handle func to allow button callbacks too */ - UI_block_func_handle_set(block, ED_undo_operator_repeat_cb_evt, op); - - view3d_panel_operator_redo_operator(C, pa, op); - } - - /* set region back */ - CTX_wm_region_set((bContext *)C, ar); -} - -#endif - /* ******************* */ typedef struct CustomTool { @@ -242,21 +175,6 @@ void view3d_toolshelf_register(ARegionType *art) BLI_addtail(&art->paneltypes, pt); } -#ifndef WITH_REDO_REGION_REMOVAL -void view3d_tool_props_register(ARegionType *art) -{ - PanelType *pt; - - pt = MEM_callocN(sizeof(PanelType), "spacetype view3d panel last operator"); - strcpy(pt->idname, "VIEW3D_PT_last_operator"); - strcpy(pt->label, N_("Operator")); - strcpy(pt->translation_context, BLT_I18NCONTEXT_DEFAULT_BPYRNA); - pt->draw_header = view3d_panel_operator_redo_header; - pt->draw = view3d_panel_operator_redo; - BLI_addtail(&art->paneltypes, pt); -} -#endif - /* ********** operator to open/close toolshelf region */ static int view3d_toolshelf_toggle_exec(bContext *C, wmOperator *UNUSED(op)) |