Blender  V3.3
Classes | Macros
wm_operators.c File Reference
#include <ctype.h>
#include <errno.h>
#include <float.h>
#include <stddef.h>
#include <stdio.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "CLG_log.h"
#include "DNA_ID.h"
#include "DNA_armature_types.h"
#include "DNA_brush_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_userdef_types.h"
#include "DNA_windowmanager_types.h"
#include "BLT_translation.h"
#include "PIL_time.h"
#include "BLI_blenlib.h"
#include "BLI_dial_2d.h"
#include "BLI_dynstr.h"
#include "BLI_math.h"
#include "BLI_string_utils.h"
#include "BLI_utildefines.h"
#include "BKE_anim_data.h"
#include "BKE_brush.h"
#include "BKE_colortools.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_icons.h"
#include "BKE_idprop.h"
#include "BKE_image.h"
#include "BKE_image_format.h"
#include "BKE_lib_id.h"
#include "BKE_lib_query.h"
#include "BKE_main.h"
#include "BKE_material.h"
#include "BKE_report.h"
#include "BKE_scene.h"
#include "BKE_screen.h"
#include "BKE_unit.h"
#include "BKE_idtype.h"
#include "BLF_api.h"
#include "GPU_immediate.h"
#include "GPU_immediate_util.h"
#include "GPU_matrix.h"
#include "GPU_state.h"
#include "IMB_imbuf_types.h"
#include "ED_fileselect.h"
#include "ED_numinput.h"
#include "ED_screen.h"
#include "ED_undo.h"
#include "ED_view3d.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "RNA_enum_types.h"
#include "RNA_path.h"
#include "RNA_prototypes.h"
#include "UI_interface.h"
#include "UI_interface_icons.h"
#include "UI_resources.h"
#include "WM_api.h"
#include "WM_types.h"
#include "wm.h"
#include "wm_draw.h"
#include "wm_event_system.h"
#include "wm_event_types.h"
#include "wm_files.h"
#include "wm_window.h"

Go to the source code of this file.

Classes

struct  EnumSearchMenu
 
struct  wmOpPopUp
 
struct  SearchPopupInit_Data
 
struct  RadialControl
 
struct  PreviewsIDEnsureData
 

Macros

#define UNDOCUMENTED_OPERATOR_TIP   N_("(undocumented operator)")
 
#define CTX_TEST_PTR_ID(C, member, idptr)
 
#define CTX_TEST_PTR_ID_CAST(C, member, member_full, cast, idptr)
 
#define TEST_PTR_DATA_TYPE(member, rna_type, rna_ptr, dataptr_cmp)
 
#define TEST_PTR_DATA_TYPE_FROM_CONTEXT(member, rna_type, rna_ptr)
 
#define ID_CAST_OBDATA(id_pt)   (((Object *)(id_pt))->data)
 
#define ID_CAST_OBMATACT(id_pt)    (BKE_object_material_get(((Object *)id_pt), ((Object *)id_pt)->actcol))
 
#define ID_CAST_SCENEWORLD(id_pt)   (((Scene *)(id_pt))->world)
 

Functions

Operator API
size_t WM_operator_py_idname (char *dst, const char *src)
 
size_t WM_operator_bl_idname (char *dst, const char *src)
 
bool WM_operator_py_idname_ok_or_report (ReportList *reports, const char *classname, const char *idname)
 
char * WM_operator_pystring_ex (bContext *C, wmOperator *op, const bool all_args, const bool macro_args, wmOperatorType *ot, PointerRNA *opptr)
 
char * WM_operator_pystring (bContext *C, wmOperator *op, const bool all_args, const bool macro_args)
 
bool WM_operator_pystring_abbreviate (char *str, int str_len_max)
 
static const char * wm_context_member_from_ptr (const bContext *C, const PointerRNA *ptr, bool *r_is_id)
 
char * WM_context_path_resolve_property_full (const bContext *C, const PointerRNA *ptr, PropertyRNA *prop, int index)
 
char * WM_context_path_resolve_full (bContext *C, const PointerRNA *ptr)
 
static char * wm_prop_pystring_from_context (bContext *C, PointerRNA *ptr, PropertyRNA *prop, int index)
 
char * WM_prop_pystring_assign (bContext *C, PointerRNA *ptr, PropertyRNA *prop, int index)
 
void WM_operator_properties_create_ptr (PointerRNA *ptr, wmOperatorType *ot)
 
void WM_operator_properties_create (PointerRNA *ptr, const char *opstring)
 
void WM_operator_properties_alloc (PointerRNA **ptr, IDProperty **properties, const char *opstring)
 
void WM_operator_properties_sanitize (PointerRNA *ptr, const bool no_context)
 
bool WM_operator_properties_default (PointerRNA *ptr, const bool do_update)
 
void WM_operator_properties_reset (wmOperator *op)
 
void WM_operator_properties_clear (PointerRNA *ptr)
 
void WM_operator_properties_free (PointerRNA *ptr)
 
Operator Last Properties API
static bool operator_last_properties_init_impl (wmOperator *op, IDProperty *last_properties)
 
bool WM_operator_last_properties_init (wmOperator *op)
 
bool WM_operator_last_properties_store (wmOperator *op)
 
Debug Menu Operator

Set internal debug value, mainly for developers.

static int wm_debug_menu_exec (bContext *C, wmOperator *op)
 
static int wm_debug_menu_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
static void WM_OT_debug_menu (wmOperatorType *ot)
 
Reset Defaults Operator
static int wm_operator_defaults_exec (bContext *C, wmOperator *op)
 
static void WM_OT_operator_defaults (wmOperatorType *ot)
 
Operator/Menu Search Operator
static uiBlockwm_block_search_menu (bContext *C, ARegion *region, void *userdata)
 
static int wm_search_menu_exec (bContext *UNUSED(C), wmOperator *UNUSED(op))
 
static int wm_search_menu_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static void WM_OT_search_menu (wmOperatorType *ot)
 
static void WM_OT_search_operator (wmOperatorType *ot)
 
static int wm_call_menu_exec (bContext *C, wmOperator *op)
 
static const char * wm_call_menu_get_name (wmOperatorType *ot, PointerRNA *ptr)
 
static void WM_OT_call_menu (wmOperatorType *ot)
 
static int wm_call_pie_menu_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static int wm_call_pie_menu_exec (bContext *C, wmOperator *op)
 
static void WM_OT_call_menu_pie (wmOperatorType *ot)
 
static int wm_call_panel_exec (bContext *C, wmOperator *op)
 
static const char * wm_call_panel_get_name (wmOperatorType *ot, PointerRNA *ptr)
 
static void WM_OT_call_panel (wmOperatorType *ot)
 
Window/Screen Operators
static bool wm_operator_winactive_normal (bContext *C)
 
static void WM_OT_window_close (wmOperatorType *ot)
 
static void WM_OT_window_new (wmOperatorType *ot)
 
static void WM_OT_window_new_main (wmOperatorType *ot)
 
static void WM_OT_window_fullscreen_toggle (wmOperatorType *ot)
 
static int wm_exit_blender_exec (bContext *C, wmOperator *UNUSED(op))
 
static int wm_exit_blender_invoke (bContext *C, wmOperator *UNUSED(op), const wmEvent *UNUSED(event))
 
static void WM_OT_quit_blender (wmOperatorType *ot)
 
default paint cursors, draw always around cursor
  • Returns handler to free.
  • poll(bContext): returns 1 if draw should happen.
  • draw(bContext): drawing callback for paint cursor.
wmPaintCursorWM_paint_cursor_activate (short space_type, short region_type, bool(*poll)(bContext *C), wmPaintCursorDraw draw, void *customdata)
 
bool WM_paint_cursor_end (wmPaintCursor *handle)
 
void WM_paint_cursor_remove_by_type (wmWindowManager *wm, void *draw_fn, void(*free)(void *))
 
Report Memory Statistics

Use for testing/debugging.

static int memory_statistics_exec (bContext *UNUSED(C), wmOperator *UNUSED(op))
 
static void WM_OT_memory_statistics (wmOperatorType *ot)
 
Doc from UI Operator
static int doc_view_manual_ui_context_exec (bContext *C, wmOperator *UNUSED(op))
 
static void WM_OT_doc_view_manual_ui_context (wmOperatorType *ot)
 
Toggle Stereo 3D Operator

Turning it fullscreen if needed.

static void WM_OT_stereo3d_set (wmOperatorType *ot)
 
Operator Registration & Keymaps
void wm_operatortypes_register (void)
 
static void gesture_circle_modal_keymap (wmKeyConfig *keyconf)
 
static void gesture_straightline_modal_keymap (wmKeyConfig *keyconf)
 
static void gesture_box_modal_keymap (wmKeyConfig *keyconf)
 
static void gesture_lasso_modal_keymap (wmKeyConfig *keyconf)
 
static void gesture_zoom_border_modal_keymap (wmKeyConfig *keyconf)
 
void wm_window_keymap (wmKeyConfig *keyconf)
 
Enum Filter Functions

Filter functions that can be used with rna_id_itemf() below. Should return false if 'id' should be excluded.

static bool rna_id_enum_filter_single (const ID *id, void *user_data)
 
static const EnumPropertyItemrna_id_itemf (bool *r_free, ID *id, bool local, bool(*filter_ids)(const ID *id, void *user_data), void *user_data)
 
const EnumPropertyItemRNA_action_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 
const EnumPropertyItemRNA_collection_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 
const EnumPropertyItemRNA_collection_local_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 
const EnumPropertyItemRNA_image_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 
const EnumPropertyItemRNA_image_local_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 
const EnumPropertyItemRNA_scene_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 
const EnumPropertyItemRNA_scene_local_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 
const EnumPropertyItemRNA_scene_without_active_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 
const EnumPropertyItemRNA_movieclip_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 
const EnumPropertyItemRNA_movieclip_local_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 
const EnumPropertyItemRNA_mask_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 
const EnumPropertyItemRNA_mask_local_itemf (bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), bool *r_free)
 

Radial Control Operator

#define WM_RADIAL_CONTROL_DISPLAY_SIZE   (200 * UI_DPI_FAC)
 
#define WM_RADIAL_CONTROL_DISPLAY_MIN_SIZE   (35 * UI_DPI_FAC)
 
#define WM_RADIAL_CONTROL_DISPLAY_WIDTH    (WM_RADIAL_CONTROL_DISPLAY_SIZE - WM_RADIAL_CONTROL_DISPLAY_MIN_SIZE)
 
#define WM_RADIAL_MAX_STR   10
 
enum  RCPropFlags { RC_PROP_ALLOW_MISSING = 1 , RC_PROP_REQUIRE_FLOAT = 2 , RC_PROP_REQUIRE_BOOL = 4 }
 
static void radial_control_update_header (wmOperator *op, bContext *C)
 
static void radial_control_set_initial_mouse (RadialControl *rc, const wmEvent *event)
 
static void radial_control_set_tex (RadialControl *rc)
 
static void radial_control_paint_tex (RadialControl *rc, float radius, float alpha)
 
static void radial_control_paint_curve (uint pos, Brush *br, float radius, int line_segments)
 
static void radial_control_paint_cursor (bContext *UNUSED(C), int x, int y, void *customdata)
 
static int radial_control_get_path (PointerRNA *ctx_ptr, wmOperator *op, const char *name, PointerRNA *r_ptr, PropertyRNA **r_prop, int req_length, RCPropFlags flags)
 
static int radial_control_get_properties (bContext *C, wmOperator *op)
 
static int radial_control_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static void radial_control_set_value (RadialControl *rc, float val)
 
static void radial_control_cancel (bContext *C, wmOperator *op)
 
static int radial_control_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
static void WM_OT_radial_control (wmOperatorType *ot)
 

Redraw Timer Operator

Use for simple benchmarks.

enum  {
  eRTDrawRegion = 0 , eRTDrawRegionSwap = 1 , eRTDrawWindow = 2 , eRTDrawWindowSwap = 3 ,
  eRTAnimationStep = 4 , eRTAnimationPlay = 5 , eRTUndo = 6
}
 
static const EnumPropertyItem redraw_timer_type_items []
 
static void redraw_timer_window_swap (bContext *C)
 
static void redraw_timer_step (bContext *C, Scene *scene, struct Depsgraph *depsgraph, wmWindow *win, ScrArea *area, ARegion *region, const int type, const int cfra)
 
static bool redraw_timer_poll (bContext *C)
 
static int redraw_timer_exec (bContext *C, wmOperator *op)
 
static void WM_OT_redraw_timer (wmOperatorType *ot)
 

Data-Block Preview Clear Operator

enum  PreviewFilterID {
  PREVIEW_FILTER_ALL , PREVIEW_FILTER_GEOMETRY , PREVIEW_FILTER_SHADING , PREVIEW_FILTER_SCENE ,
  PREVIEW_FILTER_COLLECTION , PREVIEW_FILTER_OBJECT , PREVIEW_FILTER_MATERIAL , PREVIEW_FILTER_LIGHT ,
  PREVIEW_FILTER_WORLD , PREVIEW_FILTER_TEXTURE , PREVIEW_FILTER_IMAGE
}
 
typedef enum PreviewFilterID PreviewFilterID
 
static const EnumPropertyItem preview_id_type_items []
 
static uint preview_filter_to_idfilter (enum PreviewFilterID filter)
 
static int previews_clear_exec (bContext *C, wmOperator *op)
 
static void WM_OT_previews_clear (wmOperatorType *ot)
 

Default Operator Callbacks

typedef struct wmOpPopUp wmOpPopUp
 
int WM_generic_select_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
int WM_generic_select_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void WM_operator_view3d_unit_defaults (struct bContext *C, struct wmOperator *op)
 
int WM_operator_smooth_viewtx_get (const wmOperator *op)
 
int WM_menu_invoke_ex (bContext *C, wmOperator *op, wmOperatorCallContext opcontext)
 
int WM_menu_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
static uiBlockwm_enum_search_menu (bContext *C, ARegion *region, void *arg)
 
int WM_enum_search_invoke_previews (bContext *C, wmOperator *op, short prv_cols, short prv_rows)
 
int WM_enum_search_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
int WM_operator_confirm_message_ex (bContext *C, wmOperator *op, const char *title, const int icon, const char *message, const wmOperatorCallContext opcontext)
 
int WM_operator_confirm_message (bContext *C, wmOperator *op, const char *message)
 
int WM_operator_confirm (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
int WM_operator_confirm_or_exec (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
int WM_operator_filesel (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
bool WM_operator_filesel_ensure_ext_imtype (wmOperator *op, const struct ImageFormatData *im_format)
 
bool WM_operator_winactive (bContext *C)
 
bool WM_operator_check_ui_enabled (const bContext *C, const char *idname)
 
wmOperatorWM_operator_last_redo (const bContext *C)
 
IDPropertyWM_operator_last_properties_ensure_idprops (wmOperatorType *ot)
 
void WM_operator_last_properties_ensure (wmOperatorType *ot, PointerRNA *ptr)
 
IDWM_operator_drop_load_path (struct bContext *C, wmOperator *op, const short idcode)
 
static void wm_block_redo_cb (bContext *C, void *arg_op, int UNUSED(arg_event))
 
static void wm_block_redo_cancel_cb (bContext *C, void *arg_op)
 
static uiBlockwm_block_create_redo (bContext *C, ARegion *region, void *arg_op)
 
static void dialog_exec_cb (bContext *C, void *arg1, void *arg2)
 
static uiBlockwm_block_dialog_create (bContext *C, ARegion *region, void *userData)
 
static uiBlockwm_operator_ui_create (bContext *C, ARegion *region, void *userData)
 
static void wm_operator_ui_popup_cancel (struct bContext *C, void *userData)
 
static void wm_operator_ui_popup_ok (struct bContext *C, void *arg, int retval)
 
int WM_operator_ui_popup (bContext *C, wmOperator *op, int width)
 
static int wm_operator_props_popup_ex (bContext *C, wmOperator *op, const bool do_call, const bool do_redo)
 
int WM_operator_props_popup_confirm (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
int WM_operator_props_popup_call (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
int WM_operator_props_popup (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
int WM_operator_props_dialog_popup (bContext *C, wmOperator *op, int width)
 
int WM_operator_redo_popup (bContext *C, wmOperator *op)
 

Data-Block Preview Generation Operator

Use for material/texture/light ... etc.

typedef struct PreviewsIDEnsureData PreviewsIDEnsureData
 
static void previews_id_ensure (bContext *C, Scene *scene, ID *id)
 
static int previews_id_ensure_callback (LibraryIDLinkCallbackData *cb_data)
 
static int previews_ensure_exec (bContext *C, wmOperator *UNUSED(op))
 
static void WM_OT_previews_ensure (wmOperatorType *ot)
 

Detailed Description

Functions for dealing with wmOperator, adding, removing, calling as well as some generic operators and shared operator properties.

Definition in file wm_operators.c.

Macro Definition Documentation

◆ CTX_TEST_PTR_ID

#define CTX_TEST_PTR_ID (   C,
  member,
  idptr 
)
Value:
{ \
const char *ctx_member = member; \
PointerRNA ctx_item_ptr = CTX_data_pointer_get(C, ctx_member); \
if (ctx_item_ptr.owner_id == idptr) { \
member_id = ctx_member; \
is_id = true; \
break; \
} \
} \
(void)0
PointerRNA CTX_data_pointer_get(const bContext *C, const char *member)
Definition: context.c:462
#define C
Definition: RandGen.cpp:25
SyclQueue void void size_t num_bytes void

◆ CTX_TEST_PTR_ID_CAST

#define CTX_TEST_PTR_ID_CAST (   C,
  member,
  member_full,
  cast,
  idptr 
)
Value:
{ \
const char *ctx_member = member; \
const char *ctx_member_full = member_full; \
PointerRNA ctx_item_ptr = CTX_data_pointer_get(C, ctx_member); \
if (ctx_item_ptr.owner_id && (ID *)cast(ctx_item_ptr.owner_id) == idptr) { \
member_id = ctx_member_full; \
is_id = true; \
break; \
} \
} \
(void)0
U * cast(T *in)
Definition: Cast.h:13
Definition: DNA_ID.h:368

◆ ID_CAST_OBDATA

#define ID_CAST_OBDATA (   id_pt)    (((Object *)(id_pt))->data)

◆ ID_CAST_OBMATACT

#define ID_CAST_OBMATACT (   id_pt)     (BKE_object_material_get(((Object *)id_pt), ((Object *)id_pt)->actcol))

◆ ID_CAST_SCENEWORLD

#define ID_CAST_SCENEWORLD (   id_pt)    (((Scene *)(id_pt))->world)

◆ TEST_PTR_DATA_TYPE

#define TEST_PTR_DATA_TYPE (   member,
  rna_type,
  rna_ptr,
  dataptr_cmp 
)
Value:
{ \
const char *ctx_member = member; \
if (RNA_struct_is_a((rna_ptr)->type, &(rna_type)) && (rna_ptr)->data == (dataptr_cmp)) { \
member_id = ctx_member; \
break; \
} \
} \
(void)0
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
bool RNA_struct_is_a(const StructRNA *type, const StructRNA *srna)
Definition: rna_access.c:695

◆ TEST_PTR_DATA_TYPE_FROM_CONTEXT

#define TEST_PTR_DATA_TYPE_FROM_CONTEXT (   member,
  rna_type,
  rna_ptr 
)
Value:
{ \
const char *ctx_member = member; \
if (RNA_struct_is_a((rna_ptr)->type, &(rna_type)) && \
(rna_ptr)->data == (CTX_data_pointer_get_type(C, ctx_member, &(rna_type)).data)) { \
member_id = ctx_member; \
break; \
} \
} \
(void)0
PointerRNA CTX_data_pointer_get_type(const bContext *C, const char *member, StructRNA *type)
Definition: context.c:473

◆ UNDOCUMENTED_OPERATOR_TIP

#define UNDOCUMENTED_OPERATOR_TIP   N_("(undocumented operator)")

Definition at line 104 of file wm_operators.c.

◆ WM_RADIAL_CONTROL_DISPLAY_MIN_SIZE

#define WM_RADIAL_CONTROL_DISPLAY_MIN_SIZE   (35 * UI_DPI_FAC)

Definition at line 2159 of file wm_operators.c.

◆ WM_RADIAL_CONTROL_DISPLAY_SIZE

#define WM_RADIAL_CONTROL_DISPLAY_SIZE   (200 * UI_DPI_FAC)

Definition at line 2158 of file wm_operators.c.

◆ WM_RADIAL_CONTROL_DISPLAY_WIDTH

#define WM_RADIAL_CONTROL_DISPLAY_WIDTH    (WM_RADIAL_CONTROL_DISPLAY_SIZE - WM_RADIAL_CONTROL_DISPLAY_MIN_SIZE)

Definition at line 2160 of file wm_operators.c.

◆ WM_RADIAL_MAX_STR

#define WM_RADIAL_MAX_STR   10

Definition at line 2162 of file wm_operators.c.

Typedef Documentation

◆ PreviewFilterID

◆ PreviewsIDEnsureData

◆ wmOpPopUp

typedef struct wmOpPopUp wmOpPopUp

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
eRTDrawRegion 
eRTDrawRegionSwap 
eRTDrawWindow 
eRTDrawWindowSwap 
eRTAnimationStep 
eRTAnimationPlay 
eRTUndo 

Definition at line 3194 of file wm_operators.c.

◆ PreviewFilterID

Enumerator
PREVIEW_FILTER_ALL 
PREVIEW_FILTER_GEOMETRY 
PREVIEW_FILTER_SHADING 
PREVIEW_FILTER_SCENE 
PREVIEW_FILTER_COLLECTION 
PREVIEW_FILTER_OBJECT 
PREVIEW_FILTER_MATERIAL 
PREVIEW_FILTER_LIGHT 
PREVIEW_FILTER_WORLD 
PREVIEW_FILTER_TEXTURE 
PREVIEW_FILTER_IMAGE 

Definition at line 3496 of file wm_operators.c.

◆ RCPropFlags

Enumerator
RC_PROP_ALLOW_MISSING 
RC_PROP_REQUIRE_FLOAT 
RC_PROP_REQUIRE_BOOL 

Definition at line 2537 of file wm_operators.c.

Function Documentation

◆ dialog_exec_cb()

static void dialog_exec_cb ( bContext C,
void arg1,
void arg2 
)
static

◆ doc_view_manual_ui_context_exec()

static int doc_view_manual_ui_context_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ gesture_box_modal_keymap()

static void gesture_box_modal_keymap ( wmKeyConfig keyconf)
static

◆ gesture_circle_modal_keymap()

static void gesture_circle_modal_keymap ( wmKeyConfig keyconf)
static

◆ gesture_lasso_modal_keymap()

static void gesture_lasso_modal_keymap ( wmKeyConfig keyconf)
static

◆ gesture_straightline_modal_keymap()

static void gesture_straightline_modal_keymap ( wmKeyConfig keyconf)
static

◆ gesture_zoom_border_modal_keymap()

static void gesture_zoom_border_modal_keymap ( wmKeyConfig keyconf)
static

◆ memory_statistics_exec()

static int memory_statistics_exec ( bContext UNUSEDC,
wmOperator UNUSEDop 
)
static

Definition at line 3383 of file wm_operators.c.

References MEM_printmemlist_stats, and OPERATOR_FINISHED.

Referenced by WM_OT_memory_statistics().

◆ operator_last_properties_init_impl()

static bool operator_last_properties_init_impl ( wmOperator op,
IDProperty last_properties 
)
static

◆ preview_filter_to_idfilter()

static uint preview_filter_to_idfilter ( enum PreviewFilterID  filter)
static

◆ previews_clear_exec()

static int previews_clear_exec ( bContext C,
wmOperator op 
)
static

◆ previews_ensure_exec()

static int previews_ensure_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ previews_id_ensure()

static void previews_id_ensure ( bContext C,
Scene scene,
ID id 
)
static

◆ previews_id_ensure_callback()

static int previews_id_ensure_callback ( LibraryIDLinkCallbackData cb_data)
static

◆ radial_control_cancel()

static void radial_control_cancel ( bContext C,
wmOperator op 
)
static

◆ radial_control_get_path()

static int radial_control_get_path ( PointerRNA ctx_ptr,
wmOperator op,
const char *  name,
PointerRNA r_ptr,
PropertyRNA **  r_prop,
int  req_length,
RCPropFlags  flags 
)
static

Attempt to retrieve the rna pointer/property from an rna path.

Returns
0 for failure, 1 for success, and also 1 if property is not set.

Definition at line 2548 of file wm_operators.c.

References BKE_report(), BKE_reportf(), len, MEM_freeN, NULL, PROP_BOOLEAN, PROP_FLOAT, wmOperator::ptr, RC_PROP_ALLOW_MISSING, RC_PROP_REQUIRE_BOOL, RC_PROP_REQUIRE_FLOAT, wmOperator::reports, RNA_path_resolve(), RNA_property_array_length(), RNA_property_type(), RNA_string_get_alloc(), RPT_ERROR, and str.

Referenced by radial_control_get_properties().

◆ radial_control_get_properties()

static int radial_control_get_properties ( bContext C,
wmOperator op 
)
static

◆ radial_control_invoke()

static int radial_control_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ radial_control_modal()

static int radial_control_modal ( bContext C,
wmOperator op,
const wmEvent event 
)
static

Definition at line 2856 of file wm_operators.c.

References applyNumInput(), atan2f, BLI_dial_angle(), BLI_dial_init(), C, ceil(), CLAMP, clamp_f(), CTX_wm_manager(), CTX_wm_region(), RadialControl::current_value, wmOperator::customdata, DEG2RADF, RadialControl::dial, ED_region_tag_redraw(), ED_undo_is_legacy_compatible_for_property(), ED_undo_push(), EVT_ESCKEY, EVT_LEFTSHIFTKEY, EVT_PADENTER, EVT_RETKEY, EVT_RIGHTSHIFTKEY, float(), handleNumInput(), hasNumInput(), RadialControl::init_event, RadialControl::initial_mouse, RadialControl::initial_value, KM_CTRL, KM_PRESS, KM_RELEASE, LEFTMOUSE, len_v2(), M_PI, RadialControl::max_value, MEM_SAFE_FREE, RadialControl::min_value, MOUSEMOVE, wmOperatorType::name, RadialControl::num_input, wmWindowManager::op_undo_depth, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_RUNNING_MODAL, PointerRNA::owner_id, RadialControl::prop, PROP_ANGLE, PROP_DISTANCE, PROP_FACTOR, PROP_NONE, PROP_PERCENTAGE, PROP_PIXEL, wmOperator::ptr, RadialControl::ptr, RAD2DEGF, radial_control_cancel(), radial_control_set_value(), radial_control_update_header(), ret, RIGHTMOUSE, RNA_boolean_get(), RNA_property_float_get_array(), RNA_property_update(), RadialControl::slow_mode, RadialControl::slow_mouse, snap(), RadialControl::subtype, wmOperator::type, wmEvent::type, UNPACK2, wmEvent::val, WM_RADIAL_CONTROL_DISPLAY_MIN_SIZE, WM_RADIAL_CONTROL_DISPLAY_SIZE, WM_RADIAL_CONTROL_DISPLAY_WIDTH, wmEvent::xy, RadialControl::zoom_prop, and RadialControl::zoom_ptr.

Referenced by WM_OT_radial_control().

◆ radial_control_paint_cursor()

static void radial_control_paint_cursor ( bContext UNUSEDC,
int  x,
int  y,
void customdata 
)
static

◆ radial_control_paint_curve()

static void radial_control_paint_curve ( uint  pos,
Brush br,
float  radius,
int  line_segments 
)
static

◆ radial_control_paint_tex()

static void radial_control_paint_tex ( RadialControl rc,
float  radius,
float  alpha 
)
static

◆ radial_control_set_initial_mouse()

static void radial_control_set_initial_mouse ( RadialControl rc,
const wmEvent event 
)
static

◆ radial_control_set_tex()

static void radial_control_set_tex ( RadialControl rc)
static

◆ radial_control_set_value()

static void radial_control_set_value ( RadialControl rc,
float  val 
)
static

◆ radial_control_update_header()

static void radial_control_update_header ( wmOperator op,
bContext C 
)
static

◆ redraw_timer_exec()

static int redraw_timer_exec ( bContext C,
wmOperator op 
)
static

◆ redraw_timer_poll()

static bool redraw_timer_poll ( bContext C)
static

Definition at line 3290 of file wm_operators.c.

References C, G, and WM_operator_winactive().

Referenced by WM_OT_redraw_timer().

◆ redraw_timer_step()

static void redraw_timer_step ( bContext C,
Scene scene,
struct Depsgraph depsgraph,
wmWindow win,
ScrArea area,
ARegion region,
const int  type,
const int  cfra 
)
static

◆ redraw_timer_window_swap()

static void redraw_timer_window_swap ( bContext C)
static

◆ RNA_action_itemf()

const EnumPropertyItem* RNA_action_itemf ( bContext C,
PointerRNA UNUSEDptr,
PropertyRNA UNUSEDprop,
bool r_free 
)

Definition at line 4040 of file wm_operators.c.

References C, CTX_data_main(), NULL, and rna_id_itemf().

◆ RNA_collection_itemf()

const EnumPropertyItem* RNA_collection_itemf ( bContext C,
PointerRNA UNUSEDptr,
PropertyRNA UNUSEDprop,
bool r_free 
)

Definition at line 4058 of file wm_operators.c.

References C, CTX_data_main(), NULL, and rna_id_itemf().

◆ RNA_collection_local_itemf()

const EnumPropertyItem* RNA_collection_local_itemf ( bContext C,
PointerRNA UNUSEDptr,
PropertyRNA UNUSEDprop,
bool r_free 
)

Definition at line 4066 of file wm_operators.c.

References C, CTX_data_main(), NULL, and rna_id_itemf().

◆ rna_id_enum_filter_single()

static bool rna_id_enum_filter_single ( const ID id,
void user_data 
)
static

Definition at line 3995 of file wm_operators.c.

References user_data.

Referenced by RNA_scene_without_active_itemf().

◆ rna_id_itemf()

static const EnumPropertyItem* rna_id_itemf ( bool r_free,
ID id,
bool  local,
bool(*)(const ID *id, void *user_data filter_ids,
void user_data 
)
static

◆ RNA_image_itemf()

const EnumPropertyItem* RNA_image_itemf ( bContext C,
PointerRNA UNUSEDptr,
PropertyRNA UNUSEDprop,
bool r_free 
)

Definition at line 4075 of file wm_operators.c.

References C, CTX_data_main(), NULL, and rna_id_itemf().

◆ RNA_image_local_itemf()

const EnumPropertyItem* RNA_image_local_itemf ( bContext C,
PointerRNA UNUSEDptr,
PropertyRNA UNUSEDprop,
bool r_free 
)

Definition at line 4082 of file wm_operators.c.

References C, CTX_data_main(), NULL, and rna_id_itemf().

◆ RNA_mask_itemf()

const EnumPropertyItem* RNA_mask_itemf ( bContext C,
PointerRNA UNUSEDptr,
PropertyRNA UNUSEDprop,
bool r_free 
)

Definition at line 4133 of file wm_operators.c.

References C, CTX_data_main(), NULL, and rna_id_itemf().

◆ RNA_mask_local_itemf()

const EnumPropertyItem* RNA_mask_local_itemf ( bContext C,
PointerRNA UNUSEDptr,
PropertyRNA UNUSEDprop,
bool r_free 
)

Definition at line 4140 of file wm_operators.c.

References C, CTX_data_main(), NULL, and rna_id_itemf().

◆ RNA_movieclip_itemf()

const EnumPropertyItem* RNA_movieclip_itemf ( bContext C,
PointerRNA UNUSEDptr,
PropertyRNA UNUSEDprop,
bool r_free 
)

Definition at line 4116 of file wm_operators.c.

References C, CTX_data_main(), NULL, and rna_id_itemf().

◆ RNA_movieclip_local_itemf()

const EnumPropertyItem* RNA_movieclip_local_itemf ( bContext C,
PointerRNA UNUSEDptr,
PropertyRNA UNUSEDprop,
bool r_free 
)

Definition at line 4124 of file wm_operators.c.

References C, CTX_data_main(), NULL, and rna_id_itemf().

◆ RNA_scene_itemf()

const EnumPropertyItem* RNA_scene_itemf ( bContext C,
PointerRNA UNUSEDptr,
PropertyRNA UNUSEDprop,
bool r_free 
)

Definition at line 4090 of file wm_operators.c.

References C, CTX_data_main(), NULL, and rna_id_itemf().

◆ RNA_scene_local_itemf()

const EnumPropertyItem* RNA_scene_local_itemf ( bContext C,
PointerRNA UNUSEDptr,
PropertyRNA UNUSEDprop,
bool r_free 
)

Definition at line 4097 of file wm_operators.c.

References C, CTX_data_main(), NULL, and rna_id_itemf().

◆ RNA_scene_without_active_itemf()

const EnumPropertyItem* RNA_scene_without_active_itemf ( bContext C,
PointerRNA UNUSEDptr,
PropertyRNA UNUSEDprop,
bool r_free 
)

◆ wm_block_create_redo()

static uiBlock* wm_block_create_redo ( bContext C,
ARegion region,
void arg_op 
)
static

◆ wm_block_dialog_create()

static uiBlock* wm_block_dialog_create ( bContext C,
ARegion region,
void userData 
)
static

◆ wm_block_redo_cancel_cb()

static void wm_block_redo_cancel_cb ( bContext C,
void arg_op 
)
static

◆ wm_block_redo_cb()

static void wm_block_redo_cb ( bContext C,
void arg_op,
int   UNUSEDarg_event 
)
static

◆ wm_block_search_menu()

static uiBlock* wm_block_search_menu ( bContext C,
ARegion region,
void userdata 
)
static

◆ wm_call_menu_exec()

static int wm_call_menu_exec ( bContext C,
wmOperator op 
)
static

◆ wm_call_menu_get_name()

static const char* wm_call_menu_get_name ( wmOperatorType ot,
PointerRNA ptr 
)
static

◆ wm_call_panel_exec()

static int wm_call_panel_exec ( bContext C,
wmOperator op 
)
static

◆ wm_call_panel_get_name()

static const char* wm_call_panel_get_name ( wmOperatorType ot,
PointerRNA ptr 
)
static

◆ wm_call_pie_menu_exec()

static int wm_call_pie_menu_exec ( bContext C,
wmOperator op 
)
static

◆ wm_call_pie_menu_invoke()

static int wm_call_pie_menu_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

Definition at line 1888 of file wm_operators.c.

References BKE_ST_MAXNAME, C, wmOperator::ptr, RNA_string_get(), and UI_pie_menu_invoke().

Referenced by WM_OT_call_menu_pie().

◆ wm_context_member_from_ptr()

static const char* wm_context_member_from_ptr ( const bContext C,
const PointerRNA ptr,
bool r_is_id 
)
static
Parameters
r_is_id:
  • When set to true, the returned member is an ID type. This is a signal that RNA_path_from_ID_to_struct needs to be used to calculate the remainder of the RNA path.
  • When set to false, the returned member is not an ID type. In this case the context path must resolve to ptr, since there is no convenient way to calculate partial RNA paths.
Note
While the path to the ID is typically sufficient to calculate the remainder of the path, in practice this would cause WM_context_path_resolve_property_full to create a path such as: object.data.bones["Bones"].use_deform such paths are not useful for key-shortcuts, so this function supports returning data-paths directly to context members that aren't ID types.

Definition at line 384 of file wm_operators.c.

References bArmature::act_bone, bArmature::act_edbone, SpaceAction::ads, SpaceGraph::ads, SpaceNla::ads, C, CTX_TEST_PTR_ID, CTX_TEST_PTR_ID_CAST, CTX_wm_area(), CTX_wm_region(), CTX_wm_space_data(), ED_fileselect_get_active_params(), bArmature::edbo, GS, ID_AR, ID_CAST_OBDATA, ID_CAST_OBMATACT, ID_CAST_SCENEWORLD, ID_MA, ID_OB, ID_SCE, ID_SCR, id_type_can_have_animdata(), ID_WO, if(), ID::name, NULL, OB_DATA_SUPPORT_ID_CASE, PointerRNA::owner_id, params, ptr, View3D::shading, SPACE_ACTION, SPACE_FILE, SPACE_GRAPH, SPACE_IMAGE, SPACE_NLA, SPACE_VIEW3D, SpaceLink::spacetype, TEST_PTR_DATA_TYPE, and TEST_PTR_DATA_TYPE_FROM_CONTEXT.

Referenced by WM_context_path_resolve_property_full().

◆ WM_context_path_resolve_full()

char* WM_context_path_resolve_full ( bContext C,
const PointerRNA ptr 
)

◆ WM_context_path_resolve_property_full()

char* WM_context_path_resolve_property_full ( const bContext C,
const PointerRNA ptr,
PropertyRNA prop,
int  index 
)

◆ wm_debug_menu_exec()

static int wm_debug_menu_exec ( bContext C,
wmOperator op 
)
static

◆ wm_debug_menu_invoke()

static int wm_debug_menu_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

Definition at line 1654 of file wm_operators.c.

References C, G, wmOperator::ptr, RNA_int_set(), and WM_operator_props_dialog_popup().

Referenced by WM_OT_debug_menu().

◆ WM_enum_search_invoke()

int WM_enum_search_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)

◆ WM_enum_search_invoke_previews()

int WM_enum_search_invoke_previews ( struct bContext C,
struct wmOperator op,
short  prv_cols,
short  prv_rows 
)

Similar to WM_enum_search_invoke, but draws previews. Also, this can't be used as invoke callback directly since it needs additional info.

Definition at line 1131 of file wm_operators.c.

References C, NULL, EnumSearchMenu::op, OPERATOR_INTERFACE, EnumSearchMenu::prv_cols, EnumSearchMenu::prv_rows, UI_popup_block_invoke(), EnumSearchMenu::use_previews, and wm_enum_search_menu().

◆ wm_enum_search_menu()

static uiBlock* wm_enum_search_menu ( bContext C,
ARegion region,
void arg 
)
static

◆ wm_exit_blender_exec()

static int wm_exit_blender_exec ( bContext C,
wmOperator UNUSEDop 
)
static

Definition at line 2037 of file wm_operators.c.

References C, OPERATOR_FINISHED, and wm_exit_schedule_delayed().

Referenced by WM_OT_quit_blender().

◆ wm_exit_blender_invoke()

static int wm_exit_blender_invoke ( bContext C,
wmOperator UNUSEDop,
const wmEvent UNUSEDevent 
)
static

◆ WM_generic_select_invoke()

int WM_generic_select_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)

◆ WM_generic_select_modal()

int WM_generic_select_modal ( bContext C,
wmOperator op,
const wmEvent event 
)

◆ WM_menu_invoke()

int WM_menu_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)

Definition at line 1043 of file wm_operators.c.

References C, WM_menu_invoke_ex(), and WM_OP_INVOKE_REGION_WIN.

Referenced by ACTION_OT_easing_type(), ACTION_OT_extrapolation_type(), ACTION_OT_handle_type(), ACTION_OT_interpolation_type(), ACTION_OT_keyframe_insert(), ACTION_OT_keyframe_type(), ACTION_OT_mirror(), ACTION_OT_snap(), ANIM_OT_channels_setting_disable(), ANIM_OT_channels_setting_enable(), ANIM_OT_channels_setting_toggle(), ARMATURE_OT_autoside_names(), ARMATURE_OT_calculate_roll(), ARMATURE_OT_select_similar(), BOID_OT_rule_add(), COLLECTION_OT_objects_add_active(), COLLECTION_OT_objects_remove(), COLLECTION_OT_objects_remove_active(), CURVE_OT_delete(), CURVE_OT_handle_type_set(), CURVE_OT_select_similar(), CURVE_OT_spline_type_set(), datalayout_transfer_invoke(), GPENCIL_OT_convert(), GPENCIL_OT_delete(), GPENCIL_OT_dissolve(), GPENCIL_OT_reproject(), GPENCIL_OT_select_grouped(), GPENCIL_OT_stroke_editcurve_set_handle_type(), GPENCIL_OT_stroke_separate(), GRAPH_OT_easing_type(), GRAPH_OT_equalize_handles(), GRAPH_OT_extrapolation_type(), GRAPH_OT_fmodifier_add(), GRAPH_OT_handle_type(), GRAPH_OT_interpolation_type(), GRAPH_OT_keyframe_insert(), GRAPH_OT_mirror(), GRAPH_OT_snap(), LATTICE_OT_flip(), MARKER_OT_make_links_scene(), MASK_OT_handle_type_set(), MBALL_OT_select_similar(), MESH_OT_delete(), MESH_OT_merge(), MESH_OT_select_similar(), MESH_OT_separate(), MESH_OT_sort_elements(), NLA_OT_fmodifier_add(), NLA_OT_snap(), blender::ed::space_node::NODE_OT_select_grouped(), blender::ed::space_node::NODE_OT_tree_socket_change_type(), OBJECT_OT_constraint_add(), OBJECT_OT_constraint_add_with_targets(), OBJECT_OT_convert(), OBJECT_OT_data_transfer(), OBJECT_OT_empty_add(), OBJECT_OT_gpencil_add(), OBJECT_OT_gpencil_modifier_add(), OBJECT_OT_hook_remove(), OBJECT_OT_light_add(), OBJECT_OT_make_local(), OBJECT_OT_metaball_add(), OBJECT_OT_modifier_add(), OBJECT_OT_origin_set(), OBJECT_OT_parent_clear(), OBJECT_OT_select_by_type(), OBJECT_OT_select_grouped(), OBJECT_OT_select_linked(), OBJECT_OT_shaderfx_add(), OBJECT_OT_track_clear(), OBJECT_OT_track_set(), OBJECT_OT_vertex_group_set_active(), OUTLINER_OT_animdata_operation(), OUTLINER_OT_constraint_operation(), OUTLINER_OT_data_operation(), OUTLINER_OT_id_operation(), OUTLINER_OT_lib_operation(), OUTLINER_OT_liboverride_operation(), OUTLINER_OT_liboverride_troubleshoot_operation(), OUTLINER_OT_modifier_operation(), OUTLINER_OT_object_operation(), OUTLINER_OT_scene_operation(), PAINT_OT_weight_from_bones(), PAINT_OT_weight_sample_group(), PARTICLE_OT_delete(), POSE_OT_autoside_names(), POSE_OT_constraint_add(), POSE_OT_constraint_add_with_targets(), POSE_OT_rotation_mode_set(), POSE_OT_select_grouped(), POSELIB_OT_pose_move(), POSELIB_OT_pose_remove(), RIGIDBODY_OT_mass_calculate(), RIGIDBODY_OT_shape_change(), SCENE_OT_new(), SCENE_OT_new_sequencer(), SCENE_OT_view_layer_add(), SEQUENCER_OT_select_grouped(), SEQUENCER_OT_strip_modifier_copy(), UV_OT_select_similar(), VIEW3D_OT_bone_select_menu(), VIEW3D_OT_select_menu(), WM_OT_previews_clear(), and WM_OT_redraw_timer().

◆ WM_menu_invoke_ex()

int WM_menu_invoke_ex ( struct bContext C,
struct wmOperator op,
wmOperatorCallContext  opcontext 
)

◆ WM_operator_bl_idname()

size_t WM_operator_bl_idname ( char *  dst,
const char *  src 
)

Definition at line 128 of file wm_operators.c.

References BLI_str_toupper_ascii(), BLI_strncpy_rlen(), OP_MAX_TYPENAME, and src.

Referenced by WM_operatortype_find().

◆ WM_operator_check_ui_enabled()

bool WM_operator_check_ui_enabled ( const bContext C,
const char *  idname 
)

◆ WM_operator_confirm()

int WM_operator_confirm ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)

◆ WM_operator_confirm_message()

int WM_operator_confirm_message ( bContext C,
wmOperator op,
const char *  message 
)

◆ WM_operator_confirm_message_ex()

int WM_operator_confirm_message_ex ( struct bContext C,
struct wmOperator op,
const char *  title,
int  icon,
const char *  message,
wmOperatorCallContext  opcontext 
)

◆ WM_operator_confirm_or_exec()

int WM_operator_confirm_or_exec ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)

◆ wm_operator_defaults_exec()

static int wm_operator_defaults_exec ( bContext C,
wmOperator op 
)
static

◆ WM_operator_drop_load_path()

ID* WM_operator_drop_load_path ( struct bContext C,
struct wmOperator op,
short  idcode 
)

◆ WM_operator_filesel()

int WM_operator_filesel ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)

◆ WM_operator_filesel_ensure_ext_imtype()

bool WM_operator_filesel_ensure_ext_imtype ( wmOperator op,
const struct ImageFormatData im_format 
)

◆ WM_operator_last_properties_ensure()

void WM_operator_last_properties_ensure ( wmOperatorType ot,
PointerRNA ptr 
)

◆ WM_operator_last_properties_ensure_idprops()

IDProperty* WM_operator_last_properties_ensure_idprops ( wmOperatorType ot)

◆ WM_operator_last_properties_init()

bool WM_operator_last_properties_init ( wmOperator op)

◆ WM_operator_last_properties_store()

bool WM_operator_last_properties_store ( wmOperator op)

◆ WM_operator_last_redo()

wmOperator* WM_operator_last_redo ( const bContext C)

◆ WM_operator_properties_alloc()

void WM_operator_properties_alloc ( struct PointerRNA **  ptr,
struct IDProperty **  properties,
const char *  opstring 
)

◆ WM_operator_properties_clear()

void WM_operator_properties_clear ( PointerRNA ptr)

Definition at line 774 of file wm_operators.c.

References PointerRNA::data, IDP_ClearProperty(), and ptr.

Referenced by wm_macro_modal().

◆ WM_operator_properties_create()

void WM_operator_properties_create ( PointerRNA ptr,
const char *  opstring 
)

◆ WM_operator_properties_create_ptr()

void WM_operator_properties_create_ptr ( PointerRNA ptr,
wmOperatorType ot 
)

◆ WM_operator_properties_default()

bool WM_operator_properties_default ( struct PointerRNA ptr,
bool  do_update 
)

Set all props to their default.

Parameters
do_updateOnly update un-initialized props.
Note
There's nothing specific to operators here. This could be made a general function.

Definition at line 730 of file wm_operators.c.

References PROP_POINTER, ptr, RNA_property_is_set(), RNA_property_pointer_get(), RNA_property_pointer_type(), RNA_property_reset(), RNA_property_type(), RNA_STRUCT_BEGIN, and RNA_STRUCT_END.

Referenced by wm_keymap_item_find(), wm_keymap_item_find_in_keymap(), and WM_operator_type_set().

◆ WM_operator_properties_free()

void WM_operator_properties_free ( PointerRNA ptr)

◆ WM_operator_properties_reset()

void WM_operator_properties_reset ( struct wmOperator op)

◆ WM_operator_properties_sanitize()

void WM_operator_properties_sanitize ( struct PointerRNA ptr,
bool  no_context 
)

◆ WM_operator_props_dialog_popup()

int WM_operator_props_dialog_popup ( bContext C,
wmOperator op,
int  width 
)

◆ WM_operator_props_popup()

int WM_operator_props_popup ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)

◆ WM_operator_props_popup_call()

int WM_operator_props_popup_call ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)

Definition at line 1589 of file wm_operators.c.

References C, and wm_operator_props_popup_ex().

◆ WM_operator_props_popup_confirm()

int WM_operator_props_popup_confirm ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)

◆ wm_operator_props_popup_ex()

static int wm_operator_props_popup_ex ( bContext C,
wmOperator op,
const bool  do_call,
const bool  do_redo 
)
static

◆ WM_operator_py_idname()

size_t WM_operator_py_idname ( char *  dst,
const char *  src 
)

◆ WM_operator_py_idname_ok_or_report()

bool WM_operator_py_idname_ok_or_report ( struct ReportList reports,
const char *  classname,
const char *  idname 
)

Sanity check to ensure WM_operator_bl_idname won't fail.

Returns
true when there are no problems with idname, otherwise report an error.

Definition at line 144 of file wm_operators.c.

References BKE_reportf(), MAX_NAME, and RPT_ERROR.

◆ WM_operator_pystring()

char* WM_operator_pystring ( bContext C,
wmOperator op,
const bool  all_args,
const bool  macro_args 
)

◆ WM_operator_pystring_abbreviate()

bool WM_operator_pystring_abbreviate ( char *  str,
int  str_len_max 
)
Returns
true if the string was shortened.

Definition at line 272 of file wm_operators.c.

References str.

Referenced by ui_tooltip_text_python_from_op().

◆ WM_operator_pystring_ex()

char* WM_operator_pystring_ex ( struct bContext C,
struct wmOperator op,
bool  all_args,
bool  macro_args,
struct wmOperatorType ot,
struct PointerRNA opptr 
)

Operator as a Python command (resulting string must be freed).

Print a string representation of the operator, with the arguments that it runs so Python can run it again.

When calling from an existing wmOperator, better to use simple version: WM_operator_pystring(C, op);

Note
Both op and opptr may be NULL (op is only used for macro operators).

Definition at line 192 of file wm_operators.c.

References BLI_dynstr_append(), BLI_dynstr_appendf(), BLI_dynstr_free(), BLI_dynstr_get_cstring(), BLI_dynstr_new(), C, ListBase::first, wmOperatorType::idname, wmOperator::macro, wmOperatorType::macro, MEM_freeN, wmOperator::next, NULL, OP_MAX_TYPENAME, ot, wmOperator::ptr, RNA_pointer_as_string_id(), RNA_pointer_as_string_keywords(), wmOperator::type, WM_operator_properties_create_ptr(), WM_operator_properties_free(), and WM_operator_py_idname().

Referenced by copy_python_command_button_exec(), pyop_as_string(), ui_but_copy_operator(), ui_layout_introspect_button(), ui_tooltip_text_python_from_op(), and WM_operator_pystring().

◆ WM_operator_redo_popup()

int WM_operator_redo_popup ( bContext C,
wmOperator op 
)

◆ WM_operator_smooth_viewtx_get()

int WM_operator_smooth_viewtx_get ( const wmOperator op)

◆ wm_operator_ui_create()

static uiBlock* wm_operator_ui_create ( bContext C,
ARegion region,
void userData 
)
static

◆ WM_operator_ui_popup()

int WM_operator_ui_popup ( bContext C,
wmOperator op,
int  width 
)

◆ wm_operator_ui_popup_cancel()

static void wm_operator_ui_popup_cancel ( struct bContext C,
void userData 
)
static

◆ wm_operator_ui_popup_ok()

static void wm_operator_ui_popup_ok ( struct bContext C,
void arg,
int  retval 
)
static

Definition at line 1518 of file wm_operators.c.

References C, data, MEM_freeN, and WM_operator_call_ex().

Referenced by WM_operator_props_dialog_popup().

◆ WM_operator_view3d_unit_defaults()

void WM_operator_view3d_unit_defaults ( struct bContext C,
struct wmOperator op 
)

◆ WM_operator_winactive()

bool WM_operator_winactive ( struct bContext C)

◆ wm_operator_winactive_normal()

static bool wm_operator_winactive_normal ( bContext C)
static

◆ wm_operatortypes_register()

void wm_operatortypes_register ( void  )

◆ WM_OT_call_menu()

static void WM_OT_call_menu ( wmOperatorType ot)
static

◆ WM_OT_call_menu_pie()

static void WM_OT_call_menu_pie ( wmOperatorType ot)
static

◆ WM_OT_call_panel()

static void WM_OT_call_panel ( wmOperatorType ot)
static

◆ WM_OT_debug_menu()

static void WM_OT_debug_menu ( wmOperatorType ot)
static

◆ WM_OT_doc_view_manual_ui_context()

static void WM_OT_doc_view_manual_ui_context ( wmOperatorType ot)
static

◆ WM_OT_memory_statistics()

static void WM_OT_memory_statistics ( wmOperatorType ot)
static

◆ WM_OT_operator_defaults()

static void WM_OT_operator_defaults ( wmOperatorType ot)
static

◆ WM_OT_previews_clear()

static void WM_OT_previews_clear ( wmOperatorType ot)
static

◆ WM_OT_previews_ensure()

static void WM_OT_previews_ensure ( wmOperatorType ot)
static

◆ WM_OT_quit_blender()

static void WM_OT_quit_blender ( wmOperatorType ot)
static

◆ WM_OT_radial_control()

static void WM_OT_radial_control ( wmOperatorType ot)
static

◆ WM_OT_redraw_timer()

static void WM_OT_redraw_timer ( wmOperatorType ot)
static

◆ WM_OT_search_menu()

static void WM_OT_search_menu ( wmOperatorType ot)
static

◆ WM_OT_search_operator()

static void WM_OT_search_operator ( wmOperatorType ot)
static

◆ WM_OT_stereo3d_set()

static void WM_OT_stereo3d_set ( wmOperatorType ot)
static

◆ WM_OT_window_close()

static void WM_OT_window_close ( wmOperatorType ot)
static

◆ WM_OT_window_fullscreen_toggle()

static void WM_OT_window_fullscreen_toggle ( wmOperatorType ot)
static

◆ WM_OT_window_new()

static void WM_OT_window_new ( wmOperatorType ot)
static

◆ WM_OT_window_new_main()

static void WM_OT_window_new_main ( wmOperatorType ot)
static

◆ WM_paint_cursor_activate()

wmPaintCursor* WM_paint_cursor_activate ( short  space_type,
short  region_type,
bool(*)(bContext *C poll,
wmPaintCursorDraw  draw,
void customdata 
)

◆ WM_paint_cursor_end()

bool WM_paint_cursor_end ( wmPaintCursor handle)

◆ WM_paint_cursor_remove_by_type()

void WM_paint_cursor_remove_by_type ( wmWindowManager wm,
void draw_fn,
void(*)(void *)  free 
)

◆ WM_prop_pystring_assign()

char* WM_prop_pystring_assign ( bContext C,
PointerRNA ptr,
PropertyRNA prop,
int  index 
)

◆ wm_prop_pystring_from_context()

static char* wm_prop_pystring_from_context ( bContext C,
PointerRNA ptr,
PropertyRNA prop,
int  index 
)
static

◆ wm_search_menu_exec()

static int wm_search_menu_exec ( bContext UNUSEDC,
wmOperator UNUSEDop 
)
static

Definition at line 1775 of file wm_operators.c.

References OPERATOR_FINISHED.

Referenced by WM_OT_search_menu(), and WM_OT_search_operator().

◆ wm_search_menu_invoke()

static int wm_search_menu_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ wm_window_keymap()

void wm_window_keymap ( wmKeyConfig keyconf)

Variable Documentation

◆ preview_id_type_items

const EnumPropertyItem preview_id_type_items[]
static
Initial value:
= {
{PREVIEW_FILTER_ALL, "ALL", 0, "All Types", ""},
"GEOMETRY",
0,
"All Geometry Types",
"Clear previews for scenes, collections and objects"},
"SHADING",
0,
"All Shading Types",
"Clear previews for materials, lights, worlds, textures and images"},
{PREVIEW_FILTER_SCENE, "SCENE", 0, "Scenes", ""},
{PREVIEW_FILTER_COLLECTION, "COLLECTION", 0, "Collections", ""},
{PREVIEW_FILTER_OBJECT, "OBJECT", 0, "Objects", ""},
{PREVIEW_FILTER_MATERIAL, "MATERIAL", 0, "Materials", ""},
{PREVIEW_FILTER_LIGHT, "LIGHT", 0, "Lights", ""},
{PREVIEW_FILTER_WORLD, "WORLD", 0, "Worlds", ""},
{PREVIEW_FILTER_TEXTURE, "TEXTURE", 0, "Textures", ""},
{PREVIEW_FILTER_IMAGE, "IMAGE", 0, "Images", ""},
{0, NULL, 0, NULL, NULL},
}
@ PREVIEW_FILTER_WORLD
@ PREVIEW_FILTER_TEXTURE
@ PREVIEW_FILTER_GEOMETRY
@ PREVIEW_FILTER_LIGHT
@ PREVIEW_FILTER_MATERIAL
@ PREVIEW_FILTER_COLLECTION
@ PREVIEW_FILTER_ALL
@ PREVIEW_FILTER_IMAGE
@ PREVIEW_FILTER_OBJECT
@ PREVIEW_FILTER_SCENE
@ PREVIEW_FILTER_SHADING

Definition at line 3511 of file wm_operators.c.

Referenced by WM_OT_previews_clear().

◆ redraw_timer_type_items

const EnumPropertyItem redraw_timer_type_items[]
static
Initial value:
= {
{eRTDrawRegion, "DRAW", 0, "Draw Region", "Draw region"},
{eRTDrawRegionSwap, "DRAW_SWAP", 0, "Draw Region & Swap", "Draw region and swap"},
{eRTDrawWindow, "DRAW_WIN", 0, "Draw Window", "Draw window"},
{eRTDrawWindowSwap, "DRAW_WIN_SWAP", 0, "Draw Window & Swap", "Draw window and swap"},
{eRTAnimationStep, "ANIM_STEP", 0, "Animation Step", "Animation steps"},
{eRTAnimationPlay, "ANIM_PLAY", 0, "Animation Play", "Animation playback"},
{eRTUndo, "UNDO", 0, "Undo/Redo", "Undo and redo"},
{0, NULL, 0, NULL, NULL},
}
@ eRTDrawWindowSwap
@ eRTAnimationStep
@ eRTDrawRegionSwap
@ eRTDrawWindow
@ eRTUndo
@ eRTDrawRegion
@ eRTAnimationPlay

Definition at line 3204 of file wm_operators.c.

Referenced by redraw_timer_exec(), and WM_OT_redraw_timer().