60 {0,
nullptr, 0,
nullptr,
nullptr},
106static void rna_Operator_report(
wmOperator *op,
int type,
const char *msg)
130 if (win ==
nullptr) {
154 if (gzgt ==
nullptr) {
165static void rna_gizmo_group_type_ensure(
ReportList *reports,
const char *idname)
167 wmGizmoGroupType *gzgt = wm_gizmogrouptype_find_for_add_remove(reports, idname);
168 if (gzgt !=
nullptr) {
173static void rna_gizmo_group_type_unlink_delayed(
ReportList *reports,
const char *idname)
175 wmGizmoGroupType *gzgt = wm_gizmogrouptype_find_for_add_remove(reports, idname);
176 if (gzgt !=
nullptr) {
182static struct wmStaticProgress {
186} wm_progress_state = {0, 0,
false};
192 wm_progress_state.min =
min;
193 wm_progress_state.max =
max;
194 wm_progress_state.is_valid =
true;
197 wm_progress_state.is_valid =
false;
203 if (wm_progress_state.is_valid) {
207 const float progress_factor = (value - wm_progress_state.min) /
208 (wm_progress_state.max - wm_progress_state.min);
216 if (wm_progress_state.is_valid) {
220 wm_progress_state.is_valid =
false;
226static int rna_Operator_confirm(
bContext *
C,
231 const char *confirm_text,
233 const char *text_ctxt,
234 const bool translate)
237 title, text_ctxt,
nullptr,
nullptr, translate);
239 message, text_ctxt,
nullptr,
nullptr, translate);
241 confirm_text, text_ctxt,
nullptr,
nullptr, translate);
244 title_str ? title_str->c_str() :
nullptr,
245 message_str ? message_str->c_str() :
nullptr,
246 confirm_text_str ? confirm_text_str->c_str() :
nullptr,
255static int rna_Operator_props_dialog_popup(
bContext *
C,
259 const char *confirm_text,
260 const bool cancel_default,
261 const char *text_ctxt,
262 const bool translate)
265 title, text_ctxt,
nullptr,
nullptr, translate);
267 confirm_text, text_ctxt,
nullptr,
nullptr, translate);
272 title_str ? std::make_optional<std::string>(*title_str) : std::nullopt,
273 confirm_text_str ? std::make_optional<std::string>(*confirm_text_str) : std::nullopt,
277static int16_t keymap_item_modifier_flag_from_args(
278 bool any,
int shift,
int ctrl,
int alt,
int oskey,
int hyper)
285# define MOD_VAR_ASSIGN_FLAG(mod_var, mod_flag) \
286 if (mod_var == KM_MOD_HELD) { \
287 modifier |= mod_flag; \
289 else if (mod_var == KM_ANY) { \
290 modifier |= KMI_PARAMS_MOD_TO_ANY(mod_flag); \
294 MOD_VAR_ASSIGN_FLAG(shift,
KM_SHIFT);
295 MOD_VAR_ASSIGN_FLAG(ctrl,
KM_CTRL);
296 MOD_VAR_ASSIGN_FLAG(alt,
KM_ALT);
297 MOD_VAR_ASSIGN_FLAG(oskey,
KM_OSKEY);
298 MOD_VAR_ASSIGN_FLAG(hyper,
KM_HYPER);
300# undef MOD_VAR_ASSIGN_FLAG
336 params.modifier = keymap_item_modifier_flag_from_args(
any, shift, ctrl, alt, oskey, hyper);
337 params.keymodifier = keymodifier;
338 params.direction = direction;
381 const char *propvalue_str,
406 params.modifier = keymap_item_modifier_flag_from_args(
any, shift, ctrl, alt, oskey, hyper);
407 params.keymodifier = keymodifier;
408 params.direction = direction;
455static PointerRNA rna_KeyMap_item_find_from_operator(
ID *
id,
466 km, idname_bl,
static_cast<IDProperty *
>(properties->
data), include_mask, exclude_mask);
493 if (keyconf == wm->
runtime->addonconf) {
508 if (keymap && tool) {
536 return ot->modalkeymap;
546 "KeyMap '%s' not found in KeyConfig '%s'",
556static void rna_KeyMaps_clear(
wmKeyConfig *keyconfig)
602static void rna_KeyConfig_update(
wmWindowManager *wm,
bool keep_properties)
623 if (!rna_popup_context_ok_or_report(
C, reports)) {
640 const int ui_units_x,
641 const bool from_active_button)
643 if (!rna_popup_context_ok_or_report(
C, reports)) {
661 if (!rna_popup_context_ok_or_report(
C, reports)) {
666 C, title, icon,
static_cast<const wmEvent *
>(event->
data));
682static void rna_WindowManager_tag_script_reload()
688static PointerRNA rna_WindoManager_operator_properties_last(
const char *idname)
734 if (unicode !=
nullptr) {
742 if (unicode !=
nullptr) {
744 if (
len == -1 || unicode[
len] !=
'\0') {
774 e.utf8_buf[0] =
'\0';
775 if (unicode !=
nullptr) {
787# define WM_GEN_INVOKE_EVENT (1 << 0)
788# define WM_GEN_INVOKE_SIZE (1 << 1)
789# define WM_GEN_INVOKE_RETURN (1 << 2)
796 parm =
RNA_def_pointer(func,
"operator",
"Operator",
"",
"Operator to call");
805 RNA_def_int(func,
"width", 300, 0, INT_MAX,
"",
"Width of the popup", 0, INT_MAX);
821 parm =
RNA_def_int(func,
"x", 0, INT_MIN, INT_MAX,
"",
"", INT_MIN, INT_MAX);
823 parm =
RNA_def_int(func,
"y", 0, INT_MIN, INT_MAX,
"",
"", INT_MIN, INT_MAX);
839 func =
RNA_def_function(srna,
"cursor_modal_restore",
"WM_cursor_modal_restore");
841 func,
"Restore the previous cursor after calling ``cursor_modal_set``");
844 func =
RNA_def_function(srna,
"event_simulate",
"rna_Window_event_add_simulate");
853 RNA_def_int(func,
"x", 0, INT_MIN, INT_MAX,
"",
"", INT_MIN, INT_MAX);
854 RNA_def_int(func,
"y", 0, INT_MIN, INT_MAX,
"",
"", INT_MIN, INT_MAX);
861 parm =
RNA_def_pointer(func,
"event",
"Event",
"Item",
"Added key map item");
871 {0,
nullptr, 0,
nullptr,
nullptr},
885 func =
RNA_def_function(srna,
"modal_handler_add",
"rna_event_modal_handler_add");
888 "Add a modal handler to the window manager, for the given modal operator "
889 "(called by invoke() with self, just before returning {'RUNNING_MODAL'})");
891 parm =
RNA_def_pointer(func,
"operator",
"Operator",
"",
"Operator to call");
895 RNA_def_boolean(func,
"handle",
true,
"",
"Whether adding the handler was successful"));
899 func,
"Add a timer to the given window, to generate periodic 'TIMER' events");
904 RNA_def_pointer(func,
"window",
"Window",
"",
"Window to attach the timer to, or None");
908 func =
RNA_def_function(srna,
"event_timer_remove",
"rna_event_timer_remove");
912 func =
RNA_def_function(srna,
"gizmo_group_type_ensure",
"rna_gizmo_group_type_ensure");
914 func,
"Activate an existing widget group (when the persistent option isn't set)");
916 parm =
RNA_def_string(func,
"identifier",
nullptr, 0,
"",
"Gizmo group type name");
920 srna,
"gizmo_group_type_unlink_delayed",
"rna_gizmo_group_type_unlink_delayed");
922 "Unlink a widget group (when the persistent option is set)");
924 parm =
RNA_def_string(func,
"identifier",
nullptr, 0,
"",
"Gizmo group type name");
942 parm,
"value",
"Any value between min and max as set in progress_begin()");
948 func =
RNA_def_function(srna,
"invoke_props_popup",
"rna_Operator_props_popup");
951 "Operator popup invoke "
952 "(show operator properties and execute it automatically on changes)");
956 func =
RNA_def_function(srna,
"invoke_props_dialog",
"rna_Operator_props_dialog_popup");
959 "Operator dialog (non-autoexec popup) invoke "
960 "(show operator properties and only execute it on click on OK button)");
969 "Optional text to show instead to the default \"OK\" confirmation button text");
974 func =
RNA_def_function(srna,
"invoke_search_popup",
"rna_Operator_enum_search_invoke");
977 "Operator search popup invoke which "
978 "searches values of the operator's :class:`bpy.types.Operator.bl_property` "
979 "(which must be an EnumProperty), executing it on confirmation");
985 "Operator popup invoke "
986 "(only shows operator's properties, without executing it)");
992 "Operator confirmation popup "
993 "(only to let user confirm the execution, no operator properties shown)");
1006 "Optional text to show instead to the default \"OK\" confirmation button text");
1016 func =
RNA_def_function(srna,
"popmenu_begin__internal",
"rna_PopMenuBegin");
1034 func =
RNA_def_function(srna,
"popover_begin__internal",
"rna_PopoverBegin");
1042 func,
"from_active_button",
false,
"Use Button",
"Use the active button for positioning");
1049 RNA_def_pointer(func,
"keymap",
"KeyMap",
"Key Map",
"Active key map");
1052 func =
RNA_def_function(srna,
"piemenu_begin__internal",
"rna_PieMenuBegin");
1073 srna,
"operator_properties_last",
"rna_WindoManager_operator_properties_last");
1082 RNA_def_function(srna,
"print_undo_steps",
"rna_WindowManager_print_undo_steps");
1085 func =
RNA_def_function(srna,
"tag_script_reload",
"rna_WindowManager_tag_script_reload");
1087 func,
"Tag for refreshing the interface after scripts have been reloaded");
1094 "Is Interface Locked",
1095 "If true, the interface is currently locked by a running job and data should not be "
1096 "modified from application timers. Otherwise, the running job might conflict with the "
1097 "handler causing unexpected results or even crashes.");
1110 parm =
RNA_def_string(func,
"message",
nullptr, 0,
"Report Message",
"");
1145 func,
"Check the operator settings, return True to signal a change to redraw");
1198 parm =
RNA_def_string(func,
"result",
nullptr, 4096,
"result",
"");
1204 parm =
RNA_def_pointer(func,
"properties",
"OperatorProperties",
"",
"");
1217 parm =
RNA_def_string(func,
"message",
nullptr, 0,
"Report Message",
"");
1251 parm =
RNA_def_pointer(func,
"keymap",
"KeyMap",
"Key Map",
"Active key map");
1254 func =
RNA_def_function(srna,
"restore_to_default",
"rna_keymap_restore_to_default");
1257 func =
RNA_def_function(srna,
"restore_item_to_default",
"rna_keymap_restore_item_to_default");
1271 parm =
RNA_def_boolean(func,
"result",
false,
"Comparison result",
"");
1288 parm =
RNA_def_string(func,
"idname",
nullptr, 0,
"Operator Identifier",
"");
1302 RNA_def_boolean(func,
"repeat",
false,
"Repeat",
"When set, accept key-repeat events");
1307 "Force item to be added at start (not end) of key map so that "
1308 "it doesn't get blocked by an existing key map item");
1309 parm =
RNA_def_pointer(func,
"item",
"KeyMapItem",
"Item",
"Added key map item");
1314 parm =
RNA_def_string(func,
"propvalue",
nullptr, 0,
"Property Value",
"");
1328 RNA_def_boolean(func,
"repeat",
false,
"Repeat",
"When set, accept key-repeat events");
1329 parm =
RNA_def_pointer(func,
"item",
"KeyMapItem",
"Item",
"Added key map item");
1332 func =
RNA_def_function(srna,
"new_from_item",
"rna_KeyMap_item_new_from_item");
1334 parm =
RNA_def_pointer(func,
"item",
"KeyMapItem",
"Item",
"Item to use as a reference");
1337 parm =
RNA_def_pointer(func,
"result",
"KeyMapItem",
"Item",
"Added key map item");
1355 func =
RNA_def_function(srna,
"find_from_operator",
"rna_KeyMap_item_find_from_operator");
1357 parm =
RNA_def_string(func,
"idname",
nullptr, 0,
"Operator Identifier",
"");
1359 parm =
RNA_def_pointer(func,
"properties",
"OperatorProperties",
"",
"");
1370 parm =
RNA_def_pointer(func,
"keymap",
"KeyMap",
"",
"The matching keymap");
1372 parm =
RNA_def_pointer(func,
"item",
"KeyMapItem",
"",
"The matching keymap item");
1378 "The keymap item from this keymap which matches the keymap item from the "
1379 "arguments passed in");
1383 func =
RNA_def_function(srna,
"match_event",
"rna_KeyMap_item_match_event");
1401 "Ensure the keymap exists. This will return the one with the given name/space type/region "
1402 "type, or create a new one if it does not exist yet.");
1409 RNA_def_boolean(func,
"modal",
false,
"Modal",
"Keymap for modal operators");
1410 RNA_def_boolean(func,
"tool",
false,
"Tool",
"Keymap for active tools");
1411 parm =
RNA_def_pointer(func,
"keymap",
"KeyMap",
"Key Map",
"Added key map");
1416 parm =
RNA_def_pointer(func,
"keymap",
"KeyMap",
"Key Map",
"Removed key map");
1429 parm =
RNA_def_pointer(func,
"keymap",
"KeyMap",
"Key Map",
"Corresponding key map");
1433 parm =
RNA_def_pointer(func,
"keymap",
"KeyMap",
"Key Map",
"The key map for comparison");
1435 parm =
RNA_def_pointer(func,
"result",
"KeyMap",
"Key Map",
"Corresponding key map");
1439 parm =
RNA_def_string(func,
"name",
nullptr, 0,
"Operator Name",
"");
1441 parm =
RNA_def_pointer(func,
"keymap",
"KeyMap",
"Key Map",
"Corresponding key map");
1454 func,
"keyconfig",
"KeyConfig",
"Key Configuration",
"Added key configuration");
1460 func,
"keyconfig",
"KeyConfig",
"Key Configuration",
"Removed key configuration");
1468 srna,
"find_item_from_operator",
"rna_KeyConfig_find_item_from_operator");
1470 parm =
RNA_def_string(func,
"idname",
nullptr, 0,
"Operator Identifier",
"");
1474 parm =
RNA_def_pointer(func,
"properties",
"OperatorProperties",
"",
"");
1491 "Operator properties are kept to allow the operators to be registered again in the future");
ScrArea * CTX_wm_area(const bContext *C)
wmWindow * CTX_wm_window(const bContext *C)
ARegion * CTX_wm_region(const bContext *C)
wmWindowManager * CTX_wm_manager(const bContext *C)
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
void BKE_undosys_print(UndoStack *ustack)
int BLI_findindex(const ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_remlink(ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_addhead(ListBase *listbase, void *vlink) ATTR_NONNULL(1)
char * STRNCPY(char(&dst)[N], const char *src)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
const char int BLI_str_utf8_size_or_error(const char *p) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void UI_popover_end(bContext *C, uiPopover *pup, wmKeyMap *keymap)
uiPopover * UI_popover_begin(bContext *C, int ui_menu_width, bool from_active_button) ATTR_NONNULL(1)
void UI_popup_menu_end(bContext *C, uiPopupMenu *pup)
uiPieMenu * UI_pie_menu_begin(bContext *C, const char *title, int icon, const wmEvent *event) ATTR_NONNULL()
uiPopupMenu * UI_popup_menu_begin(bContext *C, const char *title, int icon) ATTR_NONNULL()
void UI_pie_menu_end(bContext *C, uiPieMenu *pie)
#define UI_MAX_SHORTCUT_STR
@ WM_GIZMOGROUPTYPE_PERSISTENT
BMesh const char void * data
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
bool any(VecOp< bool, D >) RET
bool RNA_enum_value_from_id(const EnumPropertyItem *item, const char *identifier, int *r_value)
const PointerRNA PointerRNA_NULL
std::optional< blender::StringRefNull > RNA_translate_ui_text(const char *text, const char *text_ctxt, StructRNA *type, PropertyRNA *prop, int translate)
PointerRNA RNA_pointer_create_discrete(ID *id, StructRNA *type, void *data)
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t booleanbit)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, const int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
void RNA_def_property_enum_default(PropertyRNA *prop, int value)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
PropertyRNA * RNA_def_enum_flag(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
void RNA_def_function_flag(FunctionRNA *func, int flag)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, const bool default_value, const char *ui_name, const char *ui_description)
void RNA_def_function_output(FunctionRNA *, PropertyRNA *ret)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, const int default_value, const int hardmin, const int hardmax, const char *ui_name, const char *ui_description, const int softmin, const int softmax)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void api_ui_item_common_translation(FunctionRNA *func)
const EnumPropertyItem rna_enum_region_type_items[]
const EnumPropertyItem rna_enum_space_type_items[]
const EnumPropertyItem rna_enum_operator_context_items[]
const EnumPropertyItem rna_enum_icon_items[]
const EnumPropertyItem rna_enum_event_direction_items[]
const EnumPropertyItem rna_enum_event_value_items[]
const EnumPropertyItem rna_enum_event_type_mask_items[]
const EnumPropertyItem rna_enum_event_type_items[]
const EnumPropertyItem rna_enum_wm_report_items[]
const EnumPropertyItem rna_enum_operator_return_items[]
void RNA_api_keymapitem(StructRNA *srna)
#define WM_GEN_INVOKE_EVENT
void RNA_api_window(StructRNA *srna)
void RNA_api_wm(StructRNA *srna)
#define WM_GEN_INVOKE_SIZE
void RNA_api_keyconfigs(StructRNA *srna)
const EnumPropertyItem rna_operator_popup_icon_items[]
void RNA_api_macro(StructRNA *srna)
void RNA_api_keymap(StructRNA *srna)
void RNA_api_keymapitems(StructRNA *srna)
#define WM_GEN_INVOKE_RETURN
void RNA_api_keyconfig(StructRNA *)
void RNA_api_keymaps(StructRNA *srna)
const EnumPropertyItem rna_enum_window_cursor_items[]
static void rna_generic_op_invoke(FunctionRNA *func, int flag)
void RNA_api_operator(StructRNA *srna)
eWM_GizmoFlagGroupTypeFlag flag
struct ReportList * reports
WindowManagerRuntimeHandle * runtime
struct wmEvent * eventstate
void WM_cursor_progress(wmWindow *win, float progress_factor)
void WM_cursor_modal_restore(wmWindow *win)
wmEvent * WM_event_add_simulate(wmWindow *win, const wmEvent *event_to_add)
void WM_main_add_notifier(uint type, void *reference)
void WM_event_tablet_data_default_set(wmTabletData *tablet_data)
wmEventHandler_Op * WM_event_add_modal_handler_ex(wmWindow *win, ScrArea *area, ARegion *region, wmOperator *op)
bool WM_operator_is_repeat(const bContext *C, const wmOperator *op)
wmKeyMapItem * WM_event_match_keymap_item(bContext *C, wmKeyMap *keymap, const wmEvent *event)
#define ISMOUSE_BUTTON(event_type)
#define ISMOUSE_MOTION(event_type)
#define ISKEYBOARD(event_type)
#define EVT_TYPE_MASK_ALL
bool WM_gizmo_group_type_ensure_ptr(wmGizmoGroupType *gzgt)
void WM_gizmo_group_type_unlink_delayed_ptr(wmGizmoGroupType *gzgt)
wmGizmoGroupType * WM_gizmogrouptype_find(const StringRef idname, bool quiet)
void WM_script_tag_reload()
void WM_keyconfig_clear(wmKeyConfig *keyconf)
void WM_keymap_item_restore_to_default(wmWindowManager *wm, wmKeyMap *keymap, wmKeyMapItem *kmi)
void WM_keymap_restore_to_default(wmKeyMap *keymap, wmWindowManager *wm)
wmKeyMapItem * WM_keymap_add_item_copy(wmKeyMap *keymap, wmKeyMapItem *kmi_src)
wmKeyMap * WM_modalkeymap_ensure(wmKeyConfig *keyconf, const char *idname, const EnumPropertyItem *items)
wmKeyMapItem * WM_key_event_operator_from_keymap(wmKeyMap *keymap, const char *opname, IDProperty *properties, const short include_mask, const short exclude_mask)
wmKeyMapItem * WM_modalkeymap_add_item(wmKeyMap *km, const KeyMapItem_Params *params, int value)
void WM_keyconfig_update_ex(wmWindowManager *wm, bool keep_properties)
wmKeyConfig * WM_keyconfig_ensure(wmWindowManager *wm, const char *idname, bool user_defined)
wmKeyMap * WM_keymap_active(const wmWindowManager *wm, wmKeyMap *keymap)
wmKeyMapItem * WM_keymap_item_find_match(wmKeyMap *km_base, wmKeyMap *km_match, wmKeyMapItem *kmi_match, ReportList *reports)
wmKeyMapItem * WM_keymap_add_item(wmKeyMap *keymap, const char *idname, const KeyMapItem_Params *params)
std::optional< std::string > WM_keymap_item_to_string(const wmKeyMapItem *kmi, const bool compact)
void WM_keymap_remove(wmKeyConfig *keyconf, wmKeyMap *keymap)
wmKeyMap * WM_keymap_ensure(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid)
wmKeyMap * WM_keymap_list_find(ListBase *lb, const char *idname, int spaceid, int regionid)
wmKeyMapItem * WM_modalkeymap_add_item_str(wmKeyMap *km, const KeyMapItem_Params *params, const char *value)
void WM_keyconfig_remove(wmWindowManager *wm, wmKeyConfig *keyconf)
void WM_keymap_remove_item(wmKeyMap *keymap, wmKeyMapItem *kmi)
bool WM_keymap_item_compare(const wmKeyMapItem *k1, const wmKeyMapItem *k2)
wmKeyMapItem * WM_key_event_operator(const bContext *C, const char *opname, blender::wm::OpCallContext opcontext, IDProperty *properties, const short include_mask, const short exclude_mask, wmKeyMap **r_keymap)
wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)
void WM_operator_last_properties_ensure(wmOperatorType *ot, PointerRNA *ptr)
wmOperatorStatus WM_operator_props_dialog_popup(bContext *C, wmOperator *op, int width, std::optional< std::string > title, std::optional< std::string > confirm_text, const bool cancel_default, std::optional< std::string > message)
size_t WM_operator_bl_idname(char *dst, const char *src)
wmOperatorStatus WM_operator_confirm_ex(bContext *C, wmOperator *op, const char *title, const char *message, const char *confirm_text, int icon, bool cancel_default)
wmOperatorStatus WM_enum_search_invoke(bContext *C, wmOperator *op, const wmEvent *)
wmOperatorStatus WM_operator_ui_popup(bContext *C, wmOperator *op, int width)
wmOperatorStatus WM_operator_props_popup(bContext *C, wmOperator *op, const wmEvent *)
wmTimer * WM_event_timer_add(wmWindowManager *wm, wmWindow *win, const wmEventType event_type, const double time_step)
void WM_event_timer_remove(wmWindowManager *wm, wmWindow *, wmTimer *timer)